Mudança de plataforma de aplicativos Linux para contêineres

A integração do Migrate to Containers com o Cloud Code permite modernizar os 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 ambiente de desenvolvimento integrado usando uma máquina Linux.

Neste guia, você aprenderá a reformular um aplicativo atual para um contêiner do GKE usando a extensão do Cloud Code no seu ambiente de desenvolvimento integrado em uma máquina Linux.

Este guia é destinado a desenvolvedores de uma máquina Linux que conheçam o VS Code, estejam familiarizados com o Google Cloud e tenham uma VM executando o componente do aplicativo.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative a API Google Kubernetes Engine.

    Ative a API

  5. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  7. Ative a API Google Kubernetes Engine.

    Ative a API

  8. Instale a extensão do Cloud Code, caso ainda não tenha feito isso.
  9. Crie e configure um cluster do GKE.
  10. Verifique se você sabe qual tipo de migração quer realizar. Para mais informações sobre cargas de trabalho compatíveis, consulte Analisar SOs, cargas de trabalho e versões do Kubernetes compatíveis.
  11. Prepare as máquinas locais e de origem para modernização. O Cloud Code só oferece suporte ao Linux para modernização.

Adicionar uma origem de mudança de plataforma

Nesta seção, você vai instalar a CLI de discovery client da Central de migração (mcdc) e outras ferramentas do Migrate to Containers na máquina local, caso ainda não tenha feito isso, e adicionar uma origem de mudança de plataforma seguindo estas etapas:

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

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

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

    [
      {
        "title": "SOURCE_NAME",
        "host": "HOSTNAME",
        "user": "USER",
        "identityFile":"IDENTITY-FILE-PATH"
      }
    ]
    
  4. Para que as fontes apareçam no explorador Replatform Apps, mantenha o cursor sobre o explorador Replatform Apps e clique no botão armazenado em cache Reload sources que é exibido.

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

Antes de tentar mudar a plataforma do aplicativo para um contêiner, recomendamos que você gere uma Avaliação de adequação da origem, que notifica se a origem é capaz de mudar a plataforma de um contêiner.

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

Quando a avaliação é concluída, o mcdc gera um relatório de avaliação de adequação no ambiente de desenvolvimento integrado.

Se suas origens forem relatadas como Boa opção, você está pronto para mudar a plataforma do app.

Mudar a plataforma do aplicativo

O Cloud Code cria um espaço de trabalho dedicado para cada reformulação e permite executar as tarefas Copiar, Analisar e Gerar no espaço de trabalho para automatizar as etapas. Se você executar a tarefa Generate sem executar as tarefas Copy e Analyze, ela será executada automaticamente antes de gerar artefatos.

Nas seções a seguir, orientamos você na execução de cada uma dessas tarefas e na mudança de plataforma do seu 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 novo espaço de trabalho em uma nova plataforma

Antes de criar um novo espaço de trabalho reformulado, você precisa saber quais parâmetros de migração selecionar para o 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 reformulado 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 fonte que você quer mudar de plataforma e clique em Replatform.

  2. Na lista de opções que aparece no menu, selecione uma jornada de mudança de plataforma.

  3. Selecione um novo diretório de espaço de trabalho para reformular a plataforma do seu aplicativo, clique em OK e, em seguida, clique em Criar espaço de trabalho de mudança de plataforma.

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

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

    A geração do espaço de trabalho leva alguns segundos. Isso abre o novo diretório do espaço de trabalho em uma nova janela do ambiente de desenvolvimento integrado.

Copie arquivos da VM para o espaço de trabalho

Para copiar os arquivos da VM para o espaço de trabalho no ambiente de desenvolvimento integrado, 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 Tasks: Run Task, depois selecione m2c: Copy. A cópia dos arquivos pode levar alguns minutos.

Analisar o sistema de arquivos da VM e gerar um plano de migração

Para analisar o sistema de arquivos da VM e gerar um plano de migração, execute as seguintes etapas:

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

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

    Se a tarefa de análise falhar, será necessário modificar os parâmetros de migração por meio do arquivo analyze-args.ini. Esse arquivo tem uma linha por parâmetro com a documentação complementar sobre ele.

    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 maneira 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 Generate no seu ambiente de desenvolvimento integrado. Se você ainda não tiver executado as tarefas Copiar e Analisar nas seções anteriores, a tarefa Gerar vai executá-las automaticamente antes de gerar os artefatos.

Para gerar os artefatos, siga estas etapas:

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

  2. Pesquise e selecione Tasks: Run Task, depois selecione m2c: Generate. 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 eles geralmente criam um ou mais dockerfiles e uma especificação de implantação do GKE que skaffold.yaml faz referência.

    Quando a geração de artefatos for concluída, você concluirá a mudança de plataforma do 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 contente com os resultados da nova plataforma, prossiga para executar seu aplicativo em um contêiner do GKE.

Execute seu aplicativo em um contêiner do GKE

Nesta seção, você executará seu aplicativo reformulado de plataforma em um contêiner do GKE, verá os registros do aplicativo em execução e limpará recursos.

Se você ainda não criou e configurou 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 visualizar o aplicativo

Agora que está tudo pronto, você pode executar seu app e visualizá-lo ativo. O Cloud Code monitora o sistema de arquivos em busca de alterações para que você possa editar e executar o aplicativo novamente 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 de escolha rápida que é exibido, 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 o registro de imagem está no mesmo projeto que o cluster.

    Uma janela de saída será exibida para acompanhar o andamento do aplicativo em execução. Na saída do terminal, você também verá uma transmissão ao vivo dos registros dos pods em execução.

  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.

Após o início da sessão de depuração, o painel Sessões de desenvolvimento exibe a visualização de geração de registros estruturados. Quando uma tarefa é iniciada, ela aparece com um semicírculo progress_activity,

Se uma tarefa for bem-sucedida, uma marca de seleção check_circle 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 de interromper o 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 você quiser reutilizar o projeto.

Para excluir o cluster, siga estas etapas:

  1. Clique em Cloud Code e expanda o explorador Kubernetes.
  2. Mantenha o ponteiro do mouse 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. No Console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

Para excluir todos os arquivos locais criados durante o processo de mudança de plataforma:

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