En este documento, se explica cómo crear instancias de máquina virtual (VM) de forma masiva que usan tipos de máquinas optimizados para aceleradores A3 High o A3 Mega. Para obtener más información sobre los tipos de máquinas, consulta A3 High y A3 Mega en la documentación de Compute Engine.
Para obtener más información sobre cómo crear VMs de forma masiva, consulta Acerca de la creación masiva de VMs en la documentación de Compute Engine.
Para obtener información sobre otras formas de crear VMs o clústeres, consulta la página de Descripción general.
Antes de comenzar
Antes de crear VMs de forma masiva, si aún no lo hiciste, completa los siguientes pasos:
- Elige una opción de consumo: La opción de consumo que elijas determinará cómo obtendrás y usarás los recursos de GPU.
Para obtener más información, consulta Elige una opción de consumo.
- Obtención de capacidad: El proceso para obtener capacidad difiere para cada opción de consumo.
Para obtener información sobre el proceso para obtener capacidad para la opción de consumo que elegiste, consulta la Descripción general de la capacidad.
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
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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. 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.
Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que necesitas para crear VMs de forma masiva,
pídele al 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 VMs de forma masiva. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear VMs de forma masiva:
-
compute.instances.createen el proyecto -
Si deseas usar una imagen personalizada para crear la VM, sigue estos pasos:
compute.images.useReadOnlyen la imagen -
Para usar una instantánea a fin de crear la VM, haz lo siguiente:
compute.snapshots.useReadOnlyen la instantánea -
Si quieres usar una plantilla de instancias para crear la VM, sigue estos pasos:
compute.instanceTemplates.useReadOnlyen la plantilla de instancias -
A fin de especificar una subred para tu VM:
compute.subnetworks.useen el proyecto o en la subred elegida -
Si deseas especificar una dirección IP estática para la VM:
compute.addresses.useen el proyecto -
Para asignar una dirección IP externa a la VM cuando se usa una red de VPC,
compute.subnetworks.useExternalIpen el proyecto o en la subred elegida. -
Para asignar una red heredada a la VM, ejecuta
compute.networks.useen el proyecto. -
Para asignar una dirección IP externa a la VM cuando se usa una red heredada, ejecuta
compute.networks.useExternalIpen el proyecto -
Para configurar los metadatos de la instancia de VM para la VM,
compute.instances.setMetadataen el proyecto. -
Para configurar etiquetas en la VM, haz lo siguiente:
compute.instances.setTagsen la VM -
Para configurar etiquetas en la VM, haz lo siguiente:
compute.instances.setLabelsen la VM -
A fin de configurar una cuenta de servicio para que la VM use:
compute.instances.setServiceAccounten la VM -
Crear un disco nuevo para la VM:
compute.disks.createen el proyecto -
Para conectar un disco existente en modo de solo lectura o de lectura y escritura, usa
compute.disks.useen el disco. -
Para conectar un disco existente en modo de solo lectura, haz lo siguiente:
compute.disks.useReadOnlyen el disco
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Descripción general
La creación masiva de instancias con el tipo de máquina a3h o a3m incluye los siguientes pasos:
- Crea redes de VPC
- Opcional: Crea una política de posición de compactación
- Crea instancias de forma masiva
Crea redes de VPC
Para habilitar la comunicación eficiente de tus VMs con GPU, debes crear una red de administración y una o más redes de datos. La red de administración se usa para el acceso externo, por ejemplo, SSH, y para la mayoría de las comunicaciones de red generales. Las redes de datos se usan para la comunicación de alto rendimiento entre las GPUs de diferentes VMs, por ejemplo, para el tráfico de acceso directo a la memoria remoto (RDMA).
Para estas redes de VPC, te recomendamos que establezcas la unidad de transmisión máxima (MTU) en un valor mayor. Los valores de MTU más altos aumentan el tamaño del paquete y reducen la sobrecarga del encabezado del paquete, lo que aumenta la capacidad de procesamiento de los datos de carga útil. Para obtener más información sobre cómo crear redes de VPC, consulta Crea y verifica una red MTU de marcos jumbo.
Crea una red de administración, subred y regla de firewall
Completa los siguientes pasos para configurar la red de administración:
Crea la red de administración con el comando
networks create:gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \ --project=PROJECT_ID \ --subnet-mode=custom \ --mtu=8244Crea la subred de administración con el comando
networks subnets create:gcloud compute networks subnets create NETWORK_NAME_PREFIX-mgmt-sub \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --region=REGION \ --range=192.168.0.0/24Crea reglas de firewall con el comando
firewall-rules create.Crea una regla de firewall para la red de administración.
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-internal \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=192.168.0.0/16Crea la regla de firewall
tcp:22para limitar las direcciones IP de origen que pueden conectarse a la VM mediante SSH.gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ssh \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=SSH_SOURCE_IP_RANGECrea la regla de firewall
icmpque se puede usar para verificar si hay problemas de transmisión de datos en la red.gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ping \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=icmp \ --source-ranges=0.0.0.0/0
Reemplaza lo siguiente:
NETWORK_NAME_PREFIX: Es el prefijo del nombre que se usará para las subredes y las redes de VPC.PROJECT_ID: El ID de tu proyectoREGION: Es la región en la que deseas crear las redes.SSH_SOURCE_IP_RANGE: el rango de IP en formato CIDR. Esto especifica qué direcciones IP de origen pueden conectarse a tu VM mediante SSH.
Crea redes de datos, subredes y reglas de firewall
La cantidad de redes de datos varía según el tipo de máquina con GPU que crees.A3 Mega
A3 Mega requiere ocho redes de datos. Para crear ocho redes de datos, cada una con subredes y reglas de firewall, usa el siguiente comando.
for N in $(seq 1 8); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
--project=PROJECT_ID \
--subnet-mode=custom \
--mtu=8244
gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--region=REGION \
--range=192.168.$N.0/24
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=192.168.0.0/16
done
A3 High
A3 High requiere cuatro redes de datos. Usa el siguiente comando para crear cuatro redes de datos, cada una con subredes y reglas de firewall.
for N in $(seq 1 4); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
--project=PROJECT_ID \
--subnet-mode=custom \
--mtu=8244
gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--region=REGION \
--range=192.168.$N.0/24
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=192.168.0.0/16
done
Opcional: Crea una política de posición de compactación
Puedes especificar la posición de la VM creando una política de posición compacta. Cuando aplicas una política de posición compacta a tus VMs, Compute Engine hace todo lo posible para crear VMs que estén lo más cerca posible entre sí. Si tu aplicación es sensible a la latencia y deseas que las VMs estén más cerca entre sí (máxima compactación), especifica el campo maxDistance (versión preliminar) cuando crees una política de posición compacta. Un valor de maxDistance más bajo garantiza una colocación más cercana de las VM, pero también aumenta la probabilidad de que no se creen algunas VMs.
gcloud
Para crear una política de posición de compactación, usa el
comando gcloud beta compute resource-policies create group-placement:
gcloud beta compute resource-policies create group-placement POLICY_NAME \
--collocation=collocated \
--max-distance=MAX_DISTANCE \
--region=REGION
Reemplaza lo siguiente:
POLICY_NAME: el nombre de la política de posición compacta.MAX_DISTANCE: la configuración de distancia máxima para tus VMs. El valor debe ser3para colocar VMs en los bloques adyacentes o2para colocarlas en el mismo bloque. Para obtener información sobre la cantidad máxima de VMs admitidas para cadamaxDistancepor serie de máquinas, consulta Acerca de las políticas de posición de compactación en la documentación de Compute Engine.REGION: la región en la que deseas crear la política de posición compacta. Especifica una región en la que esté disponible el tipo de máquina que deseas usar. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.
REST
Para crear una política de posición compacta, realiza una solicitud POST al
método beta
resourcePolicies.insert.
En el cuerpo de la solicitud, incluye el campo collocation configurado como COLLOCATED y el campo maxDistance.
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"collocation": "COLLOCATED",
"maxDistance": MAX_DISTANCE
}
}
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto.POLICY_NAME: el nombre de la política de posición compacta.MAX_DISTANCE: la configuración de distancia máxima para tus VMs. El valor debe ser3para colocar VMs en los bloques adyacentes o2para colocarlas en el mismo bloque. Para obtener información sobre la cantidad máxima de VMs admitidas para cadamaxDistancepor serie de máquinas, consulta Acerca de las políticas de posición de compactación en la documentación de Compute Engine.REGION: la región en la que deseas crear la política de posición compacta. Especifica una región en la que esté disponible el tipo de máquina que deseas usar. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.
Crea VMs A3 High o A3 Mega de forma masiva
Para crear VMs de A3 High o A3 Mega de forma masiva, usa uno de los siguientes métodos.
Los siguientes comandos también establecen el permiso de acceso para tus instancias. Para simplificar la administración de permisos, Google recomienda que configures el permiso de acceso en una instancia como accesocloud-platform y, luego, uses roles de IAM para definir a qué servicios puede acceder la instancia. Para obtener más información, consulta Prácticas recomendadas para los permisos.
gcloud
Para crear una VM de A3 High o A3 Mega, usa el comando gcloud compute instances bulk create.
A3 Mega
Para crear VMs de forma masiva, usa el
comando gcloud compute instances bulk create.
Los parámetros que debes especificar dependen de la opción de consumo que uses para esta implementación. Selecciona la pestaña que corresponda al modelo de aprovisionamiento de tu opción de consumo.
Con reserva
Antes de ejecutar el comando, puedes agregar la marca para una política de posición compacta.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--region=REGION \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--restart-on-failure
Completa los siguientes pasos:
-
Reemplaza lo siguiente:
NAME_PATTERN: Es el patrón de nombres de las VMs. Por ejemplo, si usasvm-#para el patrón de nombre, se generan VMs con nombres comovm-1yvm-2, hasta la cantidad de VMs especificadas por--count.COUNT: la cantidad de VM que se crearán.MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas con GPU.IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para la serie de máquinas A3 Mega, te recomendamos que uses la imagen de Container-Optimized OScos-121-ltso posterior y inhabilite las actualizaciones automáticas, o bien que uses la imagen de Rocky Linuxrocky-linux-8-optimized-gcp-nvidia-580. Para obtener una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO. Por ejemplo, usacos-cloudpara la imagen de Container-Optimized OScos-121-ltso posterior, o bien usarocky-linux-accelerator-cloudpara la imagen de Rocky Linuxrocky-linux-8-optimized-gcp-nvidia-580.REGION: Especifica una región en la que esté disponible el tipo de máquina que deseas usar. Si deseas especificar una política de posición compacta, debes usar la misma región que la política de posición compacta. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.DISK_TYPE: Es el tipo de disco de arranque. Te recomendamos que useshyperdisk-balanced.DISK_SIZE: Es el tamaño del disco de arranque en GB.GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las subredes y las redes de VPC estándar que usan NIC de gVNIC.-
RESERVATION: Es el nombre de la reserva o un bloque específico dentro de una reserva. Para obtener el nombre de la reserva o los bloques disponibles, consulta Cómo ver la capacidad reservada. Según tus requisitos de ubicación de la instancia, elige una de las siguientes opciones:Para crear instancias en varios bloques o en un solo bloque, sigue estos pasos:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
Además, para un solo bloque, aplica una política de posición compacta que especifique una colocación de bloques (
maxDistance=2) . Luego, Compute Engine aplica la política a la reserva y crea instancias en el mismo bloque.Para crear instancias en un bloque específico, sigue estos pasos:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
TERMINATION_ACTION: Indica si Compute Engine detiene (STOP) o borra (DELETE) la VM al final del período de reserva.
-
Opcional: Si elegiste usar una política de posición compacta, agrega la siguiente marca al comando:
--resource-policies=POLICY_NAME
Reemplaza lo siguiente:
POLICY_NAME: el nombre de la política de posición compacta.
- Ejecute el comando.
Spot
Antes de ejecutar el comando, puedes agregar la marca para una política de posición compacta.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--region=REGION \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
Completa los siguientes pasos:
-
Reemplaza lo siguiente:
NAME_PATTERN: Es el patrón de nombres de las VMs. Por ejemplo, si usasvm-#para el patrón de nombre, se generan VMs con nombres comovm-1yvm-2, hasta la cantidad de VMs especificadas por--count.COUNT: la cantidad de VM que se crearán.MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas con GPU.IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para la serie de máquinas A3 Mega, te recomendamos que uses la imagen de Container-Optimized OScos-121-ltso posterior y inhabilite las actualizaciones automáticas, o bien que uses la imagen de Rocky Linuxrocky-linux-8-optimized-gcp-nvidia-580. Para obtener una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO. Por ejemplo, usacos-cloudpara la imagen de Container-Optimized OScos-121-ltso posterior, o bien usarocky-linux-accelerator-cloudpara la imagen de Rocky Linuxrocky-linux-8-optimized-gcp-nvidia-580.REGION: Especifica una región en la que esté disponible el tipo de máquina que deseas usar. Si deseas especificar una política de posición compacta, debes usar la misma región que la política de posición compacta. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.DISK_TYPE: Es el tipo de disco de arranque. Te recomendamos que useshyperdisk-balanced.DISK_SIZE: Es el tamaño del disco de arranque en GB.GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las subredes y las redes de VPC estándar que usan NIC de gVNIC.TERMINATION_ACTION: Es la acción que se debe realizar cuando Compute Engine interrumpe la instancia, ya seaSTOP(predeterminada) oDELETE.
-
Opcional: Si elegiste usar una política de posición compacta, agrega la siguiente marca al comando:
--resource-policies=POLICY_NAME
Reemplaza lo siguiente:
POLICY_NAME: el nombre de la política de posición compacta.
- Ejecute el comando.
A3 High
Para crear VMs de forma masiva, usa el
comando gcloud compute instances bulk create.
Los parámetros que debes especificar dependen de la opción de consumo que uses para esta implementación. Selecciona la pestaña que corresponda al modelo de aprovisionamiento de tu opción de consumo.
Con reserva
Antes de ejecutar el comando, puedes agregar la marca para una política de posición compacta.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--region=REGION \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--restart-on-failure
Completa los siguientes pasos:
-
Reemplaza lo siguiente:
NAME_PATTERN: Es el patrón de nombres de las VMs. Por ejemplo, si usasvm-#para el patrón de nombre, se generan VMs con nombres comovm-1yvm-2, hasta la cantidad de VMs especificadas por--count.COUNT: la cantidad de VM que se crearán.MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas con GPU.IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para la serie de máquinas A3 High, te recomendamos que uses la imagen de Container-Optimized OScos-121-ltso posterior y que inhabilite las actualizaciones automáticas. Para obtener una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO. Por ejemplo, usacos-cloudpara la imagen de Container-Optimized OScos-121-ltso posterior.REGION: Especifica una región en la que esté disponible el tipo de máquina que deseas usar. Si deseas especificar una política de posición compacta, debes usar la misma región que la política de posición compacta. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.DISK_TYPE: Es el tipo de disco de arranque. Te recomendamos que useshyperdisk-balanced.DISK_SIZE: Es el tamaño del disco de arranque en GB.GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las subredes y las redes de VPC estándar que usan NIC de gVNIC.-
RESERVATION: Es el nombre de la reserva o un bloque específico dentro de una reserva. Para obtener el nombre de la reserva o los bloques disponibles, consulta Cómo ver la capacidad reservada. Según tus requisitos de ubicación de la instancia, elige una de las siguientes opciones:Para crear instancias en varios bloques o en un solo bloque, sigue estos pasos:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
Además, para un solo bloque, aplica una política de posición compacta que especifique una colocación de bloques (
maxDistance=2) . Luego, Compute Engine aplica la política a la reserva y crea instancias en el mismo bloque.Para crear instancias en un bloque específico, sigue estos pasos:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
TERMINATION_ACTION: Indica si Compute Engine detiene (STOP) o borra (DELETE) la VM al final del período de reserva.
-
Opcional: Si elegiste usar una política de posición compacta, agrega la siguiente marca al comando:
--resource-policies=POLICY_NAME
Reemplaza lo siguiente:
POLICY_NAME: el nombre de la política de posición compacta.
- Ejecute el comando.
Spot
Antes de ejecutar el comando, puedes agregar la marca para una política de posición compacta.
gcloud compute instances bulk create \
--name-pattern=NAME_PATTERN \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--region=REGION \
--boot-disk-type=DISK_TYPE \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
Completa los siguientes pasos:
-
Reemplaza lo siguiente:
NAME_PATTERN: Es el patrón de nombres de las VMs. Por ejemplo, si usasvm-#para el patrón de nombre, se generan VMs con nombres comovm-1yvm-2, hasta la cantidad de VMs especificadas por--count.COUNT: la cantidad de VM que se crearán.MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas con GPU.IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para la serie de máquinas A3 High, te recomendamos que uses la imagen de Container-Optimized OScos-121-ltso posterior y que inhabilite las actualizaciones automáticas. Para obtener una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO. Por ejemplo, usacos-cloudpara la imagen de Container-Optimized OScos-121-ltso posterior.REGION: Especifica una región en la que esté disponible el tipo de máquina que deseas usar. Si deseas especificar una política de posición compacta, debes usar la misma región que la política de posición compacta. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.DISK_TYPE: Es el tipo de disco de arranque. Te recomendamos que useshyperdisk-balanced.DISK_SIZE: Es el tamaño del disco de arranque en GB.GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las subredes y las redes de VPC estándar que usan NIC de gVNIC.TERMINATION_ACTION: Es la acción que se debe realizar cuando Compute Engine interrumpe la instancia, ya seaSTOP(predeterminada) oDELETE.
-
Opcional: Si elegiste usar una política de posición compacta, agrega la siguiente marca al comando:
--resource-policies=POLICY_NAME
Reemplaza lo siguiente:
POLICY_NAME: el nombre de la política de posición compacta.
- Ejecute el comando.
REST
Para crear una VM de A3 High o A3 Mega, usa el método instances.bulkInsert.
A3 Mega
Para crear VMs de forma masiva, realiza una solicitud POST al
método instances.bulkInsert.
Los parámetros que debes especificar dependen de la opción de consumo que uses para esta implementación. Selecciona la pestaña que corresponda al modelo de aprovisionamiento de tu opción de consumo.
Con reserva
Antes de enviar la solicitud, puedes agregar el subcampo instanceProperties para una política de posición compacta al cuerpo de la solicitud.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"DISK_TYPE",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
]
},
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
Completa los siguientes pasos:
-
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto en el que deseas crear la VM.ZONE: Especifica una zona en la que esté disponible el tipo de máquina que deseas usar. Si deseas especificar una política de posición de compactación, debes usar una zona en la misma región que la política de posición de compactación. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.NAME_PATTERN: Es el patrón de nombres de las VMs. Por ejemplo, si usasvm-#para el patrón de nombre, se generan VMs con nombres comovm-1yvm-2, hasta la cantidad de VMs especificadas por--count.COUNT: la cantidad de VM que se crearán.MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas con GPU.VM_NAME: el nombre de la VM.DISK_SIZE: Es el tamaño del disco de arranque en GB.DISK_TYPE: Es el tipo de disco de arranque. Te recomendamos que useshyperdisk-balanced.IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO. Por ejemplo, usacos-cloudpara la imagen de Container-Optimized OScos-121-ltso posterior, o bien usarocky-linux-accelerator-cloudpara la imagen de Rocky Linuxrocky-linux-8-optimized-gcp-nvidia-580.IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para la serie de máquinas A3 Mega, te recomendamos que uses la imagen de Container-Optimized OScos-121-ltso posterior y inhabilite las actualizaciones automáticas, o bien que uses la imagen de Rocky Linuxrocky-linux-8-optimized-gcp-nvidia-580. Para obtener una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.NETWORK_PROJECT_ID: Es el ID del proyecto de la red.GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las subredes y las redes de VPC estándar que usan NIC de gVNIC.REGION: Es la región de la subred.-
RESERVATION: Es el nombre de la reserva o un bloque específico dentro de una reserva. Para obtener el nombre de la reserva o los bloques disponibles, consulta Cómo ver la capacidad reservada. Según tus requisitos de ubicación de la instancia, elige una de las siguientes opciones:Para crear instancias en varios bloques o en un solo bloque, sigue estos pasos:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
Además, para un solo bloque, aplica una política de posición compacta que especifique una colocación de bloques (
maxDistance=2) . Luego, Compute Engine aplica la política a la reserva y crea instancias en el mismo bloque.Para crear instancias en un bloque específico, sigue estos pasos:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
TERMINATION_ACTION: Indica si Compute Engine detiene (STOP) o borra (DELETE) la VM al final del período de reserva.
-
Opcional: Si elegiste usar una política de posición compacta, agrega el siguiente subcampo
instancePropertiesal cuerpo de la solicitud:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de la política de posición compacta.REGION: Es la región de la política de posición compacta.POLICY_NAME: el nombre de la política de posición compacta.
- Envía la solicitud.
Spot
Antes de enviar la solicitud, puedes agregar el subcampo instanceProperties para una política de posición compacta al cuerpo de la solicitud.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"DISK_TYPE",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
Completa los siguientes pasos:
-
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto en el que deseas crear la VM.ZONE: Especifica una zona en la que esté disponible el tipo de máquina que deseas usar. Si deseas especificar una política de posición de compactación, debes usar una zona en la misma región que la política de posición de compactación. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.NAME_PATTERN: Es el patrón de nombres de las VMs. Por ejemplo, si usasvm-#para el patrón de nombre, se generan VMs con nombres comovm-1yvm-2, hasta la cantidad de VMs especificadas por--count.COUNT: la cantidad de VM que se crearán.MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas con GPU.VM_NAME: el nombre de la VM.DISK_SIZE: Es el tamaño del disco de arranque en GB.DISK_TYPE: Es el tipo de disco de arranque. Te recomendamos que useshyperdisk-balanced.IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO. Por ejemplo, usacos-cloudpara la imagen de Container-Optimized OScos-121-ltso posterior, o bien usarocky-linux-accelerator-cloudpara la imagen de Rocky Linuxrocky-linux-8-optimized-gcp-nvidia-580.IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para la serie de máquinas A3 Mega, te recomendamos que uses la imagen de Container-Optimized OScos-121-ltso posterior y inhabilite las actualizaciones automáticas, o bien que uses la imagen de Rocky Linuxrocky-linux-8-optimized-gcp-nvidia-580. Para obtener una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.NETWORK_PROJECT_ID: Es el ID del proyecto de la red.GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las subredes y las redes de VPC estándar que usan NIC de gVNIC.REGION: Es la región de la subred.TERMINATION_ACTION: Es la acción que se debe realizar cuando Compute Engine interrumpe la instancia, ya seaSTOP(predeterminada) oDELETE.
-
Opcional: Si elegiste usar una política de posición compacta, agrega el siguiente subcampo
instancePropertiesal cuerpo de la solicitud:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de la política de posición compacta.REGION: Es la región de la política de posición compacta.POLICY_NAME: el nombre de la política de posición compacta.
- Envía la solicitud.
A3 High
Para crear VMs de forma masiva, realiza una solicitud POST al
método instances.bulkInsert.
Los parámetros que debes especificar dependen de la opción de consumo que uses para esta implementación. Selecciona la pestaña que corresponda al modelo de aprovisionamiento de tu opción de consumo.
Con reserva
Antes de enviar la solicitud, puedes agregar el subcampo instanceProperties para una política de posición compacta al cuerpo de la solicitud.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"DISK_TYPE",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
]
},
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
Completa los siguientes pasos:
-
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto en el que deseas crear la VM.ZONE: Especifica una zona en la que esté disponible el tipo de máquina que deseas usar. Si deseas especificar una política de posición de compactación, debes usar una zona en la misma región que la política de posición de compactación. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.NAME_PATTERN: Es el patrón de nombres de las VMs. Por ejemplo, si usasvm-#para el patrón de nombre, se generan VMs con nombres comovm-1yvm-2, hasta la cantidad de VMs especificadas por--count.COUNT: la cantidad de VM que se crearán.MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas con GPU.VM_NAME: el nombre de la VM.DISK_SIZE: Es el tamaño del disco de arranque en GB.DISK_TYPE: Es el tipo de disco de arranque. Te recomendamos que useshyperdisk-balanced.IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO. Por ejemplo, usacos-cloudpara la imagen de Container-Optimized OScos-121-ltso posterior.IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para la serie de máquinas A3 High, te recomendamos que uses la imagen de Container-Optimized OScos-121-ltso posterior y que inhabilite las actualizaciones automáticas. Para obtener una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.NETWORK_PROJECT_ID: Es el ID del proyecto de la red.GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las subredes y las redes de VPC estándar que usan NIC de gVNIC.REGION: Es la región de la subred.-
RESERVATION: Es el nombre de la reserva o un bloque específico dentro de una reserva. Para obtener el nombre de la reserva o los bloques disponibles, consulta Cómo ver la capacidad reservada. Según tus requisitos de ubicación de la instancia, elige una de las siguientes opciones:Para crear instancias en varios bloques o en un solo bloque, sigue estos pasos:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
Además, para un solo bloque, aplica una política de posición compacta que especifique una colocación de bloques (
maxDistance=2) . Luego, Compute Engine aplica la política a la reserva y crea instancias en el mismo bloque.Para crear instancias en un bloque específico, sigue estos pasos:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
TERMINATION_ACTION: Indica si Compute Engine detiene (STOP) o borra (DELETE) la VM al final del período de reserva.
-
Opcional: Si elegiste usar una política de posición compacta, agrega el siguiente subcampo
instancePropertiesal cuerpo de la solicitud:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de la política de posición compacta.REGION: Es la región de la política de posición compacta.POLICY_NAME: el nombre de la política de posición compacta.
- Envía la solicitud.
Spot
Antes de enviar la solicitud, puedes agregar el subcampo instanceProperties para una política de posición compacta al cuerpo de la solicitud.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"namePattern":"NAME_PATTERN",
"count":"COUNT",
"instanceProperties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"DISK_TYPE",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
Completa los siguientes pasos:
-
Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto en el que deseas crear la VM.ZONE: Especifica una zona en la que esté disponible el tipo de máquina que deseas usar. Si deseas especificar una política de posición de compactación, debes usar una zona en la misma región que la política de posición de compactación. Para obtener información sobre las regiones, consulta Disponibilidad de GPU por regiones y zonas.NAME_PATTERN: Es el patrón de nombres de las VMs. Por ejemplo, si usasvm-#para el patrón de nombre, se generan VMs con nombres comovm-1yvm-2, hasta la cantidad de VMs especificadas por--count.COUNT: la cantidad de VM que se crearán.MACHINE_TYPE: Es el tipo de máquina que se usará para la VM. Especifica un tipo de máquina A4 o A3 Ultra. Para obtener más información, consulta Tipos de máquinas con GPU.VM_NAME: el nombre de la VM.DISK_SIZE: Es el tamaño del disco de arranque en GB.DISK_TYPE: Es el tipo de disco de arranque. Te recomendamos que useshyperdisk-balanced.IMAGE_PROJECT: Es el ID del proyecto de la imagen de SO. Por ejemplo, usacos-cloudpara la imagen de Container-Optimized OScos-121-ltso posterior.IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. Para la serie de máquinas A3 High, te recomendamos que uses la imagen de Container-Optimized OScos-121-ltso posterior y que inhabilite las actualizaciones automáticas. Para obtener una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.NETWORK_PROJECT_ID: Es el ID del proyecto de la red.GVNIC_NAME_PREFIX: Es el prefijo de nombre que especificaste cuando creaste las subredes y las redes de VPC estándar que usan NIC de gVNIC.REGION: Es la región de la subred.TERMINATION_ACTION: Es la acción que se debe realizar cuando Compute Engine interrumpe la instancia, ya seaSTOP(predeterminada) oDELETE.
-
Opcional: Si elegiste usar una política de posición compacta, agrega el siguiente subcampo
instancePropertiesal cuerpo de la solicitud:"resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]Reemplaza lo siguiente:
PROJECT_ID: Es el ID del proyecto de la política de posición compacta.REGION: Es la región de la política de posición compacta.POLICY_NAME: el nombre de la política de posición compacta.
- Envía la solicitud.
Para obtener más información sobre las opciones de configuración cuando creas VMs de forma masiva, consulta Crea VMs de forma masiva en la documentación de Compute Engine.
¿Qué sigue?
- Verifica el consumo de la reserva
- Cómo ver la topología de una instancia de procesamiento
- Descripción general de la ejecución de cargas de trabajo
- Soluciona problemas de consumo de reservas
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: 2026-02-24 (UTC)