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 ambiente de desenvolvimento integrado usando uma máquina Linux.

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

Este guia é destinado a desenvolvedores de máquinas Linux que têm conhecimento prático do VS Code, conhecem o Google Cloud e têm 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. Confirme que você sabe o tipo de migração que quer realizar. Para mais informações sobre as cargas de trabalho compatíveis, consulte Analisar o SO, as cargas de trabalho e as versões do Kubernetes compatíveis.
  11. Prepare suas máquinas locais e de origem para a 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 do discovery client do Migration Center (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 ambiente de desenvolvimento integrado, clique em Cloud Code e expanda o explorador Replataforma Apps.

  2. Se esta for a primeira vez que você usa o Migrate to Containers no Cloud Code, será 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 origens apareçam no explorador Replatform Apps, mantenha o cursor sobre o explorador Replatform Apps e clique no botão armazenar em cache Atualizar origens que aparece.

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

Antes de tentar reformular seu aplicativo para um contêiner, recomendamos gerar uma avaliação de adequação da origem, que notifica se a origem pode mudar a plataforma de um contêiner.

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

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

Se as origens forem relatadas como sendo um Gostei, está tudo pronto para você reformular a plataforma do aplicativo.

Mudar a plataforma do seu aplicativo

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

As seções a seguir orientam você na execução de cada uma dessas tarefas e na reformulação da plataforma 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 novo espaço de trabalho de mudança de plataforma

Antes de criar um novo espaço de trabalho de nova plataforma, 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 de mudança de plataforma 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 reformulação.

  3. Selecione um novo diretório do espaço de trabalho para mudar a plataforma do seu aplicativo, clique em OK e, em seguida, clique em Create replatform workspace.

  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 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 Tarefas: executar tarefas e depois selecione m2c: copiar. 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, siga estas etapas:

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

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

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

    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 executou as tarefas Copy e Analyze nas seções anteriores, a tarefa Generate as executará 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 Tarefas: executar tarefas e depois selecione 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 de migração geralmente criam um ou mais arquivos dockerfiles e uma especificação de implantação do GKE referenciada por skaffold.yaml.

    Quando a geração de artefatos estiver 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 estiver satisfeito com os resultados da nova plataforma, prossiga e execute seu aplicativo em um contêiner do GKE.

Execute seu aplicativo em um contêiner do GKE

Nesta seção, você executa o aplicativo reformulado em um contêiner do GKE, visualiza os registros do aplicativo em execução e limpa 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 a depuração de 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 as alterações no sistema de arquivos para que você possa editar e executar o app 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 seleção rápida 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. Você também 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.

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 estruturada. Quando uma tarefa é iniciada, ela aparece com um semicírculo giratório progress_activity.

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

Para ver os 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 que você interromper o aplicativo, todos os recursos do Kubernetes implantados durante a execução serã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 reutilizá-lo.

Para excluir o cluster, siga estas etapas:

  1. Clique em Cloud Code e expanda o explorador do Kubernetes.
  2. Mantenha o ponteiro 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 Tarefas: executar tarefas e depois selecione m2c: limpeza.