En este documento, se describe cómo habilitar la virtualización anidada en una instancia de máquina virtual (VM) y cómo confirmar que puedes crear una VM anidada. Habilita la virtualización anidada en una VM mediante uno de los siguientes métodos:
Recomendada. Para habilitar la virtualización anidada directamente en una VM nueva o existente, configura el campo
enableNestedVirtualization
comotrue
mientras creas la VM o actualízala. Este es el método recomendado, ya que no requiere que crees una imagen personalizada ni uses la clave de licencia especial.A fin de habilitar la virtualización anidada, usa la clave de licencia especial. Para ello, crea un disco de arranque, crea una imagen personalizada con la clave de licencia de virtualización anidada especial y, luego, crea una VM que use esta imagen personalizada.
Antes de comenzar
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
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
: Es el nombre de la VM L1 nueva con la virtualización anidada habilitada.ZONE
: Es la zona para la nueva VM L1 con la virtualización anidada habilitada.PROJECT_ID
: El ID del proyectoZONE
: Es la zona para la nueva VM L1 con la virtualización anidada habilitada.VM_NAME
: Es el nombre de la VM L1 nueva con la virtualización anidada habilitada.Exporta las propiedades de la VM mediante el siguiente comando
gcloud compute instances export
:gcloud compute instances export VM_NAME \ --destination=YAML_FILE_PATH \ --zone=ZONE
Reemplaza lo siguiente:
VM_NAME
: El nombre de la VM desde la que se exportarán las propiedadesYAML_FILE_PATH
: La ruta de acceso y el nombre de un archivo .yaml en el que se guardarán los datos de configuración exportadosZONE
: La zona que contiene la VM
En el archivo de configuración de VM que se guardó en FILE_PATH, actualiza el valor de
enableNestedVirtualization
. Si el valor no está en el archivo, agrega lo siguiente:advancedMachineFeatures: enableNestedVirtualization: true
Actualiza la VM con el valor de
enableNestedVirtualization
mediante el siguiente comandogcloud compute instances update-from-file
:gcloud compute instances update-from-file VM_NAME \ --source=FILE_PATH \ --most-disruptive-allowed-action=RESTART \ --zone=ZONE
Reemplaza lo siguiente:
VM_NAME
: El nombre de la VM que se actualizaráFILE_PATH
: La ruta de acceso al archivo de configuración de VM actualizadaZONE
: la zona que contiene la VM que se actualizará
PROJECT_ID
: El ID del proyectoZONE
: La zona que contiene la VMVM_NAME
: El nombre de la VM desde la que se exportarán las propiedadesCrea un disco de arranque a partir de una imagen pública o de una imagen personalizada. En el siguiente ejemplo, se usa
debian-cloud
para el proyecto de imagen ydebian-10
para la familia de imágenes. Si ya tienes una instancia de VM con un disco existente, puedes omitir este paso.gcloud
gcloud compute disks create DISK_NAME \ --zone=ZONE \ --image-project=debian-cloud \ --image-family=debian-10
Reemplaza lo siguiente:
DISK_NAME
: Es el nombre del disco nuevo.ZONE
: Es la zona en la que se creará la VM.
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", ... }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyectoZONE
: Es la zona en la que se creará la VM.DISK_NAME
: Es el nombre del disco nuevo.
Crea una imagen personalizada con la clave de licencia especial que se requiere para la virtualización anidada.
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"
Reemplaza lo siguiente:
IMAGE_NAME
: Es el nombre de la imagen nueva.DISK_NAME
: Es el nombre del disco que se creó antes.ZONE
: Es la zona en la que se creará la VM.
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", ... }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyectoIMAGE_NAME
: Es el nombre de la imagen nueva.ZONE
: Es la zona en la que se creará la VM.DISK_NAME
: Es el nombre del disco que se creó antes.
De forma opcional, borra el disco de origen después de crear la imagen con la licencia especial.
gcloud
gcloud compute disks delete DISK_NAME --zone=ZONE
Reemplaza lo siguiente:
DISK_NAME
: Es el nombre del disco que se borrará.ZONE
: Es la zona que contiene el disco que se borrará.
REST
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyectoZONE
: Es la zona que contiene el disco que se borrará.DISK_NAME
: Es el nombre del disco que se borrará.
Crea una VM que use la imagen nueva con la licencia especial. La plataforma de CPU mínima debe ser
"Intel Haswell"
.gcloud
gcloud compute instances create VM_NAME \ --zone=ZONE \ --min-cpu-platform "Intel Haswell" \ --image IMAGE_NAME
Reemplaza lo siguiente:
VM_NAME
: El nombre de la VMZONE
: Es la zona en la que se creará la VM.IMAGE_NAME
: Es el nombre de la imagen que se creó antes.
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" } } ] ... }
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyectoVM_NAME
: El nombre de la VMZONE
: Es la zona en la que se creará la VM.IMAGE_NAME
: Es el nombre de la imagen que se creó antes.
Conectarte a la instancia de VM
gcloud compute ssh VM_NAME
Reemplaza
VM_NAME
por el nombre de la instancia a la que deseas conectarte.Confirma que esté habilitada la virtualización anidada. Cualquier respuesta que no sea
0
confirmará que la virtualización anidada está habilitada.grep -cw vmx /proc/cpuinfo
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Habilita la virtualización anidada directamente en una VM nueva
Habilita la virtualización anidada directamente en una VM mediante el siguiente procedimiento.
gcloud
Crea una VM L1 con virtualización anidada habilitada mediante el siguiente comando
gcloud compute instances create
:gcloud compute instances create VM_NAME \ --enable-nested-virtualization \ --zone=ZONE \ --min-cpu-platform="Intel Haswell"
Reemplaza lo siguiente:
REST
Crea una VM L1 con la virtualización anidada habilitada mediante el siguiente método
instances.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { ... "name": "VM_NAME", ... "minCpuPlatform": "Intel Haswell", "advancedMachineFeatures": { "enableNestedVirtualization": true }, ... }
Reemplaza lo siguiente:
Habilita la virtualización anidada en una VM existente.
Habilita la virtualización anidada en una VM existente mediante el siguiente método :
gcloud
REST
Actualiza el valor de
enableNestedVirtualization
mediante el siguiente métodoinstances.update
: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" }, ⋮ }
Reemplaza lo siguiente:
Habilita la virtualización anidada con la clave de licencia especial
Puedes habilitar la virtualización anidada en VM si creas una imagen personalizada con una clave de licencia especial que habilita VMX en la VM L1. La clave de licencia no tiene cargos adicionales.
Confirma que la virtualización anidada esté habilitada en la VM
¿Qué sigue?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-12-22 (UTC)
-