arrow_back

Migrate to Containers : Qwik Start

Testez vos connaissances et partagez-les avec notre communauté
done
Accédez à plus de 700 ateliers pratiques, badges de compétence et cours

Migrate to Containers : Qwik Start

Atelier 1 heure universal_currency_alt 1 crédit show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Testez vos connaissances et partagez-les avec notre communauté
done
Accédez à plus de 700 ateliers pratiques, badges de compétence et cours

GSP682

Logo des ateliers d'auto-formation Google Cloud

Présentation

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 :

Schéma de l'architecture de migration de conteneurs

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 vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour 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/navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le temporaire étudiant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up 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
  2. 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.
  3. 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.

  4. Cliquez sur Suivant.

  5. 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.

  6. 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.
  7. 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 gratuits.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Pour afficher un menu contenant la liste des produits et services Google Cloud, cliquez sur le menu de navigation en haut à gauche. Icône du menu de navigation

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.

  1. Cliquez sur Activer Cloud Shell Icône Activer Cloud Shell en haut de la console 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 YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :

Your Cloud Platform project in this session is set to YOUR_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.

  1. (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
  1. Cliquez sur Autoriser.

  2. Vous devez à présent obtenir le résultat suivant :

Résultat :

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project = <ID_Projet>

Exemple de résultat :

[core] project = qwiklabs-gcp-44776a13dea667a6 Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
  1. 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

  1. Exécutez la commande suivante pour créer et configurer une instance Compute Engine qui servira de source pour la VM à migrer :
gcloud compute instances create source-vm --zone={{{project_0.startup_script.lab_zone | zone}}} --machine-type=e2-standard-2 --subnet=default --scopes="cloud-platform" --tags=http-server,https-server --image=ubuntu-minimal-1604-xenial-v20210119a --image-project=ubuntu-os-cloud --boot-disk-size=10GB --boot-disk-type=pd-standard --boot-disk-device-name=source-vm \ --metadata startup-script={{{project_0.startup_script.metadata_script|METADATA_SCRIPT}}}

Vous avez installé le serveur Web Apache et créé une page Web de base avec le script de démarrage.

Exemple de résultat :

Created [https://www.googleapis.com/compute/beta/projects/qwiklabs-gcp-02-ace18e67a4ba/zones/{{{project_0.startup_script.lab_zone | zone}}}/instances/source-vm]. NAME: source-vm ZONE: {{{project_0.startup_script.lab_zone | zone}}} MACHINE_TYPE: e2-standard-2 PREEMPTIBLE: INTERNAL_IP: 10.128.0.2 EXTERNAL_IP: 34.70.249.10 STATUS: RUNNING
  1. Créez une règle de pare-feu pour autoriser le protocole HTTP :
gcloud compute firewall-rules create default-allow-http --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:80 --source-ranges=0.0.0.0/0 --target-tags=http-server

Exemple de résultat :

Creating firewall...working..Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-04-1126b7a391de/global/firewalls/default-allow-http]. Creating firewall...done. NAME: default-allow-http NETWORK: default DIRECTION: INGRESS PRIORITY: 1000 ALLOW: tcp:80 DENY: DISABLED: False

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer l'instance Compute Engine source

  1. 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.

  2. 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.

  1. 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.

Chemin de navigation vers le bouton &quot;Arrêter&quot;

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.
  1. 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.

  1. Dans Cloud Shell, créez le compte de service m4a-install :
gcloud iam service-accounts create m4a-install \ --project=$PROJECT_ID
  1. Accordez le rôle storage.admin au compte de service :
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:m4a-install@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/storage.admin"
  1. Téléchargez le fichier de clé du compte de service :
gcloud iam service-accounts keys create m4a-install.json \ --iam-account=m4a-install@$PROJECT_ID.iam.gserviceaccount.com \ --project=$PROJECT_ID
  1. Connectez-vous au cluster :
gcloud container clusters get-credentials migration-processing --zone {{{project_0.startup_script.lab_zone | zone}}}
  1. 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 :
migctl setup install --json-key=m4a-install.json --gcp-project $PROJECT_ID --gcp-region {{{project_0.startup_script.lab_region | region}}}
  1. 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.
  1. 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 :

  1. Dans Cloud Shell, créez le compte de service m4a-ce-src :
gcloud iam service-accounts create m4a-ce-src \ --project=$PROJECT_ID
  1. Accordez le rôle compute.viewer au compte de service :
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:m4a-ce-src@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/compute.viewer"
  1. Accordez le rôle compute.storageAdmin au compte de service :
gcloud projects add-iam-policy-binding $PROJECT_ID \ --member="serviceAccount:m4a-ce-src@$PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/compute.storageAdmin"
  1. 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
  1. 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.

  1. Créez le plan de migration qui définit les éléments à migrer :
migctl migration create my-migration --source source-vm --vm-id source-vm --type linux-system-container

Exemple de résultat :

Migration my-migration was created. Run `migctl migration status my-migration` to see its status.
  1. 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

  1. 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
  1. 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

  1. 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.
  1. 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.

  1. 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
  1. 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.

  1. 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

  1. Si l'éditeur Cloud Shell n'est pas déjà ouvert, cliquez sur le bouton Ouvrir l'éditeur.

  2. Ouvrez le fichier deployment_spec.yaml et recherchez l'objet Service appelé source-vm.

  3. 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 :

apiVersion: v1 kind: Service metadata: name: my-service spec: selector: app: source-vm ports: - protocol: TCP port: 80 targetPort: 80 type: LoadBalancer

Votre fichier devrait se présenter comme suit :

apiVersion: v1 kind: Service metadata: creationTimestamp: null name: source-vm spec: clusterIP: None selector: app: source-vm type: ClusterIP status: loadBalancer: {} --- apiVersion: v1 kind: Service metadata: name: my-service spec: selector: app: source-vm ports: - protocol: TCP port: 80 targetPort: 80 type: LoadBalancer
  1. Enregistrez le fichier.

  2. 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.

  1. À 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.

Atelier suivant

Étapes suivantes et informations supplémentaires

Terminer l'atelier

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.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible