Mettre à niveau Migrate to Containers et les plug-ins

Ce document explique comment mettre à niveau votre installation actuelle de Migrate to Containers vers la version 1.15.0, ainsi que vos plug-ins Migrate to Containers vers la dernière version.

Vous supprimez généralement toutes les migrations existantes avant de procéder à la mise à niveau. Si des migrations sont en cours d'exécution, attendez qu'elles se terminent, puis supprimez-les. Toutefois, ne supprimez pas vos sources de migration. Elles sont mises à jour dans le cadre du processus de mise à niveau.

Utiliser migctl pour effectuer la mise à niveau

Le processus de mise à niveau que vous utilisez dépend de l'environnement dans lequel vous exécutez migctl :

  • Si vous utilisez des clusters de traitement Google Kubernetes Engine (GKE) ou GKE Enterprise dans Google Cloud, vous exécutez migctl dans Cloud Shell.

    Dans Cloud Shell, la dernière version de migctl est installée automatiquement. Il vous suffit alors de mettre à jour vos clusters de traitement.

  • Lorsque vous utilisez un cluster de traitement Google Distributed Cloud Virtual pour Bare Metal, installez migctl sur votre poste de travail administrateur.

    Vous devez d'abord télécharger et installer la dernière version de migctl sur votre poste de travail administrateur sur site, puis l'utiliser pour mettre à niveau vos clusters de traitement.

Mettre à niveau Migrate to Containers

Pour mettre à niveau une version précédente de Migrate to Containers vers la version 1.15.0, procédez comme suit :

  1. Connectez-vous au cluster de traitement :

    migctl sur Google Cloud

    1. Accédez au menu GKE dans la console Google Cloud.

      Accéder au menu de GKE

    2. Dans la liste des clusters, recherchez celui que vous utilisez en tant que cluster de traitement, puis cliquez sur le bouton Connecter.

    3. Dans la boîte de dialogue Se connecter au cluster, sous Accès avec la ligne de commande, cliquez sur Exécuter dans Cloud Shell pour exécuter la commande de connexion dans Cloud Shell.

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

    migctl sur Google Distributed Cloud Virtual pour Bare Metal

    1. Connectez-vous à votre cluster. Pour en savoir plus, consultez la page Gérer des clusters depuis la console Google Cloud.
  2. Recherchez les migrations existantes et supprimez-les :

    1. Répertoriez les migrations en cours :

      migctl migration list
      
      NAME                STATUS      CURRENT-OPERATION
      my-migration        Completed   GenerateArtifacts
      another-migration   Running     GenerateMigrationPlan
    2. Supprimez toutes les migrations terminées, une par une, à l'aide de la commande suivante :

      migctl migration delete my-migration
    3. Pour toute migration en cours d'exécution, répétez l'étape a ci-dessus, attendez la fin de l'opération, puis supprimez la migration.

  3. Exécutez la commande migctl version pour déterminer votre version actuelle. Exemple :

    migctl version

    Renvoie :

    Migrate to Containers version: 1.10.1
  4. Mettez à niveau le cluster :

    migctl sur Google Cloud

    1. Passez à la version 1.15.0 :

      1. Dans Cloud Shell, exécutez la commande suivante :

        migctl setup upgrade

        La commande

        • désinstalle l'ancienne version de Migrate to Containers et installe la version 1.15.0 ;

        • met à jour les sources de migration existantes vers la version 1.15.0.

    migctl sur Google Distributed Cloud Virtual pour Bare Metal

    1. Déployez migctl sur votre poste de travail administrateur :

      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. Passez à la version 1.15.0 :

      1. Exécutez la mise à niveau :

        migctl setup upgrade --gkeop

        La commande

        • désinstalle l'ancienne version de Migrate to Containers et installe la version 1.15.0 ;

        • met à jour les sources de migration existantes vers la version 1.15.0.

  5. Validez la mise à niveau en exécutant la commande migctl doctor.

    Avant la mise à niveau, un message tel que celui indiqué ci-dessous peut s'afficher. Dans ce cas, attendez quelques minutes que la mise à niveau se termine avant d'exécuter à nouveau migctl doctor.

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

    Dans l'exemple de résultat suivant, la coche indique que la mise à niveau de Migrate to Containers a été correctement effectuée.

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

    Si vous effectuez une mise à niveau vers la version 1.6 ou ultérieure, migctl doctor affiche maintenant les champs Docker registry, Artifacts repo et Source Status, où :

  6. Une fois la mise à niveau terminée, vous devez recréer vos migrations pour vérifier que les sources ont été correctement mises à niveau. Consultez la section Créer une migration.

Mettre à niveau les plug-ins Migrate to Containers

Migrate to Containers utilise des plug-ins pour gérer la logique de modernisation de différents parcours des charges de travail compatibles. Pour utiliser les fonctionnalités disponibles dans la dernière version des plug-ins, vous devez mettre à niveau les plug-ins, puis créer une migration. La mise à niveau des plug-ins n'affecte pas la migration en cours.

Pour mettre à niveau les plug-ins vers la dernière version, exécutez la commande suivante :

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

Remplacez NAME par une chaîne à ajouter au nom de la tâche.

Pour afficher l'état de la mise à niveau, exécutez la commande suivante :

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

Remplacez NAME par la même chaîne que vous avez ajoutée au nom de la tâche.

Le résultat affiche l'état de la tâche, comme indiqué ci-dessous:

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

Si 1/1 s'affiche dans la colonne Completions, cela signifie que la tâche est terminée et que les plug-ins sont mis à jour.

Une fois la mise à niveau terminée, exécutez la commande suivante pour supprimer la tâche:

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

Remplacez NAME par la même chaîne que vous avez ajoutée au nom de la tâche.

Étapes suivantes