Executar uma migração

Comece a migrar VMs com um comando que gera artefatos de contêiner de destino e os extrai usando o cluster de processamento criado em Como instalar o Migrate to Containers.

Este tópico descreve como executar uma migração para:

  • extrair artefatos de carga de trabalho da VM para uma imagem de contêiner e volume de dados (para cargas de trabalho com estado);
  • copiar uma imagem de contêiner da VM para um registro de contêiner;
  • gerar artefatos de implantação de migração que podem ser usados para implantações de produção.

Depois de concluir esse passo, será possível:

  • testar a imagem e o volume de dados (para cargas de trabalho com estado) no cluster de processamento;

    Embora você ainda não tenha implantado a imagem em um cluster separado, ela poderá ser executada e testada. Quando a migração estiver concluída, a imagem não será conectada à VM de origem.

  • implantar a imagem e o volume de dados (para cargas de trabalho com estado) em outro cluster;

Antes de começar

Para ter sucesso, primeiro é preciso fazer o seguinte:

Executar a migração e gerar artefatos

Use o comando migctl migration generate-artifacts ou o console do Google Cloud para gerar artefatos de contêiner de destino como parte do processamento de uma VM para migração.

migctl

  1. Execute a migração:

    migctl migration generate-artifacts my-migration
  2. Para ver o status da migração:

    migctl migration status my-migration

Console

  1. Abra a página "Migrate to Containers" no Console do Google Cloud.

    Acessar a página "Migrate to Containers"

  2. Clique na guia Migrações para exibir uma tabela com as migrações disponíveis.

  3. Na linha da migração desejada, selecione Gerar artefatos na lista suspensa Próximas etapas.

  4. Veja o status de uma migração:

    • Como visualizar a coluna Status da linha para a migração.

    • Clique no Nome da migração. A guia Detalhes da migração é aberta. Clique na guia Monitoramento para ver o status detalhado ou na guia Eventos para ver os eventos de migração.

  5. Quando o Status da migração for Artefatos gerados, você pode passar para a próxima etapa.

CRD

Linux, Windows e Tomcat

  1. Acesse o AppXGenerateArtifactsFlow usando o nome especificado no yaml Migração ao criar a migração:

    kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system my-migration  -o jsonpath={.status.migrationPlanRef.name}

  2. Crie um arquivo AppXGenerateArtifactsTask my-generate.yaml para definir uma tarefa de geração de artefatos.

    Nesse arquivo, migration especifica o nome da migração quando você cria a migração, e flow representa o AppxGenerateArtifactsFlow da migração que você recebeu na etapa anterior:

    apiVersion: anthos-migrate.cloud.google.com/v1beta2
    kind: AppXGenerateArtifactsTask
    metadata:
     name: my-migration-task
     namespace: v2k-system
    spec:
     migration:
       name:  my-migration
     flow:
       name:  appx-generateartifactsflow-my-migration
  3. Aplique o arquivo:

    kubectl apply -f my-generate.yaml

Quando você gera artefatos para cargas de trabalho, o Migrate to Containers grava os artefatos e depois os carrega em um bucket do Cloud Storage. O arquivo do diretório de artefatos contém:

  • Dockerfile: o Dockerfile usado para criar a imagem da VM migrada.
  • deployment_spec.yaml: o arquivo YAML que configura a carga de trabalho.
  • secrets.yaml: um arquivo YAML de secrets que contém dados sensíveis também pode ser adicionado ao diretório de artefatos.

    Use kubectl apply com esse arquivo para implantar a carga de trabalho em um cluster, como um cluster de produção ou de teste.

  • Os diretórios e arquivos extraídos da origem e usados pelo Dockerfile.

Fazer o download dos artefatos gerados

Para fazer o download dos artefatos de contêiner gerados nesse diretório aninhado, execute o seguinte comando:

migctl migration get-artifacts my-migration

Dependendo do plug-in e do plano de migração, os artefatos gerados contêm um ou mais arquivos docker usados para criar imagens de contêiner e uma ou mais especificações de implantação do Kubernetes.

Além disso, o Migrate to Containers gera uma configuração do Skaffold que pode ser usada para criar e implantar rapidamente todas as imagens geradas em uma única etapa.

A seguir