Migrar e implantar aplicativos nos clusters do Autopilot do GKE

Para implantar cargas de trabalho de contêiner migradas nos clusters do Autopilot do GKE, use o mesmo procedimento para migrar as cargas de trabalho da arquitetura atual. Você só precisa mudar o seguinte:

  • Defina 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 o Migrate to Containers 1.15.0.

  2. Adicione uma origem de migração e crie uma migração como você já costuma fazer com o ambiente de execução atual.

  3. Personalize o 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 baixado, my-migration.yaml, em um editor de texto.

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

      O seguinte alerta é exibido com o serviço não aceito:

      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 que não é aceito é encontrado, também é possível definir a flag manualmente como true. Nesse caso, você pode manter o serviço não aceito 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 flag como true:

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

    5. Ao final das edições, salve o arquivo.

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

      migctl migration update my-migration --main-config my-migration.yaml
  4. Gere e confira os artefatos de migração, assim como você já costuma fazer com o ambiente de execução atual.

  5. Edite o novo arquivo services-config.yaml para configurar as propriedades de inicialização do contêiner. Salve o arquivo e recrie a 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 Autopilot do GKE 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 tem um servidor da web simples e, em seguida, implantá-lo em um cluster do Autopilot. Você só precisa mudar o seguinte no processo do guia:

  1. Na etapa 3 de Como migrar a VM, em que você revisa o plano de migração, defina v2kServiceManager como true 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 Autopilot do GKE antes de implantar o contêiner:

    1. Crie um cluster do Autopilot do GKE:

      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 no 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 saber mais sobre o uso de arquivos CRD para controlar a migração.

A seguir