Mudar a plataforma de aplicativos Linux para contêineres

A integração do Migrate to Containers com o Cloud Code permite modernizar componentes de aplicativos Linux executados em máquinas virtuais (VMs) e gerar artefatos que podem ser implantados no Google Kubernetes Engine e no Cloud Run, diretamente no seu ambiente de desenvolvimento integrado (IDE), usando uma máquina Linux.

Neste guia, você vai aprender a fazer o replataform de um aplicativo em um contêiner do GKE usando a extensão Cloud Code no seu IDE em uma máquina Linux.

Este guia é destinado a desenvolvedores em uma máquina Linux que têm conhecimento prático do VS Code, estão familiarizados com Google Cloude têm uma VM executando o componente do aplicativo.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Google Kubernetes Engine API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Google Kubernetes Engine API.

    Enable the API

  8. Instale a extensão do Cloud Code se ainda não tiver feito isso.
  9. Crie e configure um cluster do GKE.
  10. Confira o tipo de migração que você quer fazer. Para mais informações sobre as cargas de trabalho compatíveis, consulte Revisar versões compatíveis do SO, das cargas de trabalho e do Kubernetes.
  11. Prepare as máquinas locais e de origem para a modernização. O Cloud Code só é compatível com Linux para modernização.
  12. Adicionar uma origem de replataforma

    Nesta seção, instale a CLI do discovery client da Central de Migração (mcdc) e outras ferramentas do Migrate to Containers na máquina local, se ainda não tiver feito isso, e adicione uma origem de replataforma seguindo estas etapas:

    1. Na barra de atividades do ambiente de desenvolvimento integrado, clique em Cloud Code e expanda o explorador Replatform Apps.

    2. Se esta for a primeira vez que você usa o Migrate to Containers no Cloud Code, clique em Instalar ferramentas para instalar a CLI mcdc e outras ferramentas do Migrate to Containers na sua máquina local. Do contrário, avance para a próxima etapa.

    3. Clique em Editar fontes. Isso abre um arquivo mcdc-sources.json vazio. Adicione suas fontes no seguinte formato:

      [
        {
          "title": "SOURCE_NAME",
          "host": "HOSTNAME",
          "user": "USER",
          "identityFile":"IDENTITY-FILE-PATH"
        }
      ]
      
    4. Para ver as fontes no explorador Replatform Apps, passe o cursor sobre ele e clique no botão em cache Recarregar fontes que aparece.

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

    Antes de tentar fazer o replataform do aplicativo para um contêiner, recomendamos gerar uma avaliação de adequação da sua origem, que notifica se ela é capaz de fazer o replataform de um contêiner.

    Para gerar uma avaliação de ajuste da sua fonte, clique com o botão direito do mouse nela e selecione Avaliar fonte. Isso abre o terminal no seu ambiente de desenvolvimento integrado e mostra os registros da avaliação da fonte.

    Quando a avaliação for concluída, o mcdc vai gerar um relatório de avaliação de ajuste no seu ambiente de desenvolvimento integrado.

    Se as fontes forem classificadas como Boa opção, você poderá replataformar o aplicativo.

    Fazer a replataforma do aplicativo

    O Cloud Code cria um espaço de trabalho dedicado para cada replataforma e permite executar as tarefas Copiar, Analisar e Gerar no espaço de trabalho para automatizar as etapas de replataforma. Se você executar a tarefa Gerar sem executar primeiro as tarefas Copiar e Analisar, elas serão executadas automaticamente antes da geração de artefatos.

    As seções a seguir orientam você na execução de cada uma dessas tarefas e na replataforma do aplicativo para um contêiner usando o Cloud Code.

    Para saber mais sobre o ciclo de vida de uma migração, consulte Arquitetura da CLI do Migrate to Containers.

    Criar um espaço de trabalho de replataforma

    Antes de criar um novo espaço de trabalho de replataforma, você precisa saber quais parâmetros de migração selecionar para seu tipo de migração. Para mais informações sobre os parâmetros de cada tipo de migração, consulte Criar um plano de migração.

    Para criar um novo espaço de trabalho de replataforma com artefatos no seu ambiente de desenvolvimento integrado, siga estas etapas:

    1. No explorador Replatform Apps, clique com o botão direito do mouse na origem que você quer fazer o replataform e clique em Replatform.

    2. Na lista de opções que aparecem no menu, selecione uma jornada de replataforma.

    3. Selecione um novo diretório de espaço de trabalho para replataformar seu aplicativo, clique em OK e em Criar espaço de trabalho de replataforma.

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

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

      A geração do espaço de trabalho leva alguns segundos. Isso abre o diretório do novo espaço de trabalho em uma nova janela da sua IDE.

    Copiar arquivos da VM para o espaço de trabalho

    Para copiar os arquivos da VM para o espaço de trabalho no IDE, siga estas etapas:

    1. Opcional: a CLI mcdc aplica filtros para reduzir o tamanho da cópia, mas é possível modificar o arquivo filters.txt para reduzir ainda mais o tamanho da cópia. Para saber como reduzir o tamanho da cópia, consulte Reduzir o tamanho do sistema de arquivos copiado.

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

    3. Pesquise e selecione Tarefas: executar tarefa e, em seguida, m2c: Copy. A cópia dos arquivos pode levar alguns minutos.

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

    Para analisar o sistema de arquivos da VM e gerar um plano de migração, siga estas etapas:

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

    2. Pesquise e selecione Tarefas: executar tarefa e depois m2c: analisar.

      Se a tarefa de análise falhar, modifique os parâmetros de migração no arquivo analyze-args.ini. Ele tem uma linha por parâmetro com a documentação correspondente.

      Quando a análise é bem-sucedida, o Cloud Code cria um diretório chamado migration-plan, que contém os resultados da análise na forma de um arquivo config.yaml. É possível editar esse arquivo para mudar a forma como os artefatos são gerados.

      A estrutura do arquivo config.yaml varia de acordo com o tipo de migração. Para mais informações sobre os tipos de migração compatíveis, consulte as seguintes páginas:

    Gerar artefatos

    Para gerar artefatos, execute a tarefa Gerar no seu ambiente de desenvolvimento integrado. Se você não tiver executado as tarefas Copiar e Analisar nas seções anteriores, a tarefa Gerar vai executá-las automaticamente antes de gerar artefatos.

    Para gerar os artefatos, siga estas etapas:

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

    2. Pesquise e selecione Tarefas: executar tarefa e depois m2c: gerar. Isso gera os artefatos no diretório src, que contém um arquivo skaffold.yaml usado para criar e implantar uma imagem de contêiner. Cada tipo de migração gera artefatos diferentes, mas todos os tipos geralmente criam um ou mais Dockerfiles e uma especificação de implantação do GKE que skaffold.yaml referencia.

      Quando a geração de artefatos for concluída, você terá terminado de replataformar seu aplicativo.

    3. Opcional: se você quiser modificar o plano de migração, edite o arquivo config.yaml e execute novamente a tarefa m2c: Generate.

      Caso contrário, se você estiver satisfeito com os resultados da replataforma, execute o aplicativo em um contêiner do GKE.

    Executar o aplicativo em um contêiner do GKE

    Nesta seção, você vai executar o aplicativo replataformado em um contêiner do GKE, visualizar os registros do aplicativo em execução e limpar os recursos.

    Se você ainda não tiver criado e configurado um cluster do GKE, siga as instruções em Criar e configurar um cluster do GKE no Cloud Code para VS Code.

    Para saber mais sobre como depurar aplicativos do GKE, consulte Depurar aplicativos do Kubernetes com o Cloud Code para VS Code.

    Executar e ver o aplicativo

    Agora que está tudo pronto, você pode executar seu app e visualizá-lo ativo. O Cloud Code monitora seu sistema de arquivos em busca de mudanças para que você possa editar e executar o app em tempo real.

    Para executar seu aplicativo, siga estas etapas:

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

      Nome do projeto ativo na barra de status

    2. No menu "Escolha rápida" que aparece, selecione Executar no Kubernetes.

    3. Confirme se quer usar o contexto do cluster atual ou alternar para outro.

    4. Se solicitado, escolha um registro de imagem para enviar as imagens. Se você estiver criando um novo registro de imagem usando gcr.io/PROJECT_ID, verifique se ele está no mesmo projeto que o cluster.

      Uma janela de saída será exibida para acompanhar o andamento do aplicativo em execução. Também é possível ver uma transmissão ao vivo dos registros dos pods em execução na saída do terminal.

    5. Depois que o aplicativo estiver em execução no Kubernetes, a janela de saída exibirá um endereço IP. Para usar esse endereço IP vinculado para acessar seu aplicativo, pressione Ctrl e clique no endereço.

    Depois que a sessão de depuração for iniciada, o painel Sessões de desenvolvimento vai mostrar a visualização de geração de registros estruturada. Quando uma tarefa começa, ela aparece com um semicírculo girando progress_activity.

    Se uma tarefa for bem-sucedida, uma marca de seleção check_circle vai aparecer ao lado da etapa.

    Para ver detalhes de uma etapa, clique nela no painel Sessão de desenvolvimento. O painel "Saída" exibe a etapa na geração de registros.

    Limpar

    Depois do encerramento do aplicativo, todos os recursos do Kubernetes implantados durante a execução são excluídos automaticamente.

    Para evitar cobranças na sua conta por outros recursos usados neste guia de início rápido, exclua o projeto ou o cluster criado se quiser reutilizar o projeto.

    Para excluir o cluster, siga estas etapas:

    1. Clique em Cloud Code e expanda o explorador do Kubernetes.
    2. Mantenha o cursor sobre o nome do cluster e clique em open_in_new Abrir no console do Google Cloud .
    3. Clique em Excluir e em Excluir.

    Para excluir o projeto (e os recursos associados, incluindo os clusters):

    1. In the Google 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 excluir todos os arquivos locais criados durante o processo de replataforma:

    1. Abra a paleta de comandos (Ctrl+Shift+P).
    2. Procure e selecione Tarefas: executar tarefa e, em seguida, m2c: Cleanup.