Migrar e implantar aplicativos nos clusters do Autopilot do GKE

Para implantar cargas de trabalho de contêiner migradas nos clusters do GKE Autopilot, use o mesmo procedimento para migrar as cargas de trabalho da arquitetura atual. As únicas alterações são:

  • É necessário definir v2kServiceManager como true no plano de migração antes de gerar os artefatos do contêiner.

  • Você precisa analisar o novo arquivo services-config.yaml e fazer edições nos serviços de inicialização. Consulte Como usar o services-config.yaml.

Para executar uma migração:

  1. Instale a versão 1.15.0 do Migrate to Containers.

  2. Adicione uma origem de migração e crie uma migração como você faz hoje com o ambiente de execução existente.

  3. Personalize seu plano de migração conforme necessário.

    1. Faça o download do plano de migração. O plano de migração é representado por AppXGenerateArtifactsFlow:

      Por exemplo, para uma migração chamada "my-migration":

      migctl migration get my-migration
    2. Edite o plano de migração transferido por download, my-migration.yaml, em um editor de texto.

    3. Verifique o gerenciador de serviços aprimorado do Linux. A sinalização v2kServiceManager é definida como true por padrão. No entanto, se o Migrate to Containers detectar um serviço do sistema que não é compatível com o gerenciador de serviços, você receberá um alerta e a sinalização v2kServiceManager será definida como false. Quando a sinalização for false, a migração usará um ambiente de execução legado compatível com o serviço.

      O seguinte alerta é exibido junto com o serviço incompatível:

      Service is not supported by v2k service manager, therefore legacy runtime
      will be used instead of v2k service manager, and migrated workload would
      not fit running on Autopilot clusters of Cloudrun.

      Quando um serviço incompatível é encontrado, também é possível definir a sinalização manualmente como true. Nesse caso, você pode manter o serviço incompatível na imagem gerada em que ele não pode ser executado ou excluí-lo do plano de migração.

      Para ativar o novo gerenciador de serviços, redefina a sinalização para true:

      v2kServiceManager: true
    4. Realize outras personalizações necessárias para a migração conforme descrito em Personalizar o plano de migração.

    5. Quando as edições estiverem concluídas, salve o arquivo editado.

    6. Faça upload do plano de migração editado:

      migctl migration update my-migration --main-config my-migration.yaml
  4. Gere e revise os artefatos de migração, como você faz hoje com o ambiente de execução existente.

  5. Edite o novo arquivo services-config.yaml para configurar as propriedades de inicialização do contêiner. Salve o arquivo e recrie sua imagem de contêiner para aplicar as alterações.

    Saiba mais em Como usar o services-config.yaml.

  6. Implante o contêiner em um cluster do GKE Autopilot usando kubectl:

    kubectl apply -f deployment_spec.yaml

Exemplo: como implantar o contêiner do guia de início rápido em um cluster do Autopilot

Use o Guia de início rápido atual para migrar um contêiner que contém um servidor da Web simples e, em seguida, implantá-lo em um cluster do Autopilot. As únicas alterações que você precisa fazer no processo de início rápido são estas:

  1. Na etapa 3 de Como migrar a VM, em que você revisa o plano de migração, defina v2kServiceManager como true no plano de migração e salve o plano:

     
    v2kServiceManager: true
  2. Na seção Como implantar a carga de trabalho migrada, crie e conecte-se a um cluster do GKE Autopilot antes de implantar o contêiner:

    1. Crie um cluster do GKE Autopilot:

      gcloud container clusters create-auto "CLUSTER_NAME"
      --project "PROJECT_NAME"  --region "REGION" --release-channel "regular"
      --subnetwork "projects/PROJECT_NAME/regions/us-central1/subnetworks/default"
    2. Conecte-se ao cluster:

      gcloud container clusters get-credentials CLUSTER_NAME 
        --zone REGION --project PROJECT_NAME 
      
    3. Implante o contêiner conforme descrito na seção Como implantar a carga de trabalho migrada.

Mudanças na CRD AppXGenerateArtifactsFlow

Se você estiver usando arquivos CRD para controlar a migração, edite o CRD AppXGenerateArtifactsFlow para definir v2kServiceManager como true. Consulte Como personalizar um plano de migração para mais informações sobre o uso de arquivos CRD para controlar a migração.

A seguir