Exécuter une migration

Vous commencez à migrer des VM avec une commande qui génère des artefacts de conteneur cible et les extrait à l'aide du cluster de traitement créé à l'étape Installer Migrate to Containers.

Cet article explique comment exécuter une migration pour :

  • extraire les artefacts de charge de travail de la VM dans une image de conteneur et un volume de données (pour les charges de travail avec état) ;
  • copier une image de conteneur de votre VM dans un registre de conteneurs ;
  • générer des artefacts de déploiement de migration que vous pouvez utiliser pour les déploiements de production.

Une fois cette étape terminée, vous pourrez :

  • Tester l'image et le volume de données (pour les charges de travail avec état) sur le cluster de traitement.

    Bien que vous n'ayez pas encore déployé l'image sur un cluster distinct, elle peut être exécutée et testée. Une fois la migration terminée, l'image n'est pas associée à la VM source.

  • Déployer l'image et le volume de données (pour les charges de travail avec état) sur un autre cluster.

Avant de commencer

Pour réussir la migration, vous devez avoir déjà effectué les opérations suivantes :

Exécuter la migration et générer des artefacts

Exécutez la commande migctl migration generate-artifacts ou utilisez la console Google Cloud pour générer des artefacts de conteneur cible dans le cadre du traitement d'une VM pour la migration.

migctl

  1. Exécutez la migration :

    migctl migration generate-artifacts my-migration
  2. Obtenez l'état de la migration :

    migctl migration status my-migration

Console

  1. Ouvrez la page "Migrate to Containers" dans la console Google Cloud.

    Accéder à la page Migrate to Containers

  2. Cliquez sur l'onglet Migrations pour afficher un tableau contenant les migrations disponibles.

  3. Sur la ligne de la migration concernée, sélectionnez Générer des artefacts dans la liste déroulante Étapes suivantes.

  4. Pour afficher l'état d'une migration, procédez comme suit :

    • Observez la colonne État de la ligne correspondant à votre migration.

    • Cliquez sur le nom de la migration. L'onglet Détails de la migration s'ouvre. Cliquez sur l'onglet Surveillance pour afficher l'état détaillé, ou sur l'onglet Événements pour afficher les événements de migration.

  5. Lorsque l'état de la migration indique Artefacts générés, vous pouvez passer à l'étape suivante.

CRD

Linux, Windows et Tomcat

  1. Récupérez le nom de l'objet AppXGenerateArtifactsFlow en utilisant le nom spécifié dans le code yaml de la migration lors de sa création :

    kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system my-migration  -o jsonpath={.status.migrationPlanRef.name}

  2. Créez un fichier AppXGenerateArtifactsTask my-generate.yaml pour définir une tâche de génération d'artefacts.

    Dans ce fichier, migration indique le nom spécifié pour la migration lors de sa création, et flow représente l'objet AppxGenerateArtifactsFlow de la migration, obtenu à l'étape précédente :

    apiVersion: anthos-migrate.cloud.google.com/v1beta2
    kind: AppXGenerateArtifactsTask
    metadata:
     name: my-migration-task
     namespace: v2k-system
    spec:
     migration:
       name:  my-migration
     flow:
       name:  appx-generateartifactsflow-my-migration
  3. Appliquez le fichier :

    kubectl apply -f my-generate.yaml

Lorsque vous générez des artefacts pour des charges de travail, Migrate to Containers écrit les artefacts, puis les importe dans un bucket Cloud Storage. Le fichier de répertoire d'artefact contient :

  • Dockerfile : le fichier Dockerfile utilisé pour créer l'image pour votre VM migrée.
  • deployment_spec.yaml : le fichier YAML qui configure votre charge de travail.
  • secrets.yaml : un répertoire basé sur Tomcat contient également un fichier de secrets.

    Vous pouvez utiliser kubectl apply avec ce fichier pour déployer la charge de travail sur un autre cluster, tel qu'un cluster de production ou de test.

  • Plusieurs répertoires et fichiers extraits de la source et utilisés par le fichier Dockerfile.

Télécharger les artefacts générés

Pour télécharger les artefacts de conteneur générés dans ce répertoire imbriqué, exécutez la commande suivante :

migctl migration get-artifacts my-migration

Selon votre plug-in et votre plan de migration, les artefacts générés contiennent un ou plusieurs fichiers Dockerfile servant à créer des images de conteneurs, ainsi qu'une ou plusieurs spécifications de déploiement Kubernetes.

En outre, Migrate to Containers génère une configuration Skaffold que vous pouvez utiliser pour créer et déployer rapidement toutes les images générées en une seule étape.

Étapes suivantes

Linux

Windows

Tomcat

WebSphere

JBoss

Apache

WordPress