En este documento, se describe cómo crear solicitudes de cambio de tamaño en un grupo de instancias administrado (MIG) de instancias de máquina virtual (VM) que tengan GPU conectadas.
Antes de comenzar
- Revisa cómo funcionan las solicitudes de cambio de tamaño.
- A fin de asegurarte de que tienes suficiente cuota de GPU para los recursos que solicitas, verifica tu cuota de GPU.
-
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 un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Para crear una plantilla de instancias:
compute.instanceTemplates.create
en el proyecto - Para crear un MIG zonal:
compute.instanceGroupManagers.create
en el proyecto -
Para crear solicitudes de cambio de tamaño en un MIG:
compute.instanceGroupManagers.update
en el proyecto Detén las VMs durante los eventos de mantenimiento del host.
No uses reservas.
En la consola de Google Cloud, ve a la página Plantillas de instancia.
Haz clic en Crear plantilla de instancias.
En el campo Nombre, ingresa un nombre para la plantilla de instancias.
En la sección Ubicación, selecciona una de las siguientes opciones:
Para crear una plantilla de instancias global, selecciona Global (predeterminado).
Para crear una plantilla de instancias regional, selecciona Regional y, luego, la región en la que deseas crear 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, elige la cantidad.
Opcional: Si tu modelo de GPU es compatible con estaciones de trabajo virtuales (vWS) NVIDIA RTX para cargas de trabajo de gráficos y planeas ejecutar cargas de trabajo de alto contenido gráfico, selecciona Habilitar estación de trabajo virtual (NVIDIA GRID).
En la sección Tipo de máquina, selecciona un tipo de máquina.
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.
Expande la sección Opciones avanzadas y sigue estos pasos:
Expande la sección Administración.
En la lista Reservas, selecciona No usar.
Haz clic en Crear.
La marca
--maintenance-policy
configurada comoTERMINATE
.La marca
--reservation-affinity
configurada comonone
.INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancias que se creará.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
oIMAGE_FAMILY
: especifica una de las siguientes opciones:IMAGE
: una versión específica de la imagen de SO; por ejemplo,debian-10-buster-v20200309
.IMAGE_FAMILY
: Es una familia de imágenes. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasdebian-10
, se usa la versión más reciente de la familia de imágenes de Debian 10. 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 que admite GPU. Si especificas un tipo de máquina N1, incluye la marca--accelerator
para especificar la cantidad y el tipo de GPU que conectarás a las VMs.Configura el campo
scheduling.onHostMaintenance
comoTERMINATE
.Configura el campo
reservationAffinity.consumeReservationType
comoNO_RESERVATION
.PROJECT_ID
: el ID del proyecto en el que se creará la plantilla de instancias.INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancias que se creará.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
oIMAGE_FAMILY
: especifica una de las siguientes opciones:IMAGE
: una versión específica de la imagen de SO; por ejemplo,debian-10-buster-v20200309
.IMAGE_FAMILY
: Es una familia de imágenes. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificasdebian-10
, se usa la versión más reciente de la familia de imágenes de Debian 10. 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 que admite GPU. Si especificas un tipo de máquina N1, incluye el campoguestAccelerators
en el cuerpo de la solicitud a fin de especificar la cantidad y el tipo de GPU que se conectarán a las VMs.Configura el tipo de actualización del MIG como oportunista (predeterminado).
Si configuraste el ajuste de escala automático en el MIG, borra la configuración del ajuste de escala automático.
En la consola de Google Cloud, 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.
En la lista Plantilla de instancias, selecciona la plantilla de instancias que creaste en la sección anterior. Si seleccionas una plantilla de instancias regional, la lista Región se establece en la región de la plantilla de instancias.
El campo Cantidad de instancias está inhabilitado de forma predeterminada. Después de borrar el ajuste de escala automático en los siguientes pasos, ingresa
0
.En la sección Ubicación, haz lo siguiente:
Selecciona Zona única (predeterminada).
Selecciona la región y la zona del MIG.
En la lista Modo de ajuste de escala automático, haz clic en Borrar configuración del ajuste de escala automático y, luego, en Borrar.
En la lista Acción predeterminada en caso de error, selecciona Sin acción.
Haz clic en Crear.
INSTANCE_GROUP_NAME
: el nombre del MIG que se creará.INSTANCE_TEMPLATE_NAME
: es el nombre de la plantilla de instancias que creaste en la sección anterior.ZONE
: la zona donde se creará el MIG.PROJECT_ID
: el ID del proyecto en el que se encuentra la plantilla de instancias que creaste en la sección anterior.ZONE
: la zona donde se creará el MIG.INSTANCE_TEMPLATE_NAME
: es el nombre de la plantilla de instancias que creaste en la sección anterior.INSTANCE_GROUP_NAME
: el nombre del MIG que se creará.INSTANCE_GROUP_NAME
: el nombre de un MIG zonal existente configurado para crear solicitudes de cambio de tamaño en él.RESIZE_REQUEST_NAME
: el nombre de la solicitud de cambio de tamaño, que debe ser única dentro del MIG especificado. De lo contrario, la creación de la solicitud de cambio de tamaño fallará.COUNT
: la cantidad de VMs que se agregarán al MIG a la vez.RUN_DURATION
: el tiempo por el que deseas que se ejecuten las VMs solicitadas antes de que el MIG las borre de forma automática. El valor debe tener el formato de la cantidad de días, horas, minutos o segundos, seguidos ded
,h
,m
ys
, respectivamente. Por ejemplo, especifica30m
para 30 minutos o1d2h3m4s
para 1 día, 2 horas, 3 minutos y 4 segundos. El valor debe ser de entre 10 minutos y 7 días.ZONE
: La zona en la que se encuentra el MIG.PROJECT_ID
: el ID del proyecto en el que se encuentra el MIG especificado.ZONE
: La zona en la que se encuentra el MIG.INSTANCE_GROUP_NAME
: el nombre de un MIG zonal existente configurado para crear solicitudes de cambio de tamaño en él.RESIZE_REQUEST_NAME
: el nombre de la solicitud de cambio de tamaño, que debe ser única dentro del MIG especificado. De lo contrario, la creación de la solicitud de cambio de tamaño fallará.COUNT
: la cantidad de VMs que se agregarán a la vez al MIG.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 (7 días).Obtén información para ver, cancelar o borrar solicitudes de cambio de tamaño en un MIG.
Obtén información para ver información sobre los MIG y las VMs administradas.
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.
Roles obligatorios
Para obtener los permisos que necesitas para crear solicitudes de cambio de tamaño en un MIG, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso.Este rol predefinido contiene los permisos necesarios para crear solicitudes de cambio de tamaño en un MIG. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear solicitudes de cambio de tamaño en un MIG:
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos
Prepara un MIG para las solicitudes de cambio de tamaño
Para crear solicitudes de cambio de tamaño en un MIG, debes configurar una plantilla de instancias y el MIG como se describe en las siguientes secciones.
Crea una plantilla de instancias
Si deseas crear solicitudes de cambio de tamaño en un MIG, este debe usar una plantilla de instancias con las siguientes configuraciones:
Console
A fin de crear una plantilla de instancias configurada para crear solicitudes de cambio de tamaño en un MIG, haz lo siguiente:
gcloud
Para crear una plantilla de instancias configurada a fin de crear solicitudes de cambio de tamaño en un MIG, usa el comando
instance-templates create
con las siguientes marcas:Por ejemplo, usa el siguiente comando:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE \ --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE \ --reservation-affinity=none
Reemplaza lo siguiente:
REST
Si quieres crear una plantilla de instancias configurada para crear solicitudes de cambio de tamaño en un MIG, realiza una solicitud
POST
al métodoinstanceTemplates.insert
. En el cuerpo de la solicitud, haz lo siguiente:Por ejemplo, realiza una solicitud
POST
de la siguiente manera:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "mode": "READ_WRITE", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ], "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, "scheduling": { "onHostMaintenance": "TERMINATE" } } }
Reemplaza lo siguiente:
Para obtener más información sobre cómo crear una plantilla de instancias, consulta Crea plantillas de instancias.
Crea o actualiza un MIG
Después de crear la plantilla de instancias como se describe en la sección anterior, úsala para crear un MIG de la siguiente manera o actualiza un MIG. Para asegurarte de que el MIG cree todas las VMs a través de las solicitudes de cambio de tamaño, establece el tamaño del MIG en
0
. Además, debes hacer lo siguiente a fin de preparar el MIG para las solicitudes de cambio de tamaño:Console
A fin de crear un MIG zonal configurado para crear solicitudes de cambio de tamaño, haz lo siguiente:
gcloud
Si quieres crear un MIG zonal configurado para crear solicitudes de cambio de tamaño, usa el comando
beta instance-groups managed create
con la marca--default-action-on-vm-failure
establecida endo_nothing
.gcloud beta compute instance-groups managed create INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE_NAME \ --size=0 \ --zone=ZONE \ --default-action-on-vm-failure=do_nothing
Reemplaza lo siguiente:
REST
Si quieres crear un MIG zonal configurado para crear solicitudes de cambio de tamaño, realiza una solicitud
POST
al métodobeta.instanceGroupManagers.insert
. En el cuerpo de la solicitud, incluye el campodefaultActionOnFailure
configurado comoDO_NOTHING
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
Reemplaza lo siguiente:
Crea una solicitud de cambio de tamaño en un MIG
Antes de crear solicitudes de cambio de tamaño, asegúrate de haber preparado el MIG como se describe en la sección anterior.
Después de crear una solicitud de cambio de tamaño y todos los recursos solicitados están disponibles, el MIG crea la cantidad solicitada de VMs a la vez. Las VMs se ejecutan hasta que el MIG las borra después de que finaliza la duración de ejecución especificada o hasta que las borras.
gcloud
Para crear una solicitud de cambio de tamaño en un MIG, usa el comando
beta instance-groups managed resize-requests create
.gcloud beta compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --requested-run-duration=RUN_DURATION \ --zone=ZONE
Reemplaza lo siguiente:
REST
Para crear una solicitud de cambio de tamaño en un MIG, realiza una solicitud
POST
al métodobeta.instanceGroupManagerResizeRequests.insert
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT, "requestedRunDuration": { "seconds": "RUN_DURATION" } }
Reemplaza lo siguiente:
¿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-09-03 (UTC)
-