Neste guia, você vai aprender a replataformar 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 em uma máquina Linux que tenham conhecimento prático do VS Code, estejam familiarizados com o Kubernetes e tenham uma VM executando o componente de aplicativo. Google Cloud
Antes de começar
- Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
In the Google Cloud console, on the project selector page, select or create a Google 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
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 theserviceusage.services.enablepermission. Learn how to grant roles.- Instale a extensão do Cloud Code caso ainda não tenha feito isso.
- Criar e configurar um cluster do GKE.
- Confira o tipo de migração que você quer realizar. Para mais informações sobre cargas de trabalho com suporte, consulte Analisar versões compatíveis do SO, das cargas de trabalho e do Kubernetes.
- Prepare as máquinas locais e de origem para a modernização. O Cloud Code oferece suporte apenas ao Linux para modernização.
Adicionar uma origem de replataformação
Nesta seção, você vai instalar a CLI do discovery client do Migration Center (mcdc) e outras ferramentas do Migrate to Containers na sua máquina local, caso ainda não tenha feito isso, e adicionar uma origem de replataformação seguindo estas etapas:
Na barra de atividades do ambiente de desenvolvimento integrado, clique em
Cloud Code, e expanda o explorador Replatform Apps.
Se esta for a primeira vez que você usa o Migrate to Containers no Cloud Code, clique em Install tools para instalar a CLI
mcdce outras ferramentas do Migrate to Containers na sua máquina local. Do contrário, avance para a próxima etapa.Clique em Edit Sources. Isso abre um arquivo
mcdc-sources.jsonvazio. Adicione suas origens no seguinte formato:[ { "title": "SOURCE_NAME", "host": "HOSTNAME", "user": "USER", "identityFile":"IDENTITY-FILE-PATH" } ]Para que as origens apareçam no explorador Replatform Apps, passe o cursor sobre o explorador Replatform Apps e clique no botão em cache Reload sources que aparece.
Opcional: gerar uma avaliação de adequação
Antes de tentar replataformar seu aplicativo para um contêiner, recomendamos que você gere uma avaliação de adequação da sua origem, que notifica se ela é capaz de replataformar um contêiner.
Para gerar uma avaliação de adequação da sua origem, clique com o botão direito do mouse na origem e selecione Assess source. Isso abre o terminal no seu ambiente de desenvolvimento integrado e mostra 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 seu ambiente de desenvolvimento integrado.
Se as origens forem relatadas como Good Fit, você estará pronto para replataformar seu aplicativo.
Replataformar seu aplicativo
O Cloud Code cria um espaço de trabalho dedicado para cada replataformação e permite executar as tarefas Copy, Analyze e Generate no espaço de trabalho para automatizar as etapas de replataformação. Se você executar a tarefa Generate sem executar as tarefas Copy e Analyze primeiro, ela será executada automaticamente antes de gerar artefatos.
As seções a seguir orientam você na execução de cada uma dessas tarefas e na replataformação 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 replataformação
Antes de criar um novo espaço de trabalho de replataformação, 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 replataformação com artefatos no seu ambiente de desenvolvimento integrado, siga estas etapas:
No explorador Replatform Apps, clique com o botão direito do mouse na origem que você quer replataformar e clique em Replatform.
Na lista de opções que aparece no menu, selecione uma jornada de replataformação.
Selecione um novo diretório de espaço de trabalho para replataformar seu aplicativo, clique em OK e em Create replatform workspace.
Selecione os parâmetros de migração para o tipo de migração.
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 novo diretório do espaço de trabalho em uma nova janela do seu ambiente de desenvolvimento integrado.
Copiar arquivos da VM para o espaço de trabalho
Para copiar os arquivos da VM para o espaço de trabalho no seu ambiente de desenvolvimento integrado, siga estas etapas:
Opcional: a CLI
mcdcaplica filtros para reduzir o tamanho da cópia, mas é possível modificar o arquivofilters.txtpara 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.Abra a paleta de comandos pressionando Ctrl+Shift+P.
Pesquise e selecione Tasks: Run Task e, em seguida, m2c: Copy. A cópia de 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:
Abra a paleta de comandos pressionando Ctrl+Shift+P.
Pesquise e selecione Tasks: Run Task e, em seguida, selecione m2c: Analyze.
Se a tarefa de análise falhar, será necessário modificar os parâmetros de migração pelo arquivo
analyze-args.ini. Esse arquivo tem uma linha por parâmetro com documentação complementar sobre o parâmetro.Quando a análise é bem-sucedida, o Cloud Code cria um diretório chamado
migration-planque contém os resultados da análise na forma de um arquivoconfig.yaml. É possível editar esse arquivo para mudar a forma como os artefatos são gerados.A estrutura do arquivo
config.yamlvaria de acordo com o tipo de migração. Para mais informações sobre os tipos de migração com suporte, consulte as seguintes páginas:
Gerar artefatos
Para gerar artefatos, é necessário executar 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 executa automaticamente antes de gerar artefatos.
Para gerar os artefatos, siga estas etapas:
Abra a paleta de comandos pressionando Ctrl+Shift+P.
Pesquise e selecione Tasks: Run Task e, em seguida, m2c: Generate. Isso gera os artefatos no diretório
src, que contém um arquivoskaffold.yamlusado para criar e implantar uma imagem do contêiner. Cada tipo de migração gera artefatos diferentes, mas todos os tipos de migração geralmente criam um ou mais dockerfiles e uma especificação de implantação do GKE queskaffold.yamlreferencia.Quando a geração de artefatos for concluída, a replataformação do aplicativo será concluída.
Opcional: se você quiser modificar o plano de migração, edite o arquivo
config.yamle execute novamente a tarefa m2c: Generate.Caso contrário, se você estiver satisfeito com os resultados da replataformação, poderá prosseguir para executar 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, conferir os registros do aplicativo em execução e liberar 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 visualizar 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 aplicativo em tempo real.
Para executar seu aplicativo, siga estas etapas:
Na barra de status do Cloud Code, clique no nome do projeto ativo.

No menu "Escolha rápida" que aparece, selecione Run on Kubernetes.
Confirme se quer usar o contexto do cluster atual ou alternar para outro.
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. Também é possível ver uma transmissão ao vivo dos registros dos pods em execução na saída do terminal.
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 Development sessions vai mostrar a visualização de geração de registros estruturada. Quando uma tarefa começa, ela aparece com um semicírculo giratório 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 Development session. O painel "Saída" exibe a etapa na geração de registros.
Liberar espaço
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:
- Clique em
Cloud Code e expanda o explorador Kubernetes.
- Passe o ponteiro sobre o nome do cluster e clique em open_in_new Abrir no Google Cloud console.
- Clique em Excluir e em Excluir.
Para excluir o projeto (e os recursos associados, incluindo os clusters):
- No Google Cloud console, acesse a página Gerenciar recursos.
- Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
- Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.
Para excluir todos os arquivos locais criados durante o processo de replataformação:
- Abra a paleta de comandos (Ctrl+Shift+P).
- Pesquise e selecione Tasks: Run Task e, em seguida, m2c: Cleanup.