En este documento, se explica cómo crear un grupo de instancias administrado (MIG) para agregar instancias de máquina virtual (VM) con GPU de una sola vez.
El MIG usa el modo masivo de su política de tamaño objetivo para agregar las VMs de una vez. También usa el modelo de aprovisionamiento de inicio flexible para mejorar la disponibilidad de los recursos. Para obtener más información sobre el modelo de aprovisionamiento de inicio flexible, consulta Acerca de los modelos de aprovisionamiento.
Otro método para agregar VMs de GPU de una sola vez en un MIG es crear solicitudes de cambio de tamaño. Para determinar si el modo masivo o la solicitud de cambio de tamaño son más adecuados para tu carga de trabajo, consulta la Comparación del modo masivo y la solicitud de cambio de tamaño.
Si tu carga de trabajo no requiere que el MIG cree VMs de una sola vez, pero aún deseas mejorar la disponibilidad de recursos, usa el modelo de aprovisionamiento de inicio flexible como se describe en Crea un MIG con VMs de inicio flexible.
Antes de comenzar
- A fin de asegurarte de que tienes suficiente cuota de GPU para los recursos que solicitas, verifica tu cuota de GPU.
- Para comprender el consumo de cuotas, consulta VMs de GPU y cuotas de asignación interrumpibles.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación verifica tu identidad para acceder a los servicios y las APIs 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:
Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:
Console
Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud , no necesitas configurar la autenticación.
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:
gcloud initSi usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
-
- Configura una región y una zona predeterminadas.
REST
Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.
Instala Google Cloud CLI.
Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
Limitaciones
Se aplica la siguiente limitación:
Crea un MIG y agrega VMs de GPU de una sola vez
Para crear las VMs de GPU de una sola vez, haz lo siguiente:
Crea una plantilla de instancias, que es necesaria para crear un MIG. Luego, el MIG usa esta plantilla para crear cada VM del grupo. En la plantilla, especifica la configuración del modelo de aprovisionamiento de inicio flexible.
Para obtener más información sobre las plantillas de instancias, consulta Acerca de las plantillas de instancias.
Crea un MIG para el aprovisionamiento masivo de VMs. Durante la creación del MIG, habilita la capacidad de aprovisionamiento masivo en el MIG estableciendo el modo de política de tamaño de destino en
BULK. En el modoBULK, el MIG intenta crear todas las VMs a la vez para alcanzar el tamaño objetivo que estableciste.
Crea una plantilla de instancias
Crea una plantilla de instancias que especifique una serie de máquinas con GPU. Luego, usa la plantilla para crear un MIG.
Nota: Si deseas ejecutar cargas de trabajo de ciencia de datos o aprendizaje automático, considera usar una imagen de VM de aprendizaje profundo cuando crees una plantilla de instancia. Deep Learning VM Images es un conjunto de imágenes de VM ya preparadas que incluye frameworks de aprendizaje automático y herramientas esenciales. Para obtener más información sobre estas imágenes, consulta Elige una imagen en la documentación de Deep Learning VM Images.
Console
Ve a la página Plantillas de instancias.
Haz clic en Crear plantilla de instancias. Se abrirá la página Crear una plantilla de instancias.
En el campo Nombre, ingresa un nombre para la plantilla de instancias.
En la sección Configuración de la máquina, haz lo siguiente:
Haz clic en la pestaña GPU.
En la lista Tipo de GPU, selecciona el tipo de GPU.
En la lista Cantidad de GPU, selecciona la cantidad.
En la sección Tipo de máquina, selecciona un tipo de máquina.
En la sección Modelo de aprovisionamiento, haz lo siguiente:
En la lista Modelo de aprovisionamiento de VM, selecciona inicio flexible.
Para establecer una duración de ejecución para las VMs creadas a través de la plantilla de instancias, en el campo Ingresa la cantidad de horas, ingresa la cantidad de horas. El valor debe estar entre una hora (
1) y siete días (168).
Opcional: Para cambiar el valor o la imagen de disco de arranque predeterminados, en la sección Disco de arranque, haz clic en Cambiar. Luego, sigue las instrucciones para cambiar el disco de arranque.
Haz clic en Crear.
gcloud
Crea una plantilla de instancias con el comando instance-templates create:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--image-project=IMAGE_PROJECT \
--image-family=IMAGE_FAMILY \
--instance-termination-action=DELETE \
--instance-template-region=REGION \
--machine-type=MACHINE_TYPE \
--maintenance-policy=TERMINATE \
--max-run-duration=RUN_DURATION \
--provisioning-model=FLEX_START \
--reservation-affinity=none
Reemplaza lo siguiente:
INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.IMAGE_PROJECT: el proyecto de imagen que contiene la imagen; por ejemplo,debian-cloud. Para obtener más información sobre los proyectos de imágenes compatibles, consulta Imágenes públicas.IMAGE_FAMILY: Es una familia de imágenes. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasdebian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.REGION: Es la región en la que se creará la plantilla de instancias.MACHINE_TYPE: Un tipo de máquina con GPU. Si especificas un tipo de máquina N1, incluye la marca--acceleratorpara especificar la cantidad y el tipo de GPU que conectarás a las VMs.RUN_DURATION: la duración de la que deseas que se ejecuten las VMs. Debes darle formato al valor como la cantidad de días, horas, minutos o segundos, seguidos ded,h,mos, respectivamente. Por ejemplo, especifica30mpara 30 minutos o1d2h3m4spara un día, dos horas, tres minutos y cuatro segundos. El valor debe ser de entre 10 minutos y siete días.
REST
Crea una plantilla de instancias mediante una solicitud POST al método instanceTemplates.insert:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto en el que deseas crear la plantilla de instancias.REGION: Es la región en la que se creará la plantilla de instancias.INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.IMAGE_PROJECT: el proyecto de imagen que contiene la imagen; por ejemplo,debian-cloud. Para obtener más información sobre los proyectos de imágenes compatibles, consulta Imágenes públicas.IMAGE: especifica una de las siguientes opciones:una versión específica de la imagen de SO; por ejemplo,
debian-12-bookworm-v20240617.Una familia de imágenes, que debe tener el formato
family/IMAGE_FAMILY. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasfamily/debian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.
MACHINE_TYPE: Un tipo de máquina con GPU. Si especificas un tipo de máquina N1, incluye el campoguestAcceleratorspara especificar la cantidad y el tipo de GPU que conectarás a las VMs.RUN_DURATION: el tiempo, en segundos, por el que deseas que se ejecuten las VMs solicitadas antes de que el MIG las borre de forma automática. El valor debe estar entre600, que es 600 segundos (10 minutos), y604800, que es 604,800 segundos (siete días).
Después de crear la plantilla de instancias, puedes verla para consultar su ID y revisar sus propiedades.
Crea un MIG y agrega VMs de GPU de una sola vez
Crea un MIG como se describe en esta sección. Cuando habilites el aprovisionamiento masivo en el MIG, debes desactivar las reparaciones.
Console
Ve a la página Grupos de instancias.
Haz clic en Crear grupo de instancias. Se abre la página Crear grupo de instancias.
En el campo Nombre, ingresa un nombre para el MIG.
Antes de seleccionar una plantilla de instancias, debes desactivar las reparaciones y establecer la ubicación de la siguiente manera:
- Para desactivar las reparaciones, haz lo siguiente:
- En la sección Ciclo de vida de la instancia de VM, desmarca la casilla de verificación Permitir la reparación de VMs en una zona alternativa.
- En la lista Acción predeterminada en caso de error, selecciona Sin acción.
- Para configurar la sección Ubicación, haz lo siguiente:
- Para crear un MIG zonal, selecciona Single zone.
- Para crear un MIG regional, selecciona Varias zonas. En Forma de distribución objetivo, selecciona Cualquier zona única. En el diálogo que aparece, selecciona Inhabilitar redistribución de instancias.
- Para desactivar las reparaciones, haz lo siguiente:
Vuelve al campo Plantilla de instancias. En la lista Plantilla de instancias, selecciona la plantilla de instancias que creaste en la sección anterior.
En el campo Cantidad de instancias, especifica la cantidad de instancias que deseas crear a la vez.
Selecciona la casilla de verificación Obtén VMs de una vez con la política de tamaño objetivo masivo.
Haz clic en Crear.
gcloud
Para crear un MIG con capacidad de aprovisionamiento masivo, usa el comando instance-groups managed create.
Para crear un MIG zonal, ejecuta el siguiente comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --default-action-on-vm-failure=do-nothing \ --size=SIZE \ --target-size-policy-mode=bulk \ --template=INSTANCE_TEMPLATE_URL \ --zone=ZONE \Para crear un MIG regional, ejecuta el siguiente comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --default-action-on-vm-failure=do-nothing \ --size=SIZE \ --target-size-policy-mode=bulk \ --template=INSTANCE_TEMPLATE_URL \ --zones=LIST_OF_ZONES \
Reemplaza lo siguiente:
INSTANCE_GROUP_NAME: Es el nombre del MIG.SIZE: Es la cantidad de VMs en el MIG.INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear instancias en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:- Para una plantilla de instancias regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Para una plantilla de instancias global:
INSTANCE_TEMPLATE_ID
- Para una plantilla de instancias regional:
ZONE: Es la zona en la que el MIG crea VMs.LIST_OF_ZONES: Es una lista separada por comas de las zonas en las que el MIG regional crea VMs. Por ejemplo,us-central1-a, us-central1-b, us-central1-c.
REST
Para crear un MIG que tenga habilitada la creación masiva, realiza una solicitud POST de la siguiente manera. En el cuerpo de la solicitud, establece el campo targetSizePolicy.mode en bulk.
Si la plantilla de instancias que usas especifica el modelo de aprovisionamiento de inicio flexible, debes desactivar las reparaciones en el MIG. Para ello, incluye el campo "instanceLifecyclePolicy": {"defaultActionOnFailure": "DO_NOTHING"} en las siguientes solicitudes.
Para crear un MIG zonal, realiza una solicitud
POSTal métodoinstanceGroupManagers.insert.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "targetSizePolicy": { "mode": "bulk" }, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ] }Para crear un MIG regional, realiza una solicitud
POSTal métodoregionInstanceGroupManagers.insert.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "targetSizePolicy": { "mode": "bulk" }, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" }, "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ] }
Reemplaza lo siguiente:
PROJECT_ID:Es el ID del proyecto.ZONE:Es la zona en la que el MIG crea VMs.REGION:Es la región en la que el MIG crea VMs.INSTANCE_GROUP_NAME:Es el nombre del MIG.SIZE:Es la cantidad de VMs en el MIG.INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear instancias en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancias. Especifica uno de los siguientes valores:- Para una plantilla de instancias regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Para una plantilla de instancias global:
INSTANCE_TEMPLATE_ID
- Para una plantilla de instancias regional:
¿Qué sigue?
- Obtén información para ver información sobre los MIG y las VMs administradas.
- Obtén información para ver el uso real y previsto de tus VMs y GPUs.