Créer un plan de migration
Pour commencer à migrer des VM, vous devez créer une migration. Cette opération vous permet d'obtenir un objet de plan de migration. Un examen plus approfondi et une personnalisation du plan généré sont généralement nécessaires avant l'exécution de la migration.
Une migration est l'objet central avec lequel vous effectuez des actions de migration, et surveillez les activités et l'état de la migration à l'aide de migctl
et de Google Cloud Console. L'objet de migration est mis en œuvre en tant que définition de ressource personnalisée (CRD, Custom Resource Definition) Kubernetes. Il est contenu avec des ressources supplémentaires telles qu'un PersistentVolumeClaim
Kubernetes dans le plan de migration.
Avant de commencer
- Ajoutez une source de migration.
- Recherchez l'ID d'instance de machine virtuelle (VM), comme décrit dans la section suivante.
- Lorsque vous utilisez Compute Engine comme source de migration, arrêtez la VM source avant de créer une migration. Une fois l'objet de migration créé, vous pouvez redémarrer la VM.
Trouver l'ID de la VM
Vous pouvez trouver l'ID de VM en parcourant l'inventaire des VM ou en le recherchant manuellement, en fonction du type de source.
Rechercher l'ID à l'aide de l'inventaire des VM
Lorsque vous utilisez
migctl
, vous pouvez afficher la liste des VM en exécutant la commande suivante :migctl source list-vms <name> [ --refresh ] [ --wide ]
Lorsque vous utilisez la console Google Cloud, accédez au type de source. Vous trouverez une table répertoriant toutes les VM de ce type.
Trouver manuellement l'ID
Vous pouvez trouver l'ID de VM manuellement par type de source :
Compute Engine
vmId
: nom de la VM, tel qu'il apparaît dans Google Cloud Console.
VMware
vmId
: ID ou nom de la VM à migrer, tel qu'il est connu sur la plate-forme source. Vous pouvez utiliser l'une des valeurs ci-dessous.Nom de la VM. Si vous êtes sûr que chaque nom de VM est unique dans votre déploiement VMware, le nom de la VM suffit. Si des noms de VM peuvent être dupliqués, utilisez l'ID de la VM comme décrit ci-dessous.
Vous pouvez obtenir le nom de la VM à partir du client Web vSphere, comme illustré dans l'image suivante.
ID de la VM de vSphere, également appelé MoRef. Il est visible à partir de l'URL du client Web vSphere lors de la sélection de la VM.
Vous pouvez également rechercher l'ID MoRef à l'aide de PowerCLI.
Exigences concernant les noms
Vous attribuez un nom à une migration lorsque vous la créez dans Migrate to Containers. Le nom doit répondre aux exigences suivantes :
- contenir au maximum 63 caractères ;
- ne contenir que des caractères alphanumériques minuscules ou des tirets (-) ;
- commencer par un caractère alphanumérique ;
- se terminer par un caractère alphanumérique.
Charges de travail compatibles
Créer une migration
Charges de travail Linux et Windows
Créez une migration à l'aide de l'outil migctl
ou de Google Cloud Console.
migctl
Arrêtez la VM. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Créez la migration :
migctl migration create my-migration --source
my-src --vm-idmy-id --typeserver-type Où
--vm-id
spécifie le nom de l'instance de VM, comme indiqué dans la console du type de source. Où--type
est--type=windows-iis-container
oulinux-system-container
.
Console
Si la source de migration est une VM Compute Engine, arrêtez la VM. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Ouvrez la page "Migrate to Containers" dans la console Google Cloud.
Cliquez sur l'onglet Migrations pour afficher un tableau contenant les migrations disponibles.
Cliquez sur Créer une migration.
Saisissez le nom de la migration.
Sélectionnez la source de migration que vous avez créée dans Ajouter une source de migration.
Définissez le type de charge de travail sur Conteneur système basé sur des images ou Conteneur Windows IIS.
Saisissez l'ID de la VM source. Consultez la section Avant de commencer pour en savoir plus sur la détermination de l'ID de VM.
Cliquez sur Créer une migration.
Une fois la migration terminée, la colonne État affiche le plan de migration généré.
CRD
Pour définir une migration, créez un fichier de migration appelé
my-migration.yaml
.Dans ce fichier, le champ
name
soussourceProviderRef
spécifie le nom d'un objet SourceProvider précédemment créé et le champsourceId
spécifie le nom de l'instance Compute Engine.Type
sera--type=windows-iis-container
oulinux-system-container
.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: linux-system-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Si vous migrez une VM Compute Engine, arrêtez-la. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Appliquez le fichier :
kubectl apply -f my-migration.yaml
Charges de travail Tomcat
Spécifier les paramètres Tomcat
Vous devez spécifier manuellement les valeurs pour CATALINA_BASE
et CATALINA_HOME
.
migctl
Arrêtez la VM Compute Engine. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Créez la migration :
migctl migration create my-migration --source my-ce-src --vm-id my-id --type tomcat-container --parameters catalina-base=/catalina/base/path1:/catalina/base/path2,catalina-home=/catalina/home/path/,java-version=11
--vm-id
spécifie le nom de l'instance, comme indiqué dans la console du service.catalina-base
spécifie une liste de valeursCATALINA_BASE
séparées par deux-points.catalina-home
spécifie la valeur deCATALINA_HOME
.java-version
correspond au paramètre facultatif qui spécifie la version Java qui sera utilisée par le conteneur.
CRD
Pour définir une migration, créez un fichier Migration nommé
my-migration.yaml
.Dans ce fichier, définissez les champs suivants :
sourceProvider
: spécifie le nom d'un objet SourceProvider créé précédemment.sourceId
: spécifie le nom de l'instance de VM Compute Engine.parameters
: définit les paramètres spécifiques aux charges de travail Tomcat.
Voici un exemple de fichier de migration avec ces valeurs de champ définies :
apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: tomcat-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id parameters: - name: catalina-base value: /opt/tomcat - name: catalina-home value: /opt/tomcat
Si vous migrez une VM Compute Engine, arrêtez-la. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Appliquez le fichier :
kubectl apply -f my-migration.yaml
Charges de travail traditionnelles WebSphere
Spécifier WAS_HOME
La variable d'environnement WAS_HOME
spécifie l'emplacement d'installation de WAS traditionnel, tel que /opt/IBM/WebSphere/AppServer/
. Migrate to Containers utilise cette valeur lorsque vous créez une migration pour exécuter des scripts qui extraient des informations sur une application et pour déterminer le chemin d'un profil d'application. Si Migrate to Containers ne parvient pas à localiser le dossier d'installation, vous pouvez définir la valeur de WAS_HOME
.
migctl
Arrêtez la VM. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Créez la migration :
migctl migration create my-migration --source
my-was-src --vm-idmy-id --type websphere-traditional-container --parameters was-home=/opt/IBM/WebSphere/AppServer/ Où
--vm-id
spécifie le nom de l'instance, comme indiqué dans la console de service.
CRD
Pour définir une migration, créez un fichier Migration nommé
my-migration.yaml
.Dans ce fichier, définissez les champs suivants :
sourceProvider
: spécifie le nom d'un objet SourceProvider créé précédemment.sourceId
: spécifie le nom de l'instance de VM Compute Engine.parameters
: définit les paramètres spécifiques aux charges de travail WebSphere.
Voici un exemple de fichier de migration avec ces valeurs de champ définies :
apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: websphere-traditional-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id parameters: - name: was_home value: /opt/IBM/WebSphere/AppServer/
Si vous migrez une VM Compute Engine, arrêtez-la. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Appliquez le fichier :
kubectl apply -f my-migration.yaml
Charges de travail JBoss
Créez une migration à l'aide de l'outil migctl
ou de Google Cloud Console.
migctl
Arrêtez la VM. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Créez la migration :
migctl migration create my-migration --source
my-src --vm-idmy-id --type=jboss-container --parameters jboss-home=/opt/jboss Où
--vm-id
spécifie le nom de l'instance de VM, comme indiqué dans la console du type de source.
Console
Si la source de migration est une VM Compute Engine, arrêtez la VM. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Ouvrez la page "Migrate to Containers" dans la console Google Cloud.
Cliquez sur l'onglet Migrations pour afficher un tableau contenant les migrations disponibles.
Cliquez sur Créer une migration.
Saisissez le nom de la migration.
Sélectionnez la source de migration que vous avez créée dans Ajouter une source de migration.
Définissez le Type de charge de travail sur Conteneur JBoss.
Saisissez le nom de l'instance source. Consultez la section Avant de commencer pour en savoir plus sur la détermination du nom de l'instance.
Définissez le paramètre JBOSS_HOME, puis utilisez le chemin d'installation de JBoss.
Cliquez sur Créer une migration.
Une fois la migration terminée, la colonne État affiche le plan de migration généré.
CRD
Pour définir une migration, créez un fichier Migration nommé
my-migration.yaml
.Dans ce fichier, le champ
name
soussourceProviderRef
spécifie le nom d'un objet SourceProvider précédemment créé et le champsourceId
spécifie le nom de l'instance Compute Engine. Dans le champtype
, saisissezjboss-container
. Vous pouvez ajouter une liste de paramètres de découverte sousdiscoveryParameters
. Chaque paramètrediscoveryParameters
possède deux propriétés :name
etvalue
. Lors de la création d'une migration JBoss, le paramètrediscoveryParameters
nomméjboss-home
, qui spécifie le chemin d'accès au répertoire d'accueil JBoss en tant quevalue
, est obligatoire.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: jboss-container2 discoveryParameters: - name: jboss-home value: /path-to-jboss-home sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Si vous migrez une VM Compute Engine, arrêtez-la. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Appliquez le fichier :
kubectl apply -f my-migration.yaml
Charges de travail Apache
Créez une migration à l'aide de l'outil migctl
ou de Google Cloud Console.
migctl
Arrêtez la VM. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Créez la migration :
migctl migration create my-migration --source
my-src --vm-idmy-id --type=apache-containerOù
--vm-id
spécifie le nom de l'instance de VM, comme indiqué dans la console du type de source.
Console
Si la source de migration est une VM Compute Engine, arrêtez la VM. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Ouvrez la page "Migrate to Containers" dans la console Google Cloud.
Cliquez sur l'onglet Migrations pour afficher un tableau contenant les migrations disponibles.
Cliquez sur Créer une migration.
Saisissez le nom de la migration.
Sélectionnez la source de migration que vous avez créée dans Ajouter une source de migration.
Définissez le Type de charge de travail sur Conteneur Apache.
Saisissez l'ID de la VM source. Consultez la section Avant de commencer pour en savoir plus sur la détermination de l'ID de VM.
Cliquez sur Créer une migration.
Une fois la migration terminée, la colonne État affiche le plan de migration généré.
CRD
Pour définir une migration, créez un fichier Migration nommé
my-migration.yaml
.Dans ce fichier, le champ
name
soussourceProviderRef
spécifie le nom d'un objet SourceProvider précédemment créé et le champsourceId
spécifie le nom de l'instance Compute Engine. Dans le champtype
, saisissezapache-container
.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: apache-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Si vous migrez une VM Compute Engine, arrêtez-la. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Appliquez le fichier :
kubectl apply -f my-migration.yaml
Charges de travail WordPress
Créez une migration à l'aide de l'outil migctl
ou de Google Cloud Console.
migctl
Arrêtez la VM. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Créez la migration :
migctl migration create my-migration --source
my-src --vm-idmy-id --type=wordpress-containerOù
--vm-id
spécifie le nom de l'instance de VM, comme indiqué dans la console du type de source.
Console
Si la source de migration est une VM Compute Engine, arrêtez la VM. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Ouvrez la page "Migrate to Containers" dans la console Google Cloud.
Cliquez sur l'onglet Migrations pour afficher un tableau contenant les migrations disponibles.
Cliquez sur Créer une migration.
Saisissez le nom de la migration.
Sélectionnez la source de migration que vous avez créée dans Ajouter une source de migration.
Définissez le Type de charge de travail sur Conteneur WordPress.
Saisissez l'ID de la VM source. Consultez la section Avant de commencer pour en savoir plus sur la détermination de l'ID de VM.
Cliquez sur Créer une migration.
Une fois la migration terminée, la colonne État affiche le plan de migration généré.
CRD
Pour définir une migration, créez un fichier Migration nommé
my-migration.yaml
.Dans ce fichier, le champ
name
soussourceProviderRef
spécifie le nom d'un objet SourceProvider précédemment créé et le champsourceId
spécifie le nom de l'instance Compute Engine. Dans le champtype
, saisissezwordpress-container
.apiVersion: anthos-migrate.cloud.google.com/v1 kind: Migration metadata: name: my-migration namespace: v2k-system spec: type: wordpress-container sourceSnapshotTemplate: spec: sourceProviderRef: name: my-ce-src sourceId: my-id
Si vous migrez une VM Compute Engine, arrêtez-la. La VM doit être arrêtée pour que vous puissiez créer une migration. Une fois la migration terminée, vous pouvez redémarrer la VM.
Appliquez le fichier :
kubectl apply -f my-migration.yaml
Surveiller la création de la migration
Utilisez l'outil migctl
ou Google Cloud Console pour surveiller la progression de la création de la migration.
migctl
Attendez la fin de la phase de création de la migration :
migctl migration status my-migration NAME CURRENT-OPERATION PROGRESS STEP STATUS AGE my-migration GenerateMigrationPlan [1/3] CreateSourceSnapshots Running 13s
Si vous migrez une VM Compute Engine, redémarrez-la. Une VM arrêtée n'est pas nécessaire après cette étape.
Console
Lorsque l'état de migration indique que la migration a été créée, passez à l'étape suivante :
Ouvrez la page "Migrate to Containers" dans la console Google Cloud.
Cliquez sur l'onglet Migrations pour afficher un tableau contenant les migrations disponibles.
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. La page Informations sur la migration s'affiche. Cliquez sur l'onglet Surveillance pour afficher l'état détaillé, ou sur l'onglet Événements pour afficher les événements de migration.
Une fois la migration terminée, l'état affiche Plan de migration généré.
Si vous migrez une VM Compute Engine, redémarrez-la. Une VM arrêtée n'est pas nécessaire après cette étape.
CRD
Utilisez kubectl
pour obtenir les informations et l'état de la migration MigrationStatus en spécifiant un chemin JSONPath dans le champ correspondant.
Attendez la fin de la phase de création de la migration :
Utilisez deux commandes
kubectl wait
, l'une pour attendre la condition "Prêt" et l'autre pour la condition "Échec". La phase de création du plan de migration s'exécute jusqu'à ce que la première condition soit remplie.unset pids; for cond in "Ready" "Failed"; do kubectl wait migrations.anthos-migrate.cloud.google.com my-migration -n v2k-system --for condition=$cond --timeout=15m & pids+=($!); done; wait -p met_pid -n ${pids[@]} kill ${pids[@]/$met_pid} # terminate the process that did not complete.
Une fois l'exécution de la commande d'attente terminée, l'opération est terminée, et vous pouvez passer à l'étape suivante.
Obtenez l'état du plan de migration :
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system -o jsonpath={.status.conditions[?(@.type==\"Ready\")].status} my-migration
Renvoie
True
lorsque le plan de migration est prêt ouFalse
lorsqu'il a échoué.Lorsque la phase de création de la migration échoue, utilisez la commande suivante pour obtenir le message d'erreur :
kubectl get migrations.anthos-migrate.cloud.google.com -n v2k-system -o jsonpath={.status.conditions[?(@.type=="Ready")].message} my-migration
Si vous migrez une VM Compute Engine, redémarrez-la. Une VM arrêtée n'est pas nécessaire après cette étape.
Étapes suivantes
- Découvrez comment migrer des données.