Crea un MIG de HPC con la serie de máquinas H4D

En este documento, se describe cómo crear un grupo de instancias administrado (MIG) que use un tipo de máquina H4D.

Crear un MIG te permite administrar varias máquinas virtuales (VMs) como una sola entidad. Cada VM en un MIG se basa en una plantilla de instancias. Al administrar automáticamente las VMs del grupo, los MIG ofrecen alta disponibilidad y escalabilidad. Para obtener más información sobre los MIG, consulta Grupos de instancias administrados.

Para obtener información sobre las opciones de creación de VMs y clústeres de HPC, consulta la Descripción general de la creación de clústeres de HPC.

Si deseas crear un MIG, pero no usas tipos de máquinas H4D o no necesitas crear una implementación densa de instancias, consulta Situaciones básicas para crear grupos de instancias administrados (MIG).

Antes de comenzar

  • Elige una opción de consumo: Para crear instancias de procesamiento de forma masiva y habilitar capacidades mejoradas de administración de clústeres, puedes elegir una reserva futura en modo de calendario o VMs puntuales.

    Si eliges usar VMs Spot, es posible que las VMs no se coloquen de forma compacta. Además, las VMs Spot se pueden interrumpir según sea necesario y no son aptas para administrar eventos de mantenimiento del host para grupos de VMs.

  • Obtén capacidad: El proceso para obtener capacidad difiere para cada opción de consumo.

    Para obtener más información, consulta Elige una opción de consumo y obtén capacidad.

  • 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:

    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

    1. Instala Google Cloud CLI. Después de instalarla, inicializa Google Cloud CLI ejecutando el siguiente comando:

      gcloud init

      Si usas un proveedor de identidad (IdP) externo, primero debes Acceder a gcloud CLI con tu identidad federada.

    2. Set a default region and zone.

    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 proporciones a gcloud CLI.

      Instala Google Cloud CLI. Después de instalarla, inicializa Google Cloud CLI ejecutando el siguiente comando:

      gcloud init

      Si usas un proveedor de identidad (IdP) externo, primero debes Acceder a 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 .

Descripción general

La creación de un MIG con el tipo de máquina H4D incluye los siguientes pasos:

  1. Crea redes de VPC
  2. Opcional: Crea una política de cargas de trabajo
  3. Crea una plantilla de instancias
  4. Crea un MIG

Limitaciones

Cuando creas un MIG con VMs H4D, se aplican las siguientes limitaciones:

  • Si creas un MIG regional, este solo podrá crear VMs en la zona que contiene el perfil de tu red de VPC.

  • No puedes configurar la flexibilidad de instancias en el MIG.

  • Si aplicas una política de carga de trabajo a un MIG, no podrás cambiar la política en el MIG cuando el grupo tenga VMs. Para cambiar la política en un MIG que tiene VMs, primero debes cambiar el tamaño del MIG a cero.

  • No puedes usar una plantilla de instancias que especifique una política de posición para crear un MIG que use una política de carga de trabajo.

Opcional: Crea redes de VPC

Cuando creas una instancia de procesamiento, puedes especificar una red y una subred de VPC. Si omites esta configuración, se usarán la red y la subred predeterminadas.

Si deseas configurar las instancias H4D en el MIG para que usen Cloud RDMA, completa los pasos de esta sección. De lo contrario, puedes omitirla y usar la red predeterminada.

Para usar Cloud RDMA con instancias H4D, debes tener configuradas al menos dos redes, una para cada tipo de interfaz de red (NIC):

  • Tipo de NIC GVNIC: Usa el controlador gve para el tráfico de TCP/IP y de Internet en la comunicación normal entre VM y entre VM e Internet.
  • Tipo de NIC IRDMA: Usa controladores IDPF/iRDMA para redes RDMA de Cloud entre instancias.

Las instancias que usan Cloud RDMA solo pueden tener una interfaz IRDMA. Puedes agregar hasta ocho interfaces de red GVNIC adicionales para un total de 10 vNIC por instancia.

Para configurar las redes de VPC de Falcon y usarlas con tus instancias, puedes seguir las instrucciones documentadas o usar la secuencia de comandos proporcionada.

Guías de instrucciones

Para crear las redes, puedes usar las siguientes instrucciones:

Secuencia de comandos

Puedes crear hasta nueve interfaces de red gVNIC y una interfaz de red IRDMA por instancia. Cada interfaz de red debe adjuntarse a una red independiente. Para crear las redes, puedes usar la siguiente secuencia de comandos, que crea dos redes para gVNIC y una para IRDMA.

  1. Opcional: Antes de ejecutar la secuencia de comandos, enumera los perfiles de red de VPC de Falcon para verificar que haya uno disponible.
      gcloud compute network-profiles list
      
  2. Copia el siguiente código y ejecútalo en una ventana de shell de Linux.

      #!/bin/bash
      # Set the number of GVNIC interfaces to create. You can create up to 9.
      NUM_GVNIC=NUMBER_OF_GVNIC
    
      # Create regular VPC networks and subnets for the GVNIC interfaces
        for N in $(seq 0 $(($NUM_GVNIC - 1))); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
              --subnet-mode=custom
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
              --network=GVNIC_NAME_PREFIX-net-$N \
              --region=REGION \
              --range=10.$N.0.0/16
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
              --network=GVNIC_NAME_PREFIX-net-$N \
              --action=ALLOW \
              --rules=tcp:0-65535,udp:0-65535,icmp \
              --source-ranges=10.0.0.0/8
      done
    
      # Create SSH firewall rules
      gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
      # Optional: Create a firewall rule for the external IP address for the
      #  first GVNIC network interface
      gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
      # Create a Falcon VPC network for the Cloud RDMA network interface
      gcloud compute networks create RDMA_NAME_PREFIX-irdma \
          --network-profile=ZONE-vpc-falcon \
          --subnet-mode custom
    
      # Create a subnet in the Falcon VPC network
      gcloud compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \
          --network=RDMA_NAME_PREFIX-irdma \
          --region=REGION \
          --range=10.2.0.0/16  # offset to avoid overlap with GVNIC subnet ranges
      

    Reemplaza lo siguiente:

    • NUMBER_OF_GVNIC: Es la cantidad de interfaces de gVNIC que se crearán. Especifica un número del 1 al 9.
    • GVNIC_NAME_PREFIX: Es el prefijo del nombre que se usará para la subred y la red de VPC normales que usan un tipo de NIC de GVNIC.
    • REGION: Es la región en la que deseas crear las redes. Debe corresponder a la zona especificada para la marca --network-profile cuando se crea la red de VPC de Falcon. Por ejemplo, si especificas la zona como europe-west4-b, tu región será europe-west4.
    • IP_RANGE: Es el rango de direcciones IP fuera de la red de VPC que se usará para las reglas de firewall de SSH. Como práctica recomendada, especifica los rangos de direcciones IP específicos desde los que necesitas permitir el acceso, en lugar de todas las fuentes IPv4 o IPv6. No uses 0.0.0.0/0 ni ::/0 como rango de origen, ya que esto permite el tráfico desde todas las fuentes IPv4 o IPv6, incluidas las fuentes fuera de Google Cloud.
    • RDMA_NAME_PREFIX: Es el prefijo del nombre que se usará para la red de VPC y la subred que usa el tipo de NIC de IRDMA.
    • ZONE: La zona en la que deseas crear las redes y las instancias de procesamiento. Usa us-central1-a o europe-west4-b.
  3. Opcional: Para verificar que los recursos de la red de VPC se hayan creado correctamente, consulta la configuración de red en la consola de Google Cloud :

    1. En la consola de Google Cloud , ve a la página Redes de VPC.

      Ir a las redes de VPC

    2. Busca en la lista las redes que creaste en el paso anterior.
    3. Para ver las subredes, las reglas de firewall y otros parámetros de configuración de la red, haz clic en el nombre de la red.

Opcional: Crea una política de carga de trabajo

Si deseas que Compute Engine coloque instancias de VM en un solo bloque o en bloques adyacentes, especifica la posición de la instancia creando una política de cargas de trabajo. Sin embargo, si deseas que Compute Engine coloque tus instancias en un bloque específico, omite este paso y proporciona el nombre del bloque en la afinidad de reserva cuando crees la plantilla de instancia.

Si ya tienes una política de carga de trabajo, puedes volver a usarla. Cuando aplicas una política de carga de trabajo a tu MIG, Compute Engine hace todo lo posible para crear instancias que estén lo más cerca posible entre sí. Si tu aplicación es sensible a la latencia y quieres que las instancias estén más cerca entre sí (máxima compactación), especifica el campo maxTopologyDistance cuando crees una política de carga de trabajo.

No puedes actualizar una política de carga de trabajo después de crearla. Para realizar cambios en una política de cargas de trabajo, debes crear una nueva.

Para crear una política de cargas de trabajo, selecciona una de las siguientes opciones:

gcloud

Para crear una política de cargas de trabajo, usa el comando gcloud compute resource-policies create workload-policy.

  • Para una colocación de mejor esfuerzo de las VMs, especifica solo la marca --type=high-throughput en el comando:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --region=REGION
    
  • Para la colocación estricta de VMs, especifica la marca --max-topology-distance en el comando:

    gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
        --type=high-throughput \
        --max-topology-distance=TOPOLOGY_DISTANCE \
        --region=REGION
    

Reemplaza lo siguiente:

  • WORKLOAD_POLICY_NAME: Es el nombre de la política de carga de trabajo.
  • REGION: Es la región en la que deseas crear la política de cargas de trabajo. Especifica una región en la que deseas crear el MIG y el tipo de máquina que deseas usar está disponible. Para obtener información sobre las regiones y las zonas, consulta Regiones y zonas disponibles.

REST

Para crear una política de cargas de trabajo, realiza una solicitud POST al método resourcePolicies.insert.

  • Para una colocación de mejor esfuerzo de las VMs, especifica solo el campo type en la solicitud de la siguiente manera:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT"
        }
      }
    
  • Para la colocación estricta de VMs, especifica el campo maxTopologyDistance en la solicitud de la siguiente manera:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
      {
        "name": "WORKLOAD_POLICY_NAME"
        "workloadPolicy": {
          "type": "HIGH_THROUGHPUT",
          "maxTopologyDistance": "TOPOLOGY_DISTANCE"
        }
      }
    

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto.
  • REGION: Es la región en la que deseas crear la política de cargas de trabajo. Especifica una región en la que deseas crear el MIG y el tipo de máquina que deseas usar está disponible. Para obtener información sobre las regiones y las zonas, consulta Regiones y zonas disponibles.
  • WORKLOAD_POLICY_NAME: Es el nombre de la política de carga de trabajo.

Crea una plantilla de instancias

Para especificar las propiedades de instancias y consumo de cada instancia del MIG, crea una plantilla de instancias con 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 acceso cloud-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

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 a tu opción de consumo y modelo de aprovisionamiento.

Inicio flexible

Para crear una plantilla de instancias regional, usa el comando gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --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, \
      stack-type=STACK_TYPE, \
      address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-1, \
      subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=IRDMA, \
      network=RDMA_NAME_PREFIX-irdma, \
      subnet=RDMA_NAME_PREFIX-irdma-sub, \
      stack-type=IPV4_ONLY,no-address \
    
    --reservation-affinity=none \
    --instance-termination-action=DELETE \
    --max-run-duration=RUN_DURATION \
    --maintenance-policy=TERMINATE \
    --provisioning-model=FLEX_START

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • MACHINE_TYPE: Es el tipo de máquina H4D que se usará para la instancia.
  • IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. 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.
  • REGION: Es la región en la que deseas crear la plantilla de instancias. Especifica una región en la que esté disponible el tipo de máquina que deseas usar.
  • DISK_SIZE: Es el tamaño del disco de arranque en GiB.
  • GVNIC_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste las subredes y las redes de VPC estándar para las interfaces de gVNIC.

    Si usas la red predeterminada, incluye solo un campo --network-interface con el campo nic-type establecido en GVNIC. Además, omite la configuración de network y subnetwork para esta interfaz de red.

  • STACK_TYPE: Es el tipo de pila que se usará para la interfaz de gVNIC (opcional). Especifica IPV4_ONLY o IPV4_IPV6. Si no especificas un valor, se usa IPV4_ONLY de forma predeterminada.
  • EXTERNAL_IPV4_ADDRESS: Opcional: Es una dirección IPv4 externa estática para usar con la interfaz de red gVNIC. Debes haber reservado una dirección IPv4 externa con anterioridad. Realiza una de las siguientes acciones:

    • Especifica una dirección IPv4 válida de la subred.
    • Usa la marca no-address si no deseas que la interfaz de red tenga una dirección IP externa.
    • Especifica address='' si deseas que la interfaz de red reciba una dirección IP externa efímera.

    Para especificar una dirección IPv6 externa para la interfaz de red gVNIC, usa la marca --external-ipv6-address.

  • RDMA_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste la red de VPC y la subred para la interfaz de red de IRDMA.

    Si no usas Cloud RDMA con tus instancias H4D, omite el campo --network-interface para la interfaz de IRDMA.

  • RUN_DURATION: Es la duración de la que deseas que se ejecuten las instancias solicitadas. Debes darle formato al valor como la cantidad de días, horas, minutos o segundos, seguidos de d, h, m y s, respectivamente. Por ejemplo, especifica 30m para 30 minutos o 1d2h3m4s para un día, dos horas, tres minutos y cuatro segundos. El valor debe ser de entre 10 minutos y siete días.

Con reserva

Para crear una plantilla de instancias regional, usa el comando gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --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, \
      stack-type=STACK_TYPE, \
      address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-1, \
      subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=IRDMA, \
      network=RDMA_NAME_PREFIX-irdma, \
      subnet=RDMA_NAME_PREFIX-irdma-sub, \
      stack-type=IPV4_ONLY,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • MACHINE_TYPE: Es el tipo de máquina H4D que se usará para la instancia.
  • IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. 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.
  • REGION: Es la región en la que deseas crear la plantilla de instancias. Especifica una región en la que esté disponible el tipo de máquina que deseas usar.
  • DISK_SIZE: Es el tamaño del disco de arranque en GiB.
  • GVNIC_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste las subredes y las redes de VPC estándar para las interfaces de gVNIC.

    Si usas la red predeterminada, incluye solo un campo --network-interface con el campo nic-type establecido en GVNIC. Además, omite la configuración de network y subnetwork para esta interfaz de red.

  • STACK_TYPE: Es el tipo de pila que se usará para la interfaz de gVNIC (opcional). Especifica IPV4_ONLY o IPV4_IPV6. Si no especificas un valor, se usa IPV4_ONLY de forma predeterminada.
  • EXTERNAL_IPV4_ADDRESS: Opcional: Es una dirección IPv4 externa estática para usar con la interfaz de red gVNIC. Debes haber reservado una dirección IPv4 externa con anterioridad. Realiza una de las siguientes acciones:

    • Especifica una dirección IPv4 válida de la subred.
    • Usa la marca no-address si no deseas que la interfaz de red tenga una dirección IP externa.
    • Especifica address='' si deseas que la interfaz de red reciba una dirección IP externa efímera.

    Para especificar una dirección IPv6 externa para la interfaz de red gVNIC, usa la marca --external-ipv6-address.

  • RDMA_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste la red de VPC y la subred para la interfaz de red de IRDMA.

    Si no usas Cloud RDMA con tus instancias H4D, omite el campo --network-interface para la interfaz IRDMA.

  • RESERVATION: Es el nombre de la reserva que deseas usar.

    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, crea el MIG aplicando una política de carga de trabajo que especifique una colocación de bloques (maxTopologyDistance=BLOCK). 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

Spot

Para crear una plantilla de instancias regional, usa el comando gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --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, \
      stack-type=STACK_TYPE, \
      address=EXTERNAL_IPV4_ADDRESS \
--network-interface=nic-type=GVNIC, \
      network=GVNIC_NAME_PREFIX-net-1, \
      subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=IRDMA, \
      network=RDMA_NAME_PREFIX-irdma, \
      subnet=RDMA_NAME_PREFIX-irdma-sub, \
      stack-type=IPV4_ONLY,no-address \
    --provisioning-model=SPOT \
    --instance-termination-action=TERMINATION_ACTION

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • MACHINE_TYPE: Es el tipo de máquina H4D que se usará para la instancia.
  • IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. 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.
  • REGION: Es la región en la que deseas crear la plantilla de instancias. Especifica una región en la que esté disponible el tipo de máquina que deseas usar.
  • DISK_SIZE: Es el tamaño del disco de arranque en GiB.
  • GVNIC_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste las subredes y las redes de VPC estándar para las interfaces de gVNIC.

    Si usas la red predeterminada, incluye solo un campo --network-interface con el campo nic-type establecido en GVNIC. Además, omite la configuración de network y subnetwork para esta interfaz de red.

  • STACK_TYPE: Es el tipo de pila que se usará para la interfaz de gVNIC (opcional). Especifica IPV4_ONLY o IPV4_IPV6. Si no especificas un valor, se usa IPV4_ONLY de forma predeterminada.
  • EXTERNAL_IPV4_ADDRESS: Opcional: Es una dirección IPv4 externa estática para usar con la interfaz de red gVNIC. Debes haber reservado una dirección IPv4 externa con anterioridad. Realiza una de las siguientes acciones:

    • Especifica una dirección IPv4 válida de la subred.
    • Usa la marca no-address si no deseas que la interfaz de red tenga una dirección IP externa.
    • Especifica address='' si deseas que la interfaz de red reciba una dirección IP externa efímera.

    Para especificar una dirección IPv6 externa para la interfaz de red gVNIC, usa la marca --external-ipv6-address.

  • RDMA_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste la red de VPC y la subred para la interfaz de red de IRDMA.

    Si no usas Cloud RDMA con tus instancias H4D, omite el campo --network-interface para la interfaz IRDMA.

  • TERMINATION_ACTION: Indica si Compute Engine detiene (STOP) o borra (DELETE) las VMs Spot cuando se produce la interrupción.

REST

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 a tu opción de consumo y modelo de aprovisionamiento.

Inicio flexible

Para crear una plantilla de instancias regional, realiza una solicitud POST al método regionInstanceTemplates.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "machineType":"MACHINE_TYPE",
    
        "networkInterfaces": [
        {
          "network": "GVNIC_NAME_PREFIX-net-0",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-0",
          "accessConfigs": [
            {
                "type": "ONE_TO_ONE_NAT",
                "name": "External IP",
                "natIP": "EXTERNAL_IPV4_ADDRESS"
            }
          ],
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "GVNIC_NAME_PREFIX-net-1",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-1",
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "RDMA_NAME_PREFIX-irdma",
          "subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
          "stackType": "IPV4_ONLY",
          "nicType": "IRDMA",
      }
    ],
,
    "reservationAffinity": {
        "consumeReservationType": "NO_RESERVATION"
      },
    "scheduling": {
        "instanceTerminationAction": "DELETE",
        "maxRunDuration": {
          "seconds": RUN_DURATION
        },
        "onHostMaintenance": "TERMINATE",
        "provisioningModel": "FLEX_START"
      }

  }
}

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • MACHINE_TYPE: Es el tipo de máquina que se usará para la instancia. Especifica un tipo de máquina H4D. Para obtener más información, consulta Tipos de máquinas H4D.
  • IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. 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.
  • REGION: Es la región en la que deseas crear la plantilla de instancias. 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 Regiones y zonas.
  • DISK_SIZE: Es el tamaño del disco de arranque en GiB.
  • GVNIC_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste las subredes y las redes de VPC estándar para las interfaces de gVNIC.

    Si usas la red predeterminada, incluye solo un campo --network-interface con el campo nic-type establecido en GVNIC. Además, omite la configuración de network y subnetwork para esta interfaz de red.

  • EXTERNAL_IPV4_ADDRESS: Opcional: Es una dirección IPv4 externa estática para usar con la interfaz de red gVNIC. Debes haber reservado una dirección IPv4 externa con anterioridad.

    Para especificar una dirección IPv6 externa para la interfaz de red gVNIC, usa la marca --external-ipv6-address.

  • RDMA_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste la red de VPC y la subred para la interfaz de red de IRDMA.

    Si no usas Cloud RDMA con tus instancias H4D, omite el campo --network-interface para la interfaz IRDMA.

  • RUN_DURATION: Es la duración, en segundos, por la que deseas que se ejecuten las instancias solicitadas. El valor debe estar entre 600, que es 600 segundos (10 minutos), y 604800, que es 604,800 segundos (siete días).

Con reserva

Para crear una plantilla de instancias regional, realiza una solicitud POST al método regionInstanceTemplates.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "machineType":"MACHINE_TYPE",
    
        "networkInterfaces": [
        {
          "network": "GVNIC_NAME_PREFIX-net-0",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-0",
          "accessConfigs": [
            {
                "type": "ONE_TO_ONE_NAT",
                "name": "External IP",
                "natIP": "EXTERNAL_IPV4_ADDRESS"
            }
          ],
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "GVNIC_NAME_PREFIX-net-1",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-1",
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "RDMA_NAME_PREFIX-irdma",
          "subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
          "stackType": "IPV4_ONLY",
          "nicType": "IRDMA",
      }
    ],
,
    "reservationAffinity":{
        "consumeReservationType":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • MACHINE_TYPE: Es el tipo de máquina que se usará para la instancia. Especifica un tipo de máquina H4D. Para obtener más información, consulta Tipos de máquinas H4D.
  • IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. 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.
  • REGION: Es la región en la que deseas crear la plantilla de instancias. 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 Regiones y zonas.
  • DISK_SIZE: Es el tamaño del disco de arranque en GiB.
  • GVNIC_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste las subredes y las redes de VPC estándar para las interfaces de gVNIC.

    Si usas la red predeterminada, incluye solo un campo --network-interface con el campo nic-type establecido en GVNIC. Además, omite la configuración de network y subnetwork para esta interfaz de red.

  • EXTERNAL_IPV4_ADDRESS: Opcional: Es una dirección IPv4 externa estática para usar con la interfaz de red gVNIC. Debes haber reservado una dirección IPv4 externa con anterioridad.

    Para especificar una dirección IPv6 externa para la interfaz de red gVNIC, usa la marca --external-ipv6-address.

  • RDMA_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste la red de VPC y la subred para la interfaz de red de IRDMA.

    Si no usas Cloud RDMA con tus instancias H4D, omite el campo --network-interface para la interfaz IRDMA.

  • RESERVATION: Es el nombre de la reserva que deseas usar.

    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, crea el MIG aplicando una política de carga de trabajo que especifique una colocación de bloques (maxTopologyDistance=BLOCK). 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

Spot

Para crear una plantilla de instancias regional, realiza una solicitud POST al método regionInstanceTemplates.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "machineType":"MACHINE_TYPE",
    
        "networkInterfaces": [
        {
          "network": "GVNIC_NAME_PREFIX-net-0",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-0",
          "accessConfigs": [
            {
                "type": "ONE_TO_ONE_NAT",
                "name": "External IP",
                "natIP": "EXTERNAL_IPV4_ADDRESS"
            }
          ],
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "GVNIC_NAME_PREFIX-net-1",
          "subnetwork": "GVNIC_NAME_PREFIX-sub-1",
          "stackType": "IPV4_ONLY",
          "nicType": "GVNIC",
      },
      {
          "network": "RDMA_NAME_PREFIX-irdma",
          "subnetwork": "RDMA_NAME_PREFIX-irdma-sub",
          "stackType": "IPV4_ONLY",
          "nicType": "IRDMA",
      }
    ],
,
    "scheduling":
    {
      "provisioningModel": "SPOT",
      "instanceTerminationAction": "TERMINATION_ACTION"
    }
  }
}

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.
  • MACHINE_TYPE: Es el tipo de máquina que se usará para la instancia. Especifica un tipo de máquina H4D. Para obtener más información, consulta Tipos de máquinas H4D.
  • IMAGE_FAMILY: Es la familia de imágenes de la imagen de SO que deseas usar. 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.
  • REGION: Es la región en la que deseas crear la plantilla de instancias. 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 Regiones y zonas.
  • DISK_SIZE: Es el tamaño del disco de arranque en GiB.
  • GVNIC_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste las subredes y las redes de VPC estándar para las interfaces de gVNIC.

    Si usas la red predeterminada, incluye solo un campo --network-interface con el campo nic-type establecido en GVNIC. Además, omite la configuración de network y subnetwork para esta interfaz de red.

  • EXTERNAL_IPV4_ADDRESS: Opcional: Es una dirección IPv4 externa estática para usar con la interfaz de red gVNIC. Debes haber reservado una dirección IPv4 externa con anterioridad.

    Para especificar una dirección IPv6 externa para la interfaz de red gVNIC, usa la marca --external-ipv6-address.

  • RDMA_NAME_PREFIX: Es el prefijo de nombre que usaste cuando creaste la red de VPC y la subred para la interfaz de red de IRDMA.

    Si no usas Cloud RDMA con tus instancias H4D, omite el campo --network-interface para la interfaz IRDMA.

  • TERMINATION_ACTION: Indica si Compute Engine detiene (STOP) o borra (DELETE) las VMs Spot cuando se produce la interrupción.

Después de crear la plantilla de instancias, puedes verla para consultar su ID y revisar sus propiedades.

Crear un MIG

Después de completar todos los pasos anteriores, crea un MIG según tu situación de la siguiente manera:

Situación Método para crear un MIG y VMs en él Ejemplo
Tienes varios trabajos paralelos que pueden comenzar con cualquier cantidad de VMs. Crea un MIG y usa el tamaño objetivo para especificar la cantidad de VMs que deseas incluir en el grupo.

Consulta Crea un MIG con un tamaño objetivo.

Trabajos de inferencia de AA
Tienes un trabajo que requiere distribución en una cantidad exacta de VMs. Crea un MIG sin VMs y, luego, crea una solicitud de cambio de tamaño en el MIG. La solicitud de cambio de tamaño te ayuda a obtener VMs de una sola vez.

Consulta Crea un MIG y una solicitud de cambio de tamaño.

Trabajos de entrenamiento y ajuste de AA distribuidos

Crea un MIG con un tamaño objetivo

Si puedes iniciar tu trabajo sin crear todas las VMs a la vez, crea un MIG con un tamaño objetivo. El tamaño objetivo determina la cantidad de VMs en el MIG. El MIG comienza a crear VMs según la disponibilidad actual de recursos. Si algún recurso no está disponible temporalmente, el MIG intenta crear VMs de forma continua para alcanzar el tamaño objetivo.

Para crear un MIG con un tamaño objetivo, selecciona una de las siguientes opciones:

gcloud

Para crear un MIG con un tamaño de destino especificado, usa el comando instance-groups managed create.

Los comandos para crear un MIG usan una política de cargas de trabajo para especificar la posición de la VM. Si no quieres usar una política de carga de trabajo, quita la marca --workload-policy.

Crea un MIG zonal o regional de la siguiente manera:

  • Para crear un MIG zonal, usa el siguiente comando:
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --workload-policy=WORKLOAD_POLICY_URL \
      --zone=ZONE
    
  • Para crear un MIG regional, usa el siguiente comando:
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --workload-policy=WORKLOAD_POLICY_URL \
        --region=REGION
    
Reemplaza lo siguiente:
  • MIG_NAME: Es el nombre del MIG.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear VMs 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
  • TARGET_SIZE: Es la cantidad de VMs que deseas en el MIG.
  • WORKLOAD_POLICY_URL: Opcional: Es la URL de la política de cargas de trabajo. Por ejemplo, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy. Si no quieres usar una política de cargas de trabajo, puedes quitar la marca --workload-policy.
  • ZONE: Es la zona en la que deseas crear el MIG. Si usas una política de cargas de trabajo, especifica una zona dentro de la región de la política.
  • REGION: la región en la que deseas crear el MIG. Si usas una política de carga de trabajo, especifica la misma región que la de la política. En el caso de un MIG regional, en lugar de una región, puedes especificar las zonas de esa región con la marca --zones.

REST

Para crear un MIG con un tamaño objetivo especificado, realiza una solicitud POST.

Las solicitudes para crear un MIG usan una política de cargas de trabajo para especificar la posición de la VM. Si no deseas usar una política de carga de trabajo, quita el campo resourcePolicies.workloadPolicy.

Crea un MIG zonal o regional de la siguiente manera:

  • Para crear un MIG zonal, realiza una solicitud POST al método instanceGroupManagers.insert.
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "instanceTemplate": "INSTANCE_TEMPLATE_URL",
      "targetSize": "TARGET_SIZE",
      "resourcePolicies": {
        "workloadPolicy": WORKLOAD_POLICY_URL
      }
    }
    
  • Para crear un MIG regional, realiza una solicitud POST al método regionInstanceGroupManagers.insert.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": "TARGET_SIZE",
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
    
Reemplaza lo siguiente:
  • PROJECT_ID: Es el ID del proyecto.
  • ZONE: Es la zona en la que deseas crear el MIG. Si usas una política de cargas de trabajo, especifica una zona dentro de la región de la política.
  • REGION: la región en la que deseas crear el MIG. Si usas una política de carga de trabajo, especifica la misma región que la de la política.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear VMs 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
  • MIG_NAME: Es el nombre del MIG.
  • TARGET_SIZE: Es la cantidad de VMs que deseas que haya en el MIG.
  • WORKLOAD_POLICY_URL: Opcional: Es la URL de la política de cargas de trabajo. Por ejemplo:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy Si no quieres usar una política de cargas de trabajo, puedes quitar el campo resourcePolicies.workloadPolicy.

Crea un MIG y una solicitud de cambio de tamaño

Si necesitas varias VMs a la vez para iniciar un trabajo, crea un MIG y una solicitud de cambio de tamaño en el MIG como se describe en esta sección.

Para crear una solicitud de cambio de tamaño en un MIG, selecciona una de las siguientes opciones.

gcloud

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.

Inicio flexible

Crea un MIG zonal o regional y una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear un MIG zonal y una solicitud de cambio de tamaño en él, haz lo siguiente:

    1. Crea un MIG zonal con el comando instance-groups managed create de la siguiente manera.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
          --zone=ZONE
      
    2. Crea una solicitud de cambio de tamaño en el MIG zonal con el comando instance-groups managed resize-requests create de la siguiente manera:

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • Para crear un MIG regional y una solicitud de cambio de tamaño en él, haz lo siguiente:

    1. Crea un MIG regional con el comando instance-groups managed create de la siguiente manera.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --default-action-on-vm-failure=do-nothing \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crea una solicitud de cambio de tamaño en el MIG regional con el comando instance-groups managed resize-requests create beta de la siguiente manera:

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

Con reserva

Los comandos para crear un MIG usan una política de cargas de trabajo para especificar la posición de la VM. Si no quieres usar una política de carga de trabajo, quita la marca --workload-policy.

Crea un MIG zonal o regional y una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear un MIG zonal y una solicitud de cambio de tamaño en él, haz lo siguiente:

    1. Crea un MIG zonal con el comando instance-groups managed create de la siguiente manera.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. Crea una solicitud de cambio de tamaño en el MIG zonal con el comando instance-groups managed resize-requests create de la siguiente manera:

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • Para crear un MIG regional y una solicitud de cambio de tamaño en él, haz lo siguiente:

    1. Crea un MIG regional con el comando instance-groups managed create de la siguiente manera.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crea una solicitud de cambio de tamaño en el MIG regional con el comando instance-groups managed resize-requests create beta de la siguiente manera:

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      

Spot

Los comandos para crear un MIG usan una política de cargas de trabajo para especificar la posición de la VM. Si no quieres usar una política de carga de trabajo, quita la marca --workload-policy.

Crea un MIG zonal o regional y una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear un MIG zonal y una solicitud de cambio de tamaño en él, haz lo siguiente:

    1. Crea un MIG zonal con el comando instance-groups managed create de la siguiente manera.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zone=ZONE
      
    2. Crea una solicitud de cambio de tamaño en el MIG zonal con el comando instance-groups managed resize-requests create de la siguiente manera:

      gcloud compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --zone=ZONE
      
  • Para crear un MIG regional y una solicitud de cambio de tamaño en él, haz lo siguiente:

    1. Crea un MIG regional con el comando instance-groups managed create de la siguiente manera.

      gcloud compute instance-groups managed create MIG_NAME \
          --template=INSTANCE_TEMPLATE_URL \
          --size=0 \
          --workload-policy=WORKLOAD_POLICY_URL \
          --zones=ZONE \
          --target-distribution-shape=any-single-zone \
          --instance-redistribution-type=none
        
    2. Crea una solicitud de cambio de tamaño en el MIG regional con el comando instance-groups managed resize-requests create beta de la siguiente manera:

      gcloud beta compute instance-groups managed resize-requests create MIG_NAME \
          --resize-request=RESIZE_REQUEST_NAME \
          --resize-by=COUNT \
          --region=REGION
      
Reemplaza lo siguiente:
  • MIG_NAME: Es el nombre del MIG.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear VMs 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
  • WORKLOAD_POLICY_URL: Opcional: URL de la política de cargas de trabajo. Por ejemplo:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy Si no quieres usar una política de cargas de trabajo, puedes quitar la marca --workload-policy.
  • ZONE: Es la zona en la que deseas crear el MIG. En el caso de un MIG regional, también debes especificar una zona. Esta zona debe ser la que contiene el perfil de tu red de VPC y debe ser una zona en la que el tipo de máquina esté disponible. Para obtener más información, consulta Limitaciones.
  • RESIZE_REQUEST_NAME: El nombre de la solicitud de cambio de tamaño, que debe ser único dentro del MIG especificado. De lo contrario, la creación de la solicitud de cambio de tamaño fallará.
  • COUNT: Es la cantidad de VMs que se agregarán al MIG a la vez.
  • REGION: Es la región en la que se encuentra el MIG.

Si tu carga de trabajo requiere nombres de VM específicos, puedes especificar una lista de nombres de VMs para crear con el comando beta instance-groups managed resize-requests create. En el comando, reemplaza la marca --resize-request por la --instances.

REST

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.

Inicio flexible

Crea un MIG zonal o regional y una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear un MIG zonal y una solicitud de cambio de tamaño en él, haz lo siguiente:
    1. Para crear un MIG zonal, realiza una solicitud POST al método instanceGroupManagers.insert de la siguiente manera.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    2. Crea una solicitud de cambio de tamaño en el MIG zonal realizando una solicitud POST al método instanceGroupManagerResizeRequests.insert de la siguiente manera:
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Para crear un MIG regional y una solicitud de cambio de tamaño en él, haz lo siguiente:
    1. Crea un MIG regional realizando una solicitud POST al método regionInstanceGroupManagers.insert de la siguiente manera.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "instanceLifecyclePolicy": {
          "defaultActionOnFailure": "DO_NOTHING"
        }
      }
      
    2. Crea una solicitud de cambio de tamaño en el MIG regional realizando una solicitud POST al método beta.regionInstanceGroupManagerResizeRequests.insert de la siguiente manera:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Con reserva

Las solicitudes para crear un MIG usan una política de cargas de trabajo para especificar la posición de la VM. Si no deseas usar una política de carga de trabajo, quita el campo resourcePolicies.workloadPolicy.

Crea un MIG zonal o regional y una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear un MIG zonal y una solicitud de cambio de tamaño en él, haz lo siguiente:
    1. Para crear un MIG zonal, realiza una solicitud POST al método instanceGroupManagers.insert de la siguiente manera.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Crea una solicitud de cambio de tamaño en el MIG zonal realizando una solicitud POST al método instanceGroupManagerResizeRequests.insert de la siguiente manera:
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Para crear un MIG regional y una solicitud de cambio de tamaño en él, haz lo siguiente:
    1. Crea un MIG regional realizando una solicitud POST al método regionInstanceGroupManagers.insert de la siguiente manera.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Crea una solicitud de cambio de tamaño en el MIG regional realizando una solicitud POST al método beta.regionInstanceGroupManagerResizeRequests.insert de la siguiente manera:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      

Spot

Las solicitudes para crear un MIG usan una política de cargas de trabajo para especificar la posición de la VM. Si no quieres usar una política de carga de trabajo, quita el campo resourcePolicies.workloadPolicy.

Crea un MIG zonal o regional y una solicitud de cambio de tamaño de la siguiente manera:

  • Para crear un MIG zonal y una solicitud de cambio de tamaño en él, haz lo siguiente:
    1. Para crear un MIG zonal, realiza una solicitud POST al método instanceGroupManagers.insert de la siguiente manera.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Crea una solicitud de cambio de tamaño en el MIG zonal realizando una solicitud POST al método instanceGroupManagerResizeRequests.insert de la siguiente manera:
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
  • Para crear un MIG regional y una solicitud de cambio de tamaño en él, haz lo siguiente:
    1. Crea un MIG regional realizando una solicitud POST al método regionInstanceGroupManagers.insert de la siguiente manera.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "targetSize": 0,
        "distributionPolicy": {
          "targetShape": "ANY_SINGLE_ZONE",
          "zones": [
            {
              "zone": "projects/PROJECT_ID/zones/ZONE"
            }
          ]
        },
        "updatePolicy": {
          "instanceRedistributionType": "NONE"
        },
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
      
    2. Crea una solicitud de cambio de tamaño en el MIG regional realizando una solicitud POST al método beta.regionInstanceGroupManagerResizeRequests.insert de la siguiente manera:
      POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests
      {
        "name": "RESIZE_REQUEST_NAME",
        "resizeBy": COUNT
      }
      
Reemplaza lo siguiente:
  • PROJECT_ID: Es el ID del proyecto.
  • ZONE: Es la zona en la que deseas crear el MIG. En el caso de un MIG regional, también debes especificar una zona. Esta zona debe ser la que contiene el perfil de tu red de VPC y debe ser una zona en la que el tipo de máquina esté disponible. Para obtener más información, consulta Limitaciones.
  • REGION: la región en la que deseas crear el MIG.
  • INSTANCE_TEMPLATE_URL: Es la URL de la plantilla de instancias que deseas usar para crear VMs 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
  • MIG_NAME: Es el nombre del MIG.
  • WORKLOAD_POLICY_URL: Opcional: URL de la política de cargas de trabajo. Por ejemplo:projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy Si no quieres usar una política de cargas de trabajo, puedes quitar el campo resourcePolicies.workloadPolicy.
  • RESIZE_REQUEST_NAME: El nombre de la solicitud de cambio de tamaño, que debe ser único 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

Si tu carga de trabajo requiere nombres de VM específicos, puedes especificar una lista de nombres de las VMs que se crearán. Para ello, envía una solicitud POST al método beta.regionInstanceGroupManagerResizeRequests.insert para un MIG regional o al método beta.instanceGroupManagerResizeRequests.insert para un MIG zonal. En el cuerpo de la solicitud, reemplaza el campo resizeBy por el campo instanceNames.

Próximos pasos