Reforme as aplicações Linux para contentores

A integração do Migrate to Containers com o Cloud Code permite-lhe modernizar componentes de aplicações Linux executados em máquinas virtuais (VMs) e gerar artefactos que podem ser implementados no Google Kubernetes Engine e no Cloud Run, diretamente no seu IDE, através de uma máquina Linux.

Neste guia, vai aprender a mudar a plataforma de uma aplicação existente para um contentor do GKE através da extensão do Cloud Code no seu IDE numa máquina Linux.

Este guia destina-se a programadores numa máquina Linux que tenham conhecimentos práticos do VS Code, estejam familiarizados com o Trusted Cloud by S3NSe tenham uma VM a executar o componente da respetiva aplicação.

Antes de começar

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Enable the Google Kubernetes Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  4. Instale a extensão Cloud Code se ainda não o fez.
  5. Crie e configure um cluster do GKE.
  6. Certifique-se de que sabe que tipo de migração quer fazer. Para mais informações sobre as cargas de trabalho suportadas, consulte Reveja as versões compatíveis do SO, das cargas de trabalho e do Kubernetes.
  7. Prepare as máquinas de origem e locais para a modernização. O Cloud Code só suporta o Linux para modernização.
  8. Adicione uma origem de replataforma

    Nesta secção, instala a CLI do cliente de descoberta do Migration Center (mcdc) e outras ferramentas do Migrate to Containers na sua máquina local, se ainda não o tiver feito, e adiciona uma origem de replataforma seguindo estes passos:

    1. Na barra de atividade do IDE, clique em Cloud Code e, de seguida, expanda o explorador Replatform Apps.

    2. Se for a primeira vez que usa a ferramenta Migrate to Containers no Cloud Code, tem de instalar a CLI e outras ferramentas do Migrate to Containers no seu computador local clicando em Instalar ferramentas.mcdc Caso contrário, avance para o passo seguinte.

    3. Clique em Editar origens. Esta ação abre um ficheiro mcdc-sources.json vazio. Adicione as suas fontes no seguinte formato:

      [
        {
          "title": "SOURCE_NAME",
          "host": "HOSTNAME",
          "user": "USER",
          "identityFile":"IDENTITY-FILE-PATH"
        }
      ]
      
    4. Para ver as origens no explorador Replataformar apps, passe o ponteiro do rato sobre o explorador Replataformar apps e clique no botão em cache Recarregar origens apresentado.

    Opcional: gere uma avaliação de adequação

    Antes de tentar mudar a plataforma da sua aplicação para um contentor, recomendamos que gere uma avaliação de adequação da sua origem, que lhe envia uma notificação se a sua origem for capaz de mudar a plataforma de um contentor.

    Para gerar uma avaliação de adequação da sua origem, clique com o botão direito do rato na origem e selecione Avaliar origem. Esta ação abre o terminal no IDE e apresenta os registos da avaliação da sua origem.

    Quando a avaliação estiver concluída, o mcdc gera um relatório de avaliação de adequação no seu IDE.

    Se as suas fontes forem comunicadas como Adequadas, pode voltar a criar a sua aplicação.

    Mude a plataforma da sua aplicação

    O Cloud Code cria um espaço de trabalho dedicado para cada replataforma e permite-lhe executar as tarefas Copiar, Analisar e Gerar no espaço de trabalho para automatizar os passos de replataforma. Se executar a tarefa Gerar sem executar primeiro as tarefas Copiar e Analisar, estas são executadas automaticamente antes de gerar artefactos.

    As secções seguintes explicam como realizar cada uma destas tarefas e reestruturar a sua aplicação para um contentor através do Cloud Code.

    Para saber mais acerca do ciclo de vida de uma migração, consulte o artigo Migre para a arquitetura da CLI de contentores.

    Crie um novo espaço de trabalho de replataforma

    Antes de criar um novo espaço de trabalho de replataforma, tem de saber que parâmetros de migração selecionar para o seu tipo de migração. Para mais informações acerca dos parâmetros de cada tipo de migração, consulte Crie um plano de migração.

    Para criar um novo espaço de trabalho de replataforma com artefactos no seu IDE, siga estes passos:

    1. No explorador Replataformar apps, clique com o botão direito do rato na origem que quer replataformar e, de seguida, clique em Replatformar.

    2. Na lista de opções apresentadas no menu, selecione um percurso de replataformação.

    3. Selecione um novo diretório do espaço de trabalho para replataformar a sua aplicação, clique em OK e, de seguida, clique em Criar espaço de trabalho de replataformação.

    4. Selecione os parâmetros de migração para o seu tipo de migração.

    5. Opcional: se selecionou o tipo de migração do WebSphere e quer usar um analisador binário, selecione o ficheiro binaryAppScanner.jar.

      A geração do espaço de trabalho demora alguns segundos. Esta ação abre o novo diretório do espaço de trabalho numa nova janela do IDE.

    Copie ficheiros da sua VM para o seu espaço de trabalho

    Para copiar os ficheiros da VM para o seu espaço de trabalho no IDE, siga os passos abaixo:

    1. Opcional: a CLI aplica filtros para reduzir o tamanho da cópia, mas pode modificar o ficheiro filters.txt para reduzir ainda mais o tamanho da cópia.mcdc Para saber como reduzir o tamanho da cópia, consulte o artigo Reduza o tamanho do sistema de ficheiros copiado.

    2. Abra a paleta de comandos premindo Ctrl+Shift+P.

    3. Pesquise e selecione Tasks: Run Task e, de seguida, selecione m2c: Copy. A cópia de ficheiros pode demorar alguns minutos.

    Analise o sistema de ficheiros da VM e gere um plano de migração

    Para analisar o sistema de ficheiros da VM e gerar um plano de migração, siga os passos seguintes:

    1. Abra a paleta de comandos premindo Ctrl+Shift+P.

    2. Pesquise e selecione Tasks: Run Task e, de seguida, selecione m2c: Analyze.

      Se a tarefa de análise falhar, tem de modificar os parâmetros de migração através do ficheiro analyze-args.ini. Este ficheiro tem uma linha por parâmetro com documentação acompanhante sobre o parâmetro.

      Quando a análise é bem-sucedida, o Cloud Code cria um diretório denominado migration-plan que contém os resultados da análise sob a forma de um ficheiro config.yaml. Pode editar este ficheiro para alterar a forma como os seus artefactos são gerados.

      A estrutura do ficheiro config.yaml varia consoante o tipo de migração. Para mais informações sobre os tipos de migração suportados, consulte as seguintes páginas:

    Gere artefactos

    Para gerar artefactos, tem de executar a tarefa Generate no IDE. Se ainda não tiver executado as tarefas Copiar e Analisar nas secções anteriores, a tarefa Gerar executa-as automaticamente antes de gerar artefactos.

    Para gerar os artefactos, siga estes passos:

    1. Abra a paleta de comandos premindo Ctrl+Shift+P.

    2. Pesquise e selecione Tasks: Run Task e, de seguida, selecione m2c: Generate. Isto gera os artefactos no diretório src, que contém um ficheiro skaffold.yaml usado para criar e implementar uma imagem de contentor. Cada tipo de migração gera artefactos diferentes, mas todos os tipos de migração criam normalmente um ou mais ficheiros Docker e uma especificação de implementação do GKE que o skaffold.yaml referencia.

      Quando a geração de artefactos estiver concluída, a replataformação da sua aplicação está terminada!

    3. Opcional: se quiser modificar o plano de migração, edite o config.yaml ficheiro e volte a executar a tarefa m2c: Generate.

      Caso contrário, se estiver satisfeito com os resultados da replataforma, pode continuar a executar a sua aplicação num contentor do GKE.

    Execute a sua aplicação num contentor do GKE

    Nesta secção, executa a sua aplicação replataformada num contentor do GKE, vê os registos da aplicação em execução e limpa os recursos.

    Se ainda não criou nem configurou um cluster do GKE, siga as instruções em Crie e configure um cluster do GKE no Cloud Code para VS Code.

    Para saber mais sobre a depuração de aplicações do GKE, consulte o artigo Depure aplicações do Kubernetes com o Cloud Code para VS Code.

    Execute e veja a sua aplicação

    Agora que está tudo configurado, pode executar a aplicação e vê-la em direto. O Cloud Code monitoriza o seu sistema de ficheiros para detetar alterações, para que possa editar e executar novamente a sua app em tempo real.

    Para executar a aplicação, siga estes passos:

    1. Na barra de estado do Cloud Code, clique no nome do projeto ativo.

      Nome do projeto ativo na barra de estado

    2. No menu de seleção rápida apresentado, selecione Executar no Kubernetes.

    3. Confirme se quer usar o contexto do cluster atual ou mudar para um diferente.

    4. Se lhe for pedido, escolha um registo de imagens para enviar as imagens. Se estiver a criar um novo registo de imagens com gcr.io/PROJECT_ID, certifique-se de que o registo de imagens está no mesmo projeto que o cluster.

      É apresentada uma janela de saída onde pode acompanhar o progresso da sua aplicação em execução. Também vê uma stream em direto dos registos dos pods em execução na saída do terminal.

    5. Depois de a aplicação estar em execução no Kubernetes, a janela de saída apresenta um endereço IP. Para usar este endereço IP associado para aceder à sua aplicação, prima Ctrl e clique no endereço.

    Depois de iniciar a sessão de depuração, o painel Sessões de desenvolvimento apresenta a vista de registo estruturado. Quando uma tarefa começa, é apresentada com um semicírculo rotativo progress_activity.

    Se uma tarefa for bem-sucedida, é apresentada uma marca de verificação check_circle junto ao passo.

    Para ver os detalhes de um passo, clique no passo no painel Sessão de desenvolvimento. O painel Output apresenta o passo na saída de registo.

    Limpar

    Depois de parar a aplicação, todos os recursos do Kubernetes implementados durante a execução são eliminados automaticamente.

    Para evitar incorrer em custos para a sua conta por outros recursos usados neste início rápido, certifique-se de que elimina o projeto ou o cluster que criou se quiser reutilizar o projeto.

    Para eliminar o cluster:

    1. Clique em Cloud Code e, de seguida, expanda o explorador Kubernetes.
    2. Passe o ponteiro do rato sobre o nome do cluster e, de seguida, clique em open_in_new Abrir na Trusted Cloud consola.
    3. Clique em Eliminar e, de seguida, em Eliminar.

    Para eliminar o seu projeto (e os recursos associados, incluindo todos os clusters):

    1. In the Trusted Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Para eliminar todos os ficheiros locais criados durante o processo de replataforma:

    1. Abra a paleta de comandos (Ctrl+Shift+P).
    2. Pesquise e selecione Tasks: Run Task e, de seguida, selecione m2c: Cleanup.