Migre e implemente aplicações em clusters do GKE Autopilot

Para implementar as suas cargas de trabalho de contentores migradas em clusters do GKE Autopilot, usa o mesmo procedimento para migrar as cargas de trabalho que usa para a arquitetura existente. As únicas alterações são que:

  • Tem de definir v2kServiceManager como true no plano de migração antes de gerar os artefactos do contentor.

  • Tem de rever o novo ficheiro services-config.yaml e fazer as edições necessárias aos serviços de inicialização. Consulte o artigo Usar o ficheiro services-config.yaml.

Para fazer 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 faz atualmente com o tempo de execução existente.

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

    1. Transfira o plano de migração. O plano de migração é representado por AppXGenerateArtifactsFlow.

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

      migctl migration get my-migration
    2. Abra o plano de migração transferido, my-migration.yaml, num editor de texto.

    3. Valide o gestor de serviços Linux melhorado. A sinalização v2kServiceManager está predefinida como true. No entanto, se a ferramenta Migrate to Containers detetar um serviço do sistema que não é suportado pelo gestor de serviços, recebe um alerta e a flag v2kServiceManager é definida como false. Quando a flag é false, a migração usa um tempo de execução antigo que suporta o seu serviço.

      O seguinte alerta é apresentado juntamente com o serviço não suportado:

      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 é encontrado um serviço não suportado, também pode optar por definir manualmente a flag como true. Neste caso, pode optar por manter o serviço não suportado na imagem gerada, onde pode não ser executado, ou pode excluir o serviço removendo-o do plano de migração.

      Para ativar o novo gestor de serviços, reponha a flag para true:

      v2kServiceManager: true
    4. Faça outras personalizações necessárias para a sua migração, conforme descrito no artigo Personalize o plano de migração.

    5. Quando terminar as edições, guarde o ficheiro editado.

    6. Carregue o plano de migração editado:

      migctl migration update my-migration --main-config my-migration.yaml
  4. Gerar e rever os artefactos de migração como faz atualmente com o tempo de execução existente.

  5. Edite o novo ficheiro services-config.yaml para configurar as propriedades de inicialização do contentor. Guarde o ficheiro e recrie a imagem do contentor para aplicar as alterações.

    Consulte o artigo Usar services-config.yaml para mais informações.

  6. Implemente o contentor num cluster do GKE Autopilot usando kubectl:

    kubectl apply -f deployment_spec.yaml

Exemplo: implementar o contentor de início rápido num cluster do Autopilot

Use o guia de início rápido atual para migrar um contentor que contenha um servidor Web simples e, em seguida, implemente-o num cluster do Autopilot. As únicas alterações que tem de fazer ao processo de início rápido são:

  1. No passo 3 de Migrar a VM, onde revê o plano de migração, defina v2kServiceManager como true no plano de migração e, em seguida, guarde o plano:

     
    v2kServiceManager: true
  2. Na secção Implementar a carga de trabalho migrada, crie e ligue-se a um cluster do GKE Autopilot antes de implementar o contentor:

    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. Ligue-se ao cluster:

      gcloud container clusters get-credentials CLUSTER_NAME 
        --zone REGION --project PROJECT_NAME 
      
    3. Implemente o contentor conforme descrito na secção Implementar a carga de trabalho migrada.

Alterações ao CRD AppXGenerateArtifactsFlow

Se estiver a usar ficheiros CRD para controlar a migração, edite o CRD AppXGenerateArtifactsFlow para definir v2kServiceManager como true. Consulte o artigo Personalizar um plano de migração para saber mais sobre a utilização de ficheiros CRD para controlar a migração.

O que se segue?