Fazer upgrade do Migrate to Containers e plug-ins

Neste documento, descrevemos como fazer o upgrade da instalação atual do Migrate to Containers para a versão 1.15.0 e dos plug-ins do Migrate to Containers para a versão mais recente.

Geralmente, você exclui todas as migrações existentes antes de fazer o upgrade. Se alguma migração estiver em execução, aguarde a conclusão e as exclua. No entanto, não exclua as origens de migração. As origens de migração são atualizadas como parte do processo.

Usar o migctl para fazer o upgrade

O processo de upgrade que você usa é baseado no ambiente em que você executa migctl:

  • Ao usar o Google Kubernetes Engine (GKE) ou os clusters de processamento do GKE Enterprise no Google Cloud, você executa migctl no Cloud Shell.

    No Cloud Shell, a versão mais recente do migctl é instalada automaticamente. Em seguida, você só precisará fazer upgrade dos clusters de processamento.

  • Ao usar um cluster de processamento do Google Distributed Cloud Virtual for Bare Metal, instale o migctl na estação de trabalho do administrador.

    Primeiro, faça o download e instale a versão mais recente do migctl na estação de trabalho de administrador no local. Depois, use-a para fazer upgrade dos clusters de processamento.

Fazer upgrade do Migrate to Containers

Para fazer upgrade de uma versão anterior do Migrate to Containers para a versão 1.15.0:

  1. Conecte-se ao cluster de processamento:

    migctl no Google Cloud

    1. Acesse o menu do GKE no Console do Google Cloud.

      Acesse o menu do GKE

    2. Na lista de clusters, localize o cluster que você está usando como um cluster de processamento e clique no botão Conectar.

    3. Na caixa de diálogo Conectar ao cluster, em Acesso de linha de comando, clique em Executar no Cloud Shell para executar o comando de conexão no Cloud Shell.

      gcloud container clusters get-credentials cluster-name --zone zone-name --project project-name
      

    migctl no Google Distributed Cloud Virtual para Bare Metal

    1. Conectar-se ao seu cluster. Para mais informações, consulte Gerenciar clusters pelo console do Google Cloud.
  2. Verifique se há migrações e as exclua:

    1. Listar migrações atuais:

      migctl migration list
      
      NAME                STATUS      CURRENT-OPERATION
      my-migration        Completed   GenerateArtifacts
      another-migration   Running     GenerateMigrationPlan
    2. Exclua todas as migrações concluídas, uma por uma, usando o comando a seguir:

      migctl migration delete my-migration
    3. Para qualquer migração que esteja em execução no momento, repita a "Etapa a" acima e aguarde a conclusão. Em seguida, exclua-a.

  3. Use o comando migctl version para determinar sua versão atual. Exemplo:

    migctl version

    Retorna:

    Migrate to Containers version: 1.10.1
  4. Fazer upgrade do cluster:

    migctl no Google Cloud

    1. Fazer upgrade para a 1.15.0:

      1. No Cloud Shell, execute este comando:

        migctl setup upgrade

        O comando:

        • Desinstala a versão antiga do Migrate to Containers e instala a versão 1.15.0.

        • Faz upgrade das origens de migração existentes para a versão 1.15.0.

    migctl no Google Distributed Cloud Virtual para Bare Metal

    1. Implante o migctl na estação de trabalho de administrador:

      wget https://modernize-release.storage.googleapis.com/v1.15.0/linux/amd64/migctl
      sudo cp migctl /usr/local/bin/
      sudo chmod +x /usr/local/bin/migctl
      . <(migctl completion bash)
    2. Fazer upgrade para a 1.15.0:

      1. Execute o upgrade:

        migctl setup upgrade --gkeop

        O comando:

        • Desinstala a versão antiga do Migrate to Containers e instala a versão 1.15.0.

        • Faz upgrade das origens de migração existentes para a versão 1.15.0.

  5. Valide o upgrade executando o comando migctl doctor.

    Antes da conclusão do upgrade, você poderá ver uma mensagem como a seguinte. Se vir ela, aguarde alguns minutos até que o upgrade seja concluído antes de executar migctl doctor novamente.

    migctl doctor
    [✓] Deployment
      [✓] Admission Controller
      [!] Components
        Job controllers-deploy-cert is not ready
        Job controllers-upgrade is not ready
    

    No exemplo de saída a seguir, a marca de seleção indica que o Migrate to Containers foi atualizado com sucesso.

    migctl doctor
    [✓] Deployment
    [✓] Docker registry
    [✓] Artifacts repo
    [✓] Source Status
    

    Se você estiver atualizando para a versão 1.6 ou posterior, migctl doctor agora exibirá os campos Docker registry, Artifacts repo e Source Status, em que:

  6. Após a conclusão do upgrade, recrie as migrações para validar que as origens de migração foram atualizadas com sucesso. Consulte Como criar uma migração.

Fazer upgrade dos plug-ins do Migrate to Containers

O Migrate to Containers usa plug-ins para gerenciar a lógica de modernização de diferentes jornadas das cargas de trabalho compatíveis. Para usar os recursos disponíveis na versão mais recente dos plug-ins, faça upgrade dos plug-ins e crie uma nova migração. O upgrade dos plug-ins não afeta a migração em andamento.

Para fazer upgrade dos plug-ins para a versão mais recente, execute o comando abaixo:

JOB_NAME=plugins-updater-NAME
kubectl apply -f - <<EOF
apiVersion: batch/v1
kind: Job
metadata:
  name: $JOB_NAME
  namespace: v2k-system
spec:
  backoffLimit: 20
  template:
    spec:
      serviceAccountName: plugins-updater-sa
      containers:
      - name: plugins-updater
        image: us-docker.pkg.dev/migrate-modernize-public/modernize-plugins-prod/plugins-updater:latest
        imagePullPolicy: Always
      restartPolicy: OnFailure
EOF

Substitua NAME por uma string para adicionar ao nome do job.

Para visualizar o status do upgrade, execute o comando abaixo:

kubectl get job -n v2k-system  plugins-updater-NAME

Substitua NAME pela mesma string que você adicionou ao nome do job.

A saída exibe o status do job, conforme mostrado abaixo:

NAME                                COMPLETIONS   DURATION   AGE
plugins-updater-upgrade             1/1           12s        37s

Se você vir 1/1 na coluna Conclusões, isso significa que o job foi concluído e os plug-ins foram atualizados.

Após a conclusão do upgrade, execute o seguinte comando para excluir o job:

kubectl delete  job -n v2k-system  plugins-updater-NAME

Substitua NAME pela mesma string que você adicionou ao nome do job.

A seguir