Les instances de VM peuvent exister sur site, être gérées par des produits tels que VMware vSphere, et se trouver dans des clouds publics comme AWS ou Azure, en plus des instances Google Cloud Compute Engine.
Anthos est une plate-forme d'applications Open Source qui vous permet de moderniser vos applications existantes dans votre environnement hybride ou multicloud. Vous pouvez créer de nouvelles VM et les exécuter n'importe où de manière sécurisée. Anthos repose sur des technologies Open Source élaborées par Google, comme Kubernetes, Istio et Knative, et garantit la cohérence entre les environnements cloud et sur site.
Comme les charges de travail sont converties en conteneurs, les équipes informatiques n'ont plus besoin d'effectuer de maintenance ni d'appliquer des correctifs de sécurité au niveau du système d'exploitation pour les VM. Par ailleurs, les mises à jour de stratégie et de sécurité sont automatisées et effectuées à grande échelle. La surveillance des environnements cloud et sur site s'effectue à l'aide d'une seule interface dans la console Cloud.
Migrate to Containers permet de convertir quasiment instantanément une VM existante en pod hébergé sur Kubernetes, avec toutes les valeurs associées à l'exécution de vos applications dans un cluster Kubernetes.
Dans cet atelier, vous allez créer une machine virtuelle (VM) Compute Engine simple, puis utiliser Migrate to Containers pour migrer la VM vers un cluster de traitement GKE dans le cloud.
Vous pouvez effectuer les étapes à l'aide de l'outil migctl ou de la console Cloud. migctl est un outil de ligne de commande permettant de configurer et de gérer un environnement de migration Migrate to Containers sur Google Cloud. migctl est disponible dans Cloud Shell.
Migrate to Containers accélère la conteneurisation :
Objectifs
Vous allez apprendre à :
créer une instance Compute Engine hébergeant un serveur Web ;
créer un cluster GKE pour héberger l'instance Compute Engine migrée ;
migrer l'instance Compute Engine à l'aide de Migrate to Containers ;
tester le serveur Web existant dans GKE.
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
Le bouton "Ouvrir la console Google Cloud"
Le temps restant
Les identifiants temporaires que vous devez utiliser pour cet atelier
Des informations complémentaires vous permettant d'effectuer l'atelier
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
Cliquez sur Suivant.
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
Accédez aux pages suivantes :
Acceptez les conditions d'utilisation.
N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
Cliquez sur Activer Cloud Shell en haut de la console Google Cloud.
Passez les fenêtres suivantes :
Accédez à la fenêtre d'informations de Cloud Shell.
Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
(Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
Cliquez sur Autoriser.
Résultat :
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
(Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Définissez une variable d'environnement pour votre ID de projet :
export PROJECT_ID=$DEVSHELL_PROJECT_ID
Tâche 1 : Créer l'instance Compute Engine source
Exécutez la commande suivante pour créer et configurer une instance Compute Engine qui servira de source pour la VM à migrer :
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer l'instance Compute Engine source
Dans Cloud Console, accédez à Compute Engine > VM instances (Instances de VM). Repérez la ligne de l'instance que vous avez créée et copiez l'adresse IP externe.
Collez l'adresse IP de l'instance dans la barre d'adresse de votre navigateur. Ajoutez le préfixe http://.
La page "Hello World" doit s'afficher.
Pour migrer la VM, commencez par arrêter son exécution.
Dans la console Cloud, accédez à Compute Engine > Instances de VM. Cochez la case située à gauche de source-vm, puis cliquez sur le bouton ARRÊTER qui se trouve en haut.
Remarque : Si vous ne voyez pas le bouton Arrêter, sélectionnez le bouton Autres actions (trois points verticaux) et choisissez "Arrêter" dans le menu déroulant.
Confirmez l'arrêt en cliquant sur Arrêter dans la fenêtre pop-up. Vous pouvez passer à la section suivante pendant l'arrêt de la VM.
Remarque : La VM doit être arrêtée pour que vous puissiez la migrer. Vous pouvez la redémarrer après avoir créé la migration (voir ci-dessous), soit à l'aide de l'interface utilisateur, soit à l'aide de la commande migctl migration create.
Tâche 2 : Créer un cluster de traitement
Dans les étapes suivantes, vous allez créer un cluster GKE dans le cloud que vous utiliserez comme cluster de traitement. C'est dans ce cluster que vous installerez Migrate to Containers et que vous exécuterez la migration.
Dans Cloud Shell, utilisez la commande ci-dessous pour créer un cluster Kubernetes qui servira de cluster de traitement :
gcloud container clusters create migration-processing --project=$PROJECT_ID --zone={{{project_0.startup_script.lab_zone | zone}}} --machine-type e2-standard-4 --image-type ubuntu_containerd --num-nodes 3 --enable-stackdriver-kubernetes --subnetwork "projects/$PROJECT_ID/regions/{{{project_0.startup_script.lab_region | region}}}/subnetworks/default"
Remarque : Veillez à indiquer la même zone que celle que vous avez spécifiée lors de la création de la VM.
Exemple de résultat :
Creating cluster migration-processing in {{{project_0.startup_script.lab_zone | zone}}} ...done.
Created [https://container.googleapis.com/v1/projects/qwiklabs-gcp-04-1126b7a391de/zones/{{{project_0.startup_script.lab_zone | zone}}}/clusters/migration-processing].
To inspect the contents of your cluster, go to: https://console.cloud.google.com/kubernetes/workload_/gcloud/{{{project_0.startup_script.lab_zone | zone}}}/migration-processing?project=qwiklabs-gcp-04-1126b7a391de
kubeconfig entry generated for migration-processing.
NAME: migration-processing
LOCATION: {{{project_0.startup_script.lab_zone | zone}}}
MASTER_VERSION: 1.20.10-gke.301
MASTER_IP: 35.202.0.171
MACHINE_TYPE: e2-standard-4
NODE_VERSION: 1.20.10-gke.301
NUM_NODES: 3
STATUS: RUNNING
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer un cluster de traitement
Tâche 3 : Installer Migrate to Containers
Pour autoriser Migrate to Containers à accéder à Container Registry et à Cloud Storage, vous devez créer un compte de service doté du rôle storage.admin.
Dans Cloud Shell, créez le compte de service m4a-install :
gcloud iam service-accounts create m4a-install \
--project=$PROJECT_ID
Accordez le rôle storage.admin au compte de service :
Configurez les composants Migrate to Containers sur votre cluster de traitement à l'aide de l'outil de ligne de commande migctl inclus dans Migrate to Containers :
Validez l'installation de Migrate to Containers. Utilisez la commande migctl doctor pour confirmer le déploiement :
migctl doctor
Il peut s'écouler plus d'une minute avant que la commande ne renvoie le résultat ci-dessous :
Exemple de résultat :
[✓] Deployment
[✓] Docker registry
[✓] Artifacts repo
[x] Source Status
Remarque : La section "Source Status" (État de la source) affiche [x] jusqu'à ce que vous définissiez votre première source de migration ci-dessous.
Réexécutez la commande jusqu'à ce que le déploiement soit réussi.
Tâche 4 : Migrer la VM
Vous allez maintenant créer un plan de migration avec les informations sur la migration, puis l'utiliser pour migrer la VM.
Pour utiliser Compute Engine en tant que source de migration, vous devez d'abord créer un compte de service avec les rôles compute.viewer et compute.storageAdmin :
Dans Cloud Shell, créez le compte de service m4a-ce-src :
gcloud iam service-accounts create m4a-ce-src \
--project=$PROJECT_ID
Accordez le rôle compute.viewer au compte de service :
Téléchargez le fichier de clé du compte de service :
gcloud iam service-accounts keys create m4a-ce-src.json \
--iam-account=m4a-ce-src@$PROJECT_ID.iam.gserviceaccount.com \
--project=$PROJECT_ID
Créez la source de la migration :
migctl source create ce source-vm --project $PROJECT_ID --json-key=m4a-ce-src.json
Dans cette commande, m4a-ce-src.json correspond au compte de service que vous avez créé ci-dessus.
Créer une migration
Pour commencer à migrer des VM, vous devez créer une migration. Cela vous permet d'obtenir un objet de plan de migration.
Une migration est l'objet central via lequel vous effectuez des actions de migration et surveillez les activités/l'état de la migration à l'aide de l'outil migctl ou dans la console Cloud. L'objet de migration est implémenté en tant que définition de ressource personnalisée (CRD, Custom Resource Definition) Kubernetes.
Vous allez ensuite créer une migration en exécutant l'outil migctl.
Créez le plan de migration qui définit les éléments à migrer :
Migration my-migration was created. Run `migctl migration status my-migration` to see its status.
Exécutez la commande suivante pour vérifier l'état :
migctl migration status my-migration
Lorsque l'état indique que la migration est terminée, vous pouvez passer à l'étape suivante.
NAME CURRENT-OPERATION PROGRESS STEP STATUS AGE
my-migration GenerateMigrationPlan [3/3] Discovery Completed 1m30s
Examiner le plan de migration
Pour cet atelier, vous utiliserez le plan de migration par défaut. Vous allez à présent télécharger le plan de migration uniquement pour l'examiner :
migctl migration get my-migration
Ouvrez le fichier my-migration.yaml dans l'éditeur de texte de votre choix ou dans l'éditeur de code de Cloud Shell pour l'examiner.
Si vous devez apporter des modifications, importez le nouveau plan à l'aide de la commande migctl migration update my-migration.
Tâche 5 : Migrer la VM à l'aide du plan de migration
La commande suivante permet de migrer la VM et de générer des artefacts que vous pouvez utiliser pour déployer la charge de travail :
migctl migration generate-artifacts my-migration
Remarque : Si vous obtenez le résultat Error: Migration plan generation is not completed (Erreur : le plan de migration n'a pas été généré), réexécutez la commande jusqu'à ce que vous obteniez le résultat décrit dans l'exemple.
Exemple de résultat :
Generate Artifacts task started for Migration my-migration. Run `migctl migration status my-migration` to see its status.
Une fois la migration lancée, vérifiez son état en exécutant la commande suivante :
migctl migration status my-migration
La migration peut prendre plusieurs minutes.
Réexécutez la commande jusqu'à ce que l'état "Completed" (Terminé) apparaisse.
NAME CURRENT-OPERATION PROGRESS STEP STATUS AGE
my-migration GenerateArtifacts [3/3] GenerateDeploymentFiles Completed 7m35s
Vous pouvez ajouter l'option -v pour la verbosité :
migctl migration status my-migration -v
Tâche 6 : Déployer la charge de travail migrée
Dans les étapes ci-dessous, vous allez obtenir les artefacts de déploiement que vous avez générés lors de la migration, puis les utiliser pour déployer votre charge de travail migrée sur le cluster. Pour terminer, vérifiez que la page Web "Hello World!" est disponible depuis votre application migrée.
Une fois la migration terminée, récupérez les artefacts YAML générés :
migctl migration get-artifacts my-migration
La commande télécharge les fichiers générés lors de la migration :
deployment_spec.yaml : le fichier YAML qui configure votre charge de travail
Dockerfile : le fichier utilisé pour créer l'image pour votre VM migrée
migration.yaml : une copie du plan de migration
blocklist.yaml : la liste des services de conteneurs à désactiver en fonction de vos paramètres dans le plan de migration
Si l'éditeur Cloud Shell n'est pas déjà ouvert, cliquez sur le bouton Ouvrir l'éditeur.
Ouvrez le fichier deployment_spec.yaml et recherchez l'objet Service appelé source-vm.
Sous la définition Service suivante, ajoutez à la fin un autre Service qui exposera le port 80 pour l'accès à votre serveur Web via HTTP :
Appliquez deployment_spec.yaml pour déployer la charge de travail :
kubectl apply -f deployment_spec.yaml
Exemple de résultat :
deployment.apps/source-vm created
service/source-vm created
service/my-service created
Le déploiement peut prendre quelques minutes.
À présent, recherchez une adresse IP externe :
kubectl get service
Exemple de résultat :
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hello-service LoadBalancer 10.23.253.140 35.184.157.83 80:31060/TCP 11m
kubernetes ClusterIP 10.23.240.1 443/TCP 31m
my-service LoadBalancer 10.23.244.80 104.197.196.94 80:31026/TCP 2m3s
source-vm ClusterIP None 11m
Lorsque le serveur Web est prêt, une adresse IP externe s'affiche pour le service my-service que vous avez ajouté.
Tâche 7 : Tester la migration
Pour tester la migration, ouvrez un navigateur et rendez-vous sur la page Web à l'adresse IP externe de my-service (veillez à utiliser HTTP plutôt que HTTPS).
Exemple :
http://<my-service-external-IP>
Cliquez sur Vérifier ma progression pour valider l'objectif.
Vérifier la création de my-service via la migration
Félicitations !
Vous avez migré une instance Compute Engine vers un pod Kubernetes à l'aide de Migrate to Containers. Vous pouvez utiliser cette technique pour d'autres sources de VM, telles que VMware vSphere, AWS et Azure entre autres.
Terminer votre quête
Cet atelier d'auto-formation fait partie de la quête VM Migration. Une quête est une série d'ateliers associés qui constituent un parcours de formation. Si vous terminez une quête, vous obtenez un badge attestant de votre réussite. Vous pouvez rendre publics les badges que vous recevez et ajouter leur lien dans votre CV en ligne ou sur vos comptes de réseaux sociaux. Inscrivez-vous à n'importe quelle quête contenant cet atelier pour obtenir immédiatement les crédits associés. Découvrez toutes les quêtes disponibles dans le catalogue Google Cloud Skills Boost.
Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Votre compte et les ressources utilisées sont alors supprimés de la plate-forme d'atelier.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.
Voici à quoi correspond le nombre d'étoiles que vous pouvez attribuer à un atelier :
1 étoile = très insatisfait(e)
2 étoiles = insatisfait(e)
3 étoiles = ni insatisfait(e), ni satisfait(e)
4 étoiles = satisfait(e)
5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.
Dernière mise à jour du manuel : 18 novembre 2022
Dernier test de l'atelier : 6 juin 2022
Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.
Ce contenu n'est pas disponible pour le moment
Nous vous préviendrons par e-mail lorsqu'il sera disponible
Parfait !
Nous vous contacterons par e-mail s'il devient disponible
Un atelier à la fois
Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci
Utilisez la navigation privée pour effectuer l'atelier
Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
Dans cet atelier, vous allez utiliser Migrate to Containers pour migrer une instance de VM Compute Engine vers l'image de conteneur correspondante hébergée sur un pod Kubernetes.
Durée :
1 min de configuration
·
Accessible pendant 60 min
·
Terminé après 60 min