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.
Crear solicitudes de cambio de tamaño en un MIG te ayuda a obtener recursos muy demandados, como las GPUs, y a optimizar los costos, ya que creas la cantidad exacta de VMs de una sola vez.
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 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:
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, si aún no está seleccionada.
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.
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.
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_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.Si deseas usar una versión específica de la imagen de SO, como
debian-12-buster-v20240701
, reemplaza la marca--image-family
por la marca--image
.REGION
: Es la región en la que se creará la plantilla de instancias.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.Para crear una plantilla de instancias regional: método
regionInstanceTemplates.insert
Para crear una plantilla de instancias global: método
instanceTemplates.insert
Incluye el campo
scheduling.onHostMaintenance
y configúralo comoTERMINATE
.Incluye el campo
reservationAffinity.consumeReservationType
y configúralo comoNO_RESERVATION
.PROJECT_ID
: el ID del proyecto en el que se 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 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
: 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 que admite GPU. Si especificas un tipo de máquina N1, incluye elcampoguestAccelerators
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.
Si usas un MIG regional, configura la forma de distribución objetivo en
ANY_SINGLE_ZONE
.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.
En la sección Ubicación, especifica si deseas crear un MIG regional o zonal de la siguiente manera:
Para crear un MIG zonal, selecciona Zona única. O bien, para crear un MIG regional, selecciona Varias zonas.
Selecciona la región y las zonas del MIG.
Si creas un MIG regional, haz lo siguiente:
En el campo Forma de distribución objetivo, selecciona Cualquier zona. Puedes seleccionar esta opción solo después de borrar la configuración del ajuste de escala automático en los pasos siguientes.
Después de seleccionar la opción de cualquier zona única, en el diálogo que aparece, haz clic en Inhabilitar la redistribución de instancias.
Borra la configuración del ajuste de escala automático de la siguiente manera:
En la sección Ajuste de escala automático, haz clic en la lista Modo de ajuste de escala automático y, luego, en Borrar configuración del ajuste de escala automático.
En el diálogo de confirmación, haz clic en Borrar.
Desactiva las reparaciones de la siguiente manera:
En la sección Ciclo de vida de la instancia de VM, haz clic en la lista Acción predeterminada en caso de error.
Selecciona No realizar ninguna acción.
Realiza una de las siguientes acciones:
Para crear una solicitud de cambio de tamaño en este punto, haz lo siguiente:
En el campo Cantidad de instancias, ingresa la cantidad de VMs que deseas crear a la vez.
Selecciona la casilla de verificación Usa la solicitud de cambio de tamaño para crear VMs de una sola vez.
En el campo Duración de ejecución solicitada y la lista Unidad, especifica la duración de ejecución de las VMs. La duración debe ser de entre 1 hora y 7 días.
De lo contrario, en el campo Cantidad de instancias, ingresa
0
. Luego, puedes crear solicitudes de cambio de tamaño para agregar VMs al grupo.
Haz clic en Crear.
Para crear un MIG zonal, ejecuta el siguiente comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_URL \ --template=INSTANCE_TEMPLATE_NAME \ --size=0 \ --zone=ZONE \ --default-action-on-vm-failure=do_nothing
Para crear un MIG regional, ejecuta el siguiente comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --region=REGION \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none \ --default-action-on-vm-failure=do_nothing
INSTANCE_GROUP_NAME
: el nombre del MIG que se creará.INSTANCE_TEMPLATE_URL
: Es la URL parcial de la plantilla de instancias que creaste en la sección anterior. Si deseas usar una plantilla de instancias regional para crear el MIG, solo puedes crearlo dentro de la región de la plantilla. Especifica uno de los siguientes valores:Para una plantilla de instancias regional:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME
Para una plantilla de instancias global:
INSTANCE_TEMPLATE_NAME
ZONE
: La zona en la que se creará el MIG.REGION
: La región en la que se creará el MIG.Para crear un MIG zonal, envía una solicitud
POST
con el métodoinstanceGroupManagers.insert
de la siguiente manera:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
Para crear un MIG regional, envía una solicitud
POST
con el métodoregionInstanceGroupManagers.insert
de la siguiente manera:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE" }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
PROJECT_ID
: el ID del proyecto en el que se encuentra la plantilla de instancias que creaste en la sección anterior.INSTANCE_TEMPLATE_URL
: Es la URL parcial de la plantilla de instancias que creaste en la sección anterior. Si deseas usar una plantilla de instancias regional para crear el MIG, solo puedes crearlo dentro de la región de la plantilla. Especifica uno de los siguientes valores:Para una plantilla de instancias regional:
regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_NAME
Para una plantilla de instancias global:
global/instanceTemplates/INSTANCE_TEMPLATE_NAME
ZONE
: La zona en la que se creará el MIG.REGION
: La región en la que se creará el MIG.INSTANCE_GROUP_NAME
: el nombre del MIG que se creará.En la consola de Google Cloud, ve a la página Grupos de instancias.
En la columna Nombre, haz clic en el nombre del MIG en el que deseas crear la solicitud de cambio de tamaño.
Se abrirá la página de resumen del MIG.
En la fila Solicitud de cambio de tamaño, haz clic en
Editar solicitudes de cambio de tamaño.Haz clic en
Nueva solicitud de cambio de tamaño.Aparecerá el panel Nuevas solicitudes de cambio de tamaño.
En el campo Nombre, ingresa el nombre de la solicitud de cambio de tamaño.
En el campo Cantidad de instancias adicionales necesarias, ingresa la cantidad de VMs que deseas agregar al MIG de una sola vez.
En los campos Duración de ejecución solicitada y Unidad, especifica la duración durante la que deseas que se ejecuten las VMs solicitadas. La duración debe ser de entre 1 hora y 7 días.
Haz clic en Crear.
Para crear una solicitud de cambio de tamaño en un MIG zonal, usa el comando
instance-groups managed resize-requests create
.gcloud 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
Para crear una solicitud de cambio de tamaño en un MIG regional, 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 \ --region=REGION
INSTANCE_GROUP_NAME
: el nombre del MIG 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
: la duración de la que deseas que se ejecuten las VMs. 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.REGION
: la región en la que se encuentra el MIG.Para crear una solicitud de cambio de tamaño en un MIG zonal, envía una solicitud
POST
con el métodoinstanceGroupManagerResizeRequests.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
Para crear una solicitud de cambio de tamaño en un MIG regional, envía una solicitud
POST
con el métodobeta.regionInstanceGroupManagerResizeRequests.insert
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
PROJECT_ID
: el ID del proyecto en el que se encuentra el MIG especificado.ZONE
: La zona en la que se encuentra el MIG.REGION
: la región en la que se encuentra el MIG.INSTANCE_GROUP_NAME
: Es el nombre del MIG 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
: Es la duración, en segundos, por la que deseas que se ejecuten las VMs solicitadas. 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.
- Obtén información para ver el uso real y previsto de tus VMs y GPUs.
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 a proyectos, carpetas y organizaciones.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:
Para crear una plantilla de instancias configurada para crear solicitudes de cambio de tamaño en un MIG, selecciona una de las siguientes opciones:
Console
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 para crear una plantilla de instancias regional. Si deseas crear una plantilla de instancias global, usa el mismo comando sin la marca
--instance-template-region
.gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --instance-template-region=REGION \ --machine-type=MACHINE_TYPE \ --maintenance-policy=TERMINATE \ --reservation-affinity=none
Reemplaza lo siguiente:
REST
Para crear una plantilla de instancias configurada para crear solicitudes de cambio de tamaño en un MIG, realiza una solicitud
POST
a uno de los siguientes métodos:En el cuerpo de la solicitud, haz lo siguiente:
Por ejemplo, para crear una plantilla de instancias regional, realiza una solicitud
POST
de la siguiente manera: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": { "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 como se indica a continuación o actualizar un MIG. Además, debes hacer lo siguiente a fin de preparar el MIG para las solicitudes de cambio de tamaño:
Para crear un MIG que sea compatible con las solicitudes de cambio de tamaño, selecciona una de las siguientes opciones:
Console
gcloud
Usa el comando
instance-groups managed create
con la marca--default-action-on-vm-failure
configurada comodo_nothing
. Si creas un MIG regional, también debes incluir la marca--target-distribution-shape
establecida enany-single-zone
y la marca--instance-redistribution-type
establecida ennone
.Reemplaza lo siguiente:
REST
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, la solicitud se acepta 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.
Para crear una solicitud de cambio de tamaño en un MIG, selecciona una de las siguientes opciones:
Console
gcloud
Reemplaza lo siguiente:
REST
En el cuerpo de la solicitud, incluye lo siguiente:
{ "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT, "requestedRunDuration": { "seconds": "RUN_DURATION" } }
Reemplaza lo siguiente:
Después de crear una solicitud de cambio de tamaño, puedes ver su estado o solucionar problemas. Para ello, consulta los detalles de la solicitud de cambio de tamaño.
¿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)
-