Ce document explique comment activer la virtualisation imbriquée sur une instance de machine virtuelle (VM) et comment confirmer la possibilité de créer une VM imbriquée. Vous pouvez activer la virtualisation imbriquée sur une VM en utilisant l'une des méthodes suivantes :
Recommandation. Activer la virtualisation imbriquée directement sur une VM nouvelle ou existante en définissant le champ
enableNestedVirtualization
surtrue
lors de la création ou de la mise à jour de la VM, respectivement. Cette méthode est recommandée, car elle ne nécessite pas de créer une image personnalisée ni d'utiliser la clé de licence spéciale.Activer la virtualisation imbriquée à l'aide de la clé de licence spéciale. Pour cela, créez un disque de démarrage, créez une image personnalisée avec la clé de licence spéciale pour la virtualisation imbriquée, puis créez une VM qui utilise l'image personnalisée.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
VM_NAME
: nom de la nouvelle VM L1 avec la virtualisation imbriquée activéeZONE
: zone de la nouvelle VM L1 avec la virtualisation imbriquée activéePROJECT_ID
: ID du projetZONE
: zone de la nouvelle VM L1 avec la virtualisation imbriquée activéeVM_NAME
: nom de la nouvelle VM L1 avec la virtualisation imbriquée activéeExportez les propriétés de la VM à l'aide de la commande
gcloud compute instances export
suivante :gcloud compute instances export VM_NAME \ --destination=YAML_FILE_PATH \ --zone=ZONE
Remplacez l'élément suivant :
VM_NAME
: nom de la VM à partir de laquelle exporter les propriétésYAML_FILE_PATH
: chemin d'accès et nom du fichier .yaml dans lequel enregistrer les données de configuration exportéesZONE
: zone contenant la VM
Dans le fichier de configuration de la VM enregistré dans FILE_PATH, mettez à jour la valeur de
enableNestedVirtualization
. Si la valeur ne figure dans le fichier, ajoutez l'élément suivant :advancedMachineFeatures: enableNestedVirtualization: true
Mettez à jour la VM avec la valeur de
enableNestedVirtualization
en utilisant la commandegcloud compute instances update-from-file
suivante :gcloud compute instances update-from-file VM_NAME \ --source=FILE_PATH \ --most-disruptive-allowed-action=RESTART \ --zone=ZONE
Remplacez l'élément suivant :
VM_NAME
: nom de la VM à mettre à jourFILE_PATH
: chemin d'accès au fichier de configuration de la VM mis à jourZONE
: zone contenant la VM à mettre à jour
PROJECT_ID
: ID du projetZONE
: zone contenant la VMVM_NAME
: nom de la VM à partir de laquelle exporter les propriétésCréez un disque de démarrage à partir d'une image publique ou d'une image personnalisée. L'exemple suivant utilise
debian-cloud
pour le projet d'image etdebian-10
pour la famille d'images. Si vous disposez déjà d'une instance de VM avec un disque existant, vous pouvez ignorer cette étape.gcloud
gcloud compute disks create DISK_NAME \ --zone=ZONE \ --image-project=debian-cloud \ --image-family=debian-10
Remplacez l'élément suivant :
DISK_NAME
: le nom du nouveau disque.ZONE
: zone dans laquelle vous souhaitez créer le disque
REST
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks { ... "name": "DISK_NAME", "sourceImage": "projects/debian-cloud/global/images/family/debian-10", ... }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projetZONE
: zone dans laquelle vous souhaitez créer le disqueDISK_NAME
: le nom du nouveau disque.
Créez une image personnalisée avec la clé de licence spéciale requise pour la virtualisation imbriquée.
gcloud
gcloud compute images create IMAGE_NAME \ --source-disk DISK_NAME \ --source-disk-zone ZONE \ --licenses "https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx"
Remplacez l'élément suivant :
IMAGE_NAME
: nom de la nouvelle imageDISK_NAME
: nom du disque précédemment créé.ZONE
: zone dans laquelle vous souhaitez créer l'image
REST
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images { ... "licenses": ["projects/vm-options/global/licenses/enable-vmx"], "name": "IMAGE_NAME", "sourceDisk": "zones/ZONE/disks/DISK_NAME", ... }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projetIMAGE_NAME
: nom de la nouvelle imageZONE
: zone dans laquelle vous souhaitez créer l'imageDISK_NAME
: nom du disque précédemment créé.
Vous pouvez éventuellement supprimer le disque source après avoir créé l'image avec la licence spéciale.
gcloud
gcloud compute disks delete DISK_NAME --zone=ZONE
Remplacez l'élément suivant :
DISK_NAME
: nom du disque à supprimerZONE
: zone contenant le disque à supprimer
REST
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projetZONE
: zone contenant le disque à supprimerDISK_NAME
: nom du disque à supprimer
Créez une VM qui utilise la nouvelle image avec la licence spéciale. La configuration minimale de la plate-forme du processeur doit être
"Intel Haswell"
.gcloud
gcloud compute instances create VM_NAME \ --zone=ZONE \ --min-cpu-platform "Intel Haswell" \ --image IMAGE_NAME
Remplacez les éléments suivants :
VM_NAME
: nom de la VMZONE
: zone dans laquelle créer la VMIMAGE_NAME
: nom de l'image précédemment créée
REST
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { ... "name": "VM_NAME", "minCpuPlatform": "Intel Haswell", "disks": [ { "initializeParams": { "sourceImage": "IMAGE_NAME" } } ] ... }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projetVM_NAME
: nom de la VMZONE
: zone dans laquelle créer la VMIMAGE_NAME
: nom de l'image précédemment créée
Connectez-vous à l'instance de VM.
gcloud compute ssh VM_NAME
Remplacez
VM_NAME
par le nom de la VM à laquelle se connecter.Vérifiez que la virtualisation imbriquée est activée. Toute réponse autre que
0
confirme que la virtualisation imbriquée est activée.grep -cw vmx /proc/cpuinfo
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Activer la virtualisation imbriquée directement sur une nouvelle VM
Activez la virtualisation imbriquée directement sur une VM en procédant comme suit :
gcloud
Créez une VM L1 avec la virtualisation imbriquée activée à l'aide de la commande
gcloud compute instances create
suivante :gcloud compute instances create VM_NAME \ --enable-nested-virtualization \ --zone=ZONE \ --min-cpu-platform="Intel Haswell"
Remplacez l'élément suivant :
REST
Créez une VM L1 avec la virtualisation imbriquée activée à l'aide de la méthode
instances.insert
suivante :POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { ... "name": "VM_NAME", ... "minCpuPlatform": "Intel Haswell", "advancedMachineFeatures": { "enableNestedVirtualization": true }, ... }
Remplacez l'élément suivant :
Activer la virtualisation imbriquée directement sur une VM existante
Activez la virtualisation imbriquée sur une VM existante à l'aide de la méthode suivante :
gcloud
REST
Mettez à jour la valeur pour
enableNestedVirtualization
à l'aide de la méthodeinstances.update
suivante :PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART { ⋮ "advanced_machine_features": { ⋮ "enableNestedVirtualization": "true" }, ⋮ }
Remplacez l'élément suivant :
Activer la virtualisation imbriquée à l'aide de la clé de licence spéciale
Vous pouvez activer la virtualisation imbriquée sur la VM en créant une image personnalisée avec une clé de licence spéciale qui active VMX sur la VM L1. La clé de licence n'entraîne pas de frais supplémentaires.
Vérifier que la virtualisation imbriquée est activée sur la VM
Étapes suivantes
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/17 (UTC).
-