Esegui l'upgrade di Migrate to Containers e plug-in

Questo documento descrive come eseguire l'upgrade dell'installazione corrente di Migrate to Containers alla versione 1.15.0 ed eseguire l'upgrade dei plug-in Migrate to Containers alla versione più recente.

In genere, elimini tutte le migrazioni esistenti prima di eseguire l'upgrade. Se sono in corso migrazioni, attendi il completamento delle operazioni, quindi eliminale. Tuttavia, non eliminare le origini di migrazione. Le origini della migrazione vengono aggiornate come parte del processo di upgrade.

Utilizzare migctl per eseguire l'upgrade

Il processo di upgrade che utilizzi si basa sull'ambiente in cui esegui migctl:

  • Quando utilizzi i cluster di elaborazione Google Kubernetes Engine (GKE) o GKE Enterprise in Google Cloud, esegui migctl in Cloud Shell.

    In Cloud Shell, viene installata automaticamente la release più recente di migctl. Dovrai solo eseguire l'upgrade dei cluster di elaborazione.

  • Quando utilizzi un cluster di elaborazione Google Distributed Cloud Virtual for Bare Metal, installa migctl sulla workstation di amministrazione.

    Devi prima scaricare e installare la release più recente di migctl sulla workstation di amministrazione on-prem, quindi utilizzarla per eseguire l'upgrade dei cluster di elaborazione.

Esegui l'upgrade di Migrate to Containers

Per eseguire l'upgrade di una release precedente di Migrate to Containers alla versione 1.15.0:

  1. Connettiti al cluster di elaborazione:

    migctl su Google Cloud

    1. Visita il menu GKE nella console Google Cloud.

      Visita il menu GKE

    2. Nell'elenco dei cluster, individua quello che stai utilizzando come cluster di elaborazione e fai clic sul pulsante Connetti.

    3. Nella finestra di dialogo Connettiti al cluster, in Accesso da riga di comando, fai clic su Esegui in Cloud Shell per eseguire il comando di connessione in Cloud Shell.

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

    migctl su Google Distributed Cloud Virtual for Bare Metal

    1. Connettiti al cluster. Per maggiori informazioni, vedi Gestire i cluster dalla console Google Cloud.
  2. Verifica la presenza di eventuali migrazioni esistenti ed eliminale:

    1. Elenca le migrazioni attuali:

      migctl migration list
      
      NAME                STATUS      CURRENT-OPERATION
      my-migration        Completed   GenerateArtifacts
      another-migration   Running     GenerateMigrationPlan
    2. Elimina una per una tutte le migrazioni completate utilizzando il seguente comando:

      migctl migration delete my-migration
    3. Per qualsiasi migrazione attualmente in esecuzione, ripeti il "Passaggio a" qui sopra e attendi che venga completata. quindi eliminalo.

  3. Usa il comando migctl version per determinare la tua versione attuale. Ad esempio:

    migctl version

    Risultato:

    Migrate to Containers version: 1.10.1
  4. Esegui l'upgrade del cluster:

    migctl su Google Cloud

    1. Esegui l'upgrade alla versione 1.15.0:

      1. In Cloud Shell, esegui questo comando:

        migctl setup upgrade

        Il comando:

        • Disinstalla la versione precedente di Migrate to Containers e installa la versione 1.15.0.

        • Esegue l'upgrade delle origini di migrazione esistenti alla versione 1.15.0.

    migctl su Google Distributed Cloud Virtual for Bare Metal

    1. Esegui il deployment di migctl sulla workstation di amministrazione:

      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. Esegui l'upgrade alla versione 1.15.0:

      1. Esegui l'upgrade:

        migctl setup upgrade --gkeop

        Il comando:

        • Disinstalla la versione precedente di Migrate to Containers e installa la versione 1.15.0.

        • Esegue l'upgrade delle origini di migrazione esistenti alla versione 1.15.0.

  5. Convalida l'upgrade eseguendo il comando migctl doctor.

    Prima del completamento dell'upgrade, è possibile che venga visualizzato un messaggio come il seguente. In questo caso, attendi qualche minuto per il completamento dell'upgrade prima di eseguire di nuovo migctl doctor.

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

    Nell'output di esempio seguente, il segno di spunta indica che l'upgrade di Migrate to Containers è riuscito.

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

    Se esegui l'upgrade alla versione 1.6 o successiva, migctl doctor ora mostra i campi Docker registry, Artifacts repo e Source Status, dove:

  6. Una volta completato l'upgrade, devi ricreare le migrazioni per verificare che l'upgrade delle origini sia stato eseguito correttamente. Vedi Creazione di una migrazione.

Esegui l'upgrade dei plug-in Migrate to Containers

Migrate to Containers utilizza plug-in per gestire la logica di modernizzazione dei diversi percorsi dei carichi di lavoro supportati. Per utilizzare le funzionalità disponibili nella versione più recente dei plug-in, devi eseguire l'upgrade dei plug-in e poi creare una nuova migrazione. L'upgrade dei plug-in non influisce su una migrazione in corso.

Per eseguire l'upgrade dei plug-in alla versione più recente, esegui questo comando:

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

Sostituisci NAME con una stringa da aggiungere al nome del job.

Per visualizzare lo stato dell'upgrade, esegui questo comando:

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

Sostituisci NAME con la stessa stringa che hai aggiunto al nome del job.

L'output mostra lo stato del job, come mostrato di seguito:

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

Se vedi 1/1 nella colonna Completamenti, significa che il job è stato completato e i plug-in sono stati aggiornati.

Al termine dell'upgrade, per eliminare il job esegui questo comando:

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

Sostituisci NAME con la stessa stringa che hai aggiunto al nome del job.

Passaggi successivi