En este tutorial se muestra cómo crear un grupo de instancias gestionado (MIG) que utilice un tipo de máquina H4D. La MIG usa el modelo de aprovisionamiento vinculado a reservas para obtener recursos de computación.
Crear un MIG te permite gestionar varias máquinas virtuales como una sola entidad. Cada VM de un MIG se basa en una plantilla de instancia. Al gestionar automáticamente las VMs del grupo, los MIGs ofrecen alta disponibilidad y escalabilidad. Para obtener más información sobre los MIGs, consulta Grupos de instancias gestionados.
Para obtener información sobre las opciones de creación de VMs y clústeres de HPC, consulta el artículo Descripción general de la creación de clústeres de HPC.
Este tutorial está dirigido a ingenieros de HPC, administradores y operadores de plataformas, y a especialistas en datos y MPI que quieran crear un grupo de instancias de HPC interconectadas para ejecutar sus cargas de trabajo. Las instancias resultantes no usan un orquestador para gestionar las instancias ni para programar los trabajos.
Si quieres crear un grupo de instancias gestionado, pero no necesitas crear una implementación densa de instancias, consulta Escenarios básicos para crear grupos de instancias gestionados.
Objetivos
- Reserva bloques de capacidad para las instancias de VM.
- Opcional: Crea redes de nube privada virtual (VPC).
- Opcional: Crea una política de cargas de trabajo.
- Crea una plantilla de instancia.
- Crea un MIG con uno de los siguientes métodos:
- Crea un MIG con un tamaño de destino.
- Crea un MIG y una solicitud de cambio de tamaño.
- Elimina los recursos que has creado.
Costes
En este documento, se utilizan los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costes basada en el uso previsto,
utiliza la calculadora de precios.
Cuando termines las tareas que se describen en este documento, puedes evitar que se te siga facturando eliminando los recursos que has creado. Para obtener más información, consulta la sección Limpiar.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/compute.instanceAdmin.v1,roles/compute.networkAdmin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
Sigue el proceso para reservar capacidad poniéndote en contacto con tu equipo de cuenta en la documentación de AI Hypercomputer. En tu próxima solicitud de reserva, proporciona la información tal como se indica en la documentación, con las siguientes excepciones:
- Tipo de máquina: especifica el tipo de máquina H4D.
h4d-highmem-192-lssd
- Zona: especifica una de las zonas en las que están disponibles las instancias H4D, tal como se indica en la tabla Regiones y zonas disponibles. Para mostrar las zonas disponibles solo para H4D, en la lista Selecciona una serie de máquinas, selecciona
H4D
. - Tipo de programación del mantenimiento: en las instancias H4D, puedes especificar
GROUPED
oINDEPENDENT
. - Modo operativo de la reserva: en las instancias H4D, especifica el valor
HIGHLY_AVAILABLE_CAPACITY
.
- Tipo de máquina: especifica el tipo de máquina H4D.
La cuota se aumenta automáticamente antes de que se proporcione la capacidad. No es necesario que hagas nada.
Cuando cree la plantilla de instancia, especifique el modelo de aprovisionamiento enlazado a la reserva. Las instancias de VM del MIG se aprovisionan a partir de tu capacidad reservada.
- Busca capacidad disponible y reserva recursos con la Google Cloud consola, la CLI de gcloud o la API Compute Engine.
- No se te cobrará ninguna cuota y no es necesario que hagas nada.
- Cuando cree la plantilla de instancia, especifique el modelo de aprovisionamiento enlazado a la reserva. Las instancias de VM del MIG se aprovisionan a partir de tu capacidad reservada.
- Si quieres configurar las instancias H4D para que usen Cloud RDMA, sigue los pasos de esta sección.
- Si no quieres usar Cloud RDMA, puedes omitir esta sección y usar la red predeterminada.
- Tipo de NIC
GVNIC
: usa el controladorgve
para el tráfico TCP/IP e Internet en la comunicación normal entre máquinas virtuales y entre máquinas virtuales e Internet. - Tipo de NIC
IRDMA
: usa controladores IDPF o iRDMA para la conexión en red de Cloud RDMA entre instancias. Para crear las redes de host de las
GVNIC
interfaces de red, consulta Crear y gestionar redes de VPC.Si solo vas a configurar una interfaz de red
GVNIC
, puedes usar la red VPC predeterminada y la subred automática que se encuentre en la misma región que la instancia.Para crear una red para la interfaz de red
IRDMA
, consulta Crear una red VPC con un perfil de red RDMA. Usa el valor predeterminado de la unidad máxima de transmisión (MTU) de una red RDMA, que es8896
.- Opcional: Antes de ejecutar la secuencia de comandos, enumera los perfiles de red RDMA para verificar que hay uno disponible.
gcloud beta compute network-profiles list
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 standard 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 network for the RDMA over Falcon network interface gcloud beta compute networks create RDMA_NAME_PREFIX-irdma \ --network-profile=ZONE-vpc-falcon \ --subnet-mode custom # Create a subnet for the RDMA network gcloud beta 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
Haz los cambios siguientes:
NUMBER_OF_GVNIC
: número de interfaces de gVNIC que se van a crear. Especifica un número del 1 al 9.GVNIC_NAME_PREFIX
: el prefijo de nombre que se va a usar en la red VPC y la subred estándar que usa un tipo de NIC GVNIC.REGION
: la región en la que quieras crear las redes. Debe corresponderse con la zona especificada en la marca--network-profile
al crear la red RDMA. Por ejemplo, si especificas la zonaeurope-west4-b
, tu región seráeurope-west4
.IP_RANGE
: el intervalo de direcciones IP fuera de la red VPC que se va a usar para las reglas de cortafuegos SSH. Te recomendamos que especifiques los intervalos de direcciones IP concretos desde los que necesitas permitir el acceso, en lugar de todas las fuentes IPv4 o IPv6. No utilices0.0.0.0/0
ni::/0
como intervalo de origen, ya que esto permite el tráfico de todos los orígenes IPv4 o IPv6, incluidos los que están fuera de Google Cloud.RDMA_NAME_PREFIX
: el prefijo de nombre que se va a usar en la red VPC y la subred que usan el tipo de NIC IRDMA.ZONE
: la zona en la que quieres crear las redes y las instancias de computación. Usaus-central1-a
oeurope-west4-b
.
Opcional: Para verificar que los recursos de la red de VPC se han creado correctamente, comprueba la configuración de la red en la Google Cloud consola:
- En la Google Cloud consola, ve a la página Redes de VPC.
- Busca en la lista las redes que has creado en el paso anterior.
- Para ver las subredes, las reglas de cortafuegos y otros ajustes de red, haz clic en el nombre de la red.
-
Para colocar las VMs de la mejor forma posible, 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 que las máquinas virtuales estén ubicadas en el mismo lugar, 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
WORKLOAD_POLICY_NAME
: el nombre de la política de carga de trabajo.REGION
: la región en la que quieres crear la política de carga de trabajo. Especifica una región en la que quieras crear el MIG y el tipo de máquina que quieras usar esté disponible. Para obtener información sobre las regiones y las zonas, consulta Regiones y zonas disponibles.-
Para asignar las VMs de la mejor forma posible, 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 que las VMs se coloquen de forma estricta, 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" } }
PROJECT_ID
: tu ID de proyectoREGION
: la región en la que quieres crear la política de carga de trabajo. Especifica una región en la que quieras crear el MIG y el tipo de máquina que quieras usar esté disponible. Para obtener información sobre las regiones y las zonas, consulta Regiones y zonas disponibles.WORKLOAD_POLICY_NAME
: el nombre de la política de carga de trabajo.INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancia.MACHINE_TYPE
: el tipo de máquina H4D que se va a usar en la instancia.IMAGE_FAMILY
: la familia de imágenes del SO que quieres usar. Para ver una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.IMAGE_PROJECT
: el ID de proyecto de la imagen del SO.REGION
: la región en la que quieres crear la plantilla de instancia. Especifica una región en la que esté disponible el tipo de máquina que quieras usar.DISK_SIZE
: tamaño del disco de arranque en GiB.GVNIC_NAME_PREFIX
: el prefijo de nombre que usaste al crear las redes VPC y las subredes estándar para las interfaces gVNIC.Si usas la red predeterminada, incluye solo un campo
--network-interface
con el camponic-type
definido comoGVNIC
. Además, omite los ajustesnetwork
ysubnetwork
de esta interfaz de red.STACK_TYPE
: opcional: el tipo de pila que se va a usar en la interfaz gVNIC. EspecificaIPV4_ONLY
oIPV4_IPV6
. Si no especifica ningún valor, se usaráIPV4_ONLY
de forma predeterminada.EXTERNAL_IPV4_ADDRESS
: opcional: una dirección IPv4 externa estática que se va a usar con la interfaz de red gVNIC. Debes haber reservado una dirección IPv4 externa previamente. Elige una de estas opciones:- Especifica una dirección IPv4 válida de la subred.
- Usa la marca
no-address
si no quieres que la interfaz de red tenga una dirección IP externa. - Especifica
address=''
si quieres 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
: el prefijo de nombre que usaste al crear la red VPC y la subred de la interfaz de red IRDMA.Si no utilizas Cloud RDMA con tus instancias H4D, omite el campo
--network-interface
de la interfaz IRDMA.-
RESERVATION
: el nombre de la reserva que quieras usar.RESERVATION
: el nombre de la reserva o un bloque específico de una reserva. Para obtener el nombre de la reserva o los bloques disponibles, consulta Ver la capacidad reservada. En función de tus requisitos de colocación de instancias, 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
) . A continuación, Compute Engine aplica la política a la reserva y crea instancias en el mismo bloque.Para crear instancias en un bloque específico, haz lo siguiente:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
INSTANCE_TEMPLATE_NAME
: el nombre de la plantilla de instancia.MACHINE_TYPE
: el tipo de máquina que se va a usar en la instancia. Especifica un tipo de máquina H4D. Para obtener más información, consulta los tipos de máquinas H4D.IMAGE_FAMILY
: la familia de imágenes del SO que quieres usar. Para ver una lista de los sistemas operativos compatibles, consulta Sistemas operativos compatibles.IMAGE_PROJECT
: el ID de proyecto de la imagen del SO.REGION
: la región en la que quieres crear la plantilla de instancia. Especifica una región en la que esté disponible el tipo de máquina que quieras usar. Para obtener información sobre las regiones, consulta Regiones y zonas.DISK_SIZE
: tamaño del disco de arranque en GiB.GVNIC_NAME_PREFIX
: el prefijo de nombre que usaste al crear las redes VPC y las subredes estándar para las interfaces gVNIC.Si usas la red predeterminada, incluye solo un campo
--network-interface
con el camponic-type
definido comoGVNIC
. Además, omite los ajustesnetwork
ysubnetwork
de esta interfaz de red.EXTERNAL_IPV4_ADDRESS
: opcional: una dirección IPv4 externa estática que se va a usar con la interfaz de red gVNIC. Debes haber reservado una dirección IPv4 externa previamente.Para especificar una dirección IPv6 externa para la interfaz de red GVNIC, usa la marca
--external-ipv6-address
.RDMA_NAME_PREFIX
: el prefijo de nombre que usaste al crear la red VPC y la subred de la interfaz de red IRDMA.Si no utilizas Cloud RDMA con tus instancias H4D, omite el campo
--network-interface
de la interfaz IRDMA.-
RESERVATION
: el nombre de la reserva que quieras usar.RESERVATION
: el nombre de la reserva o un bloque específico de una reserva. Para obtener el nombre de la reserva o los bloques disponibles, consulta Ver la capacidad reservada. En función de tus requisitos de colocación de instancias, 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
) . A continuación, Compute Engine aplica la política a la reserva y crea instancias en el mismo bloque.Para crear instancias en un bloque específico, haz lo siguiente:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
- Si tienes varias tareas o tareas paralelas que pueden iniciarse con cualquier número de VMs, crea el MIG con un tamaño objetivo.
- Si necesitas varias VMs a la vez para iniciar un trabajo o tienes un trabajo que requiere distribuirse en un número exacto de instancias de VM, crea un MIG y, a continuación, crea una solicitud de cambio de tamaño en el MIG.
- 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
MIG_NAME
: el nombre del MIG.INSTANCE_TEMPLATE_URL
: la URL de la plantilla de instancia que quieres usar para crear VMs en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancia. Especifica uno de los siguientes valores:- En el caso de una plantilla de instancia regional, haz lo siguiente:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
- En el caso de una plantilla de instancia global, haz lo siguiente:
INSTANCE_TEMPLATE_ID
- En el caso de una plantilla de instancia regional, haz lo siguiente:
TARGET_SIZE
: el número de VMs que quieres que haya en el MIG.WORKLOAD_POLICY_URL
: opcional, la URL de la política de carga de trabajo. Si no quieres usar una política de carga de trabajo, puedes quitar la marca--workload-policy
.ZONE
: la zona en la que quieres crear el MIG. Si usas una política de carga de trabajo, especifica una zona dentro de la región de la política.REGION
: la región en la que quieres 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 los MIGs regionales, en lugar de una región, puedes especificar las zonas de esa región mediante la marca--zones
.- Para crear un MIG zonal, haz una solicitud
POST
al métodoinstanceGroupManagers.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, haz una solicitud
POST
al métodoregionInstanceGroupManagers.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 } }
PROJECT_ID
: el ID del proyecto.ZONE
: la zona en la que quieres crear el MIG. Si usas una política de carga de trabajo, especifica una zona dentro de la región de la política.REGION
: la región en la que quieres crear un MIG. Si usas una política de carga de trabajo, especifica la misma región que la de la política.INSTANCE_TEMPLATE_URL
: la URL de la plantilla de instancia que quieres usar para crear VMs en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancia. Especifica uno de los siguientes valores:- En el caso de una plantilla de instancia regional, haz lo siguiente:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
- En el caso de una plantilla de instancia global, haz lo siguiente:
INSTANCE_TEMPLATE_ID
- En el caso de una plantilla de instancia regional, haz lo siguiente:
MIG_NAME
: el nombre del MIG.TARGET_SIZE
: el número de VMs que quieres que haya en el MIG.WORKLOAD_POLICY_URL
: opcional, la URL de la política de carga de trabajo. Si no quieres usar una política de carga de trabajo, puedes quitar el camporesourcePolicies.workloadPolicy
.-
Para crear un MIG zonal y una solicitud de cambio de tamaño en él, sigue estos pasos:
-
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
-
Crea una solicitud de cambio de tamaño en el MIG zonal mediante 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 \ POPULATION_METHOD \ --zone=ZONE
-
-
Para crear un MIG regional y una solicitud de cambio de tamaño en él, sigue estos pasos:
-
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
-
Crea una solicitud de cambio de tamaño en el grupo de instancias gestionado regional con el comando beta
instance-groups managed resize-requests create
de la siguiente manera:gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ POPULATION_METHOD \ --region=REGION
-
MIG_NAME
: el nombre del MIG.INSTANCE_TEMPLATE_URL
: la URL de la plantilla de instancia que quieres usar para crear VMs en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancia. Especifica uno de los siguientes valores:- En el caso de una plantilla de instancia regional, haz lo siguiente:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
- En el caso de una plantilla de instancia global, haz lo siguiente:
INSTANCE_TEMPLATE_ID
- En el caso de una plantilla de instancia regional, haz lo siguiente:
WORKLOAD_POLICY_URL
: opcional, la URL de la política de carga de trabajo. Si no quieres usar una política de carga de trabajo, puedes quitar la marca--workload-policy
.ZONE
: la zona en la que quieres crear el MIG. En el caso de los MIG regionales, también debe especificar una zona. Esta zona debe ser la que contenga el perfil de tu red de VPC y debe ser una zona en la que esté disponible el tipo de máquina. 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 en el MIG especificado. De lo contrario, no se podrá crear la solicitud de cambio de tamaño.POPULATION_METHOD
: método para añadir instancias al MIG. Usa una de las siguientes opciones:--resize-by=COUNT
: añade el número especificado de instancias al MIG a la vez. Los nombres de las instancias se generan automáticamente.--instances=INSTANCE_NAME_LIST
: añade al MIG todas las instancias con los nombres especificados a la vez. Sustituye INSTANCE_NAME_LIST por una lista de nombres de instancias separados por comas. El número de nombres que proporciones determinará el número de instancias que se crearán con esta solicitud de cambio de tamaño.
REGION
: la región en la que se encuentra el MIG.- Para crear un MIG zonal y una solicitud de cambio de tamaño en él, sigue estos pasos:
- Crea un MIG zonal haciendo una solicitud
POST
al métodoinstanceGroupManagers.insert
de la siguiente manera.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } }
- Crea una solicitud de cambio de tamaño en el MIG zonal haciendo una solicitud
POST
al métodoinstanceGroupManagerResizeRequests.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", POPULATION_METHOD }
- Crea un MIG zonal haciendo una solicitud
- Para crear un MIG regional y una solicitud de cambio de tamaño en él, sigue estos pasos:
- Crea un MIG regional haciendo una solicitud
POST
al métodoregionInstanceGroupManagers.insert
de la siguiente manera.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } }
- Crea una solicitud de cambio de tamaño en el MIG regional haciendo una solicitud
POST
al métodobeta.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", POPULATION_METHOD }
- Crea un MIG regional haciendo una solicitud
PROJECT_ID
: el ID del proyecto.ZONE
: la zona en la que quieres crear el MIG. En el caso de los MIG regionales, también debe especificar una zona. Esta zona debe ser la que contenga el perfil de tu red de VPC y debe ser una zona en la que esté disponible el tipo de máquina. Para obtener más información, consulta Limitaciones.REGION
: la región en la que quieres crear el MIG.INSTANCE_TEMPLATE_URL
: la URL de la plantilla de instancia que quieres usar para crear VMs en el MIG. La URL puede contener el ID o el nombre de la plantilla de instancia. Especifica uno de los siguientes valores:- En el caso de una plantilla de instancia regional, haz lo siguiente:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
- En el caso de una plantilla de instancia global, haz lo siguiente:
INSTANCE_TEMPLATE_ID
- En el caso de una plantilla de instancia regional, haz lo siguiente:
MIG_NAME
: el nombre del MIG.WORKLOAD_POLICY_URL
: opcional, la URL de la política de carga de trabajo. Si no quieres usar una política de carga de trabajo, puedes quitar el camporesourcePolicies.workloadPolicy
.RESIZE_REQUEST_NAME
: el nombre de la solicitud de cambio de tamaño, que debe ser único en el MIG especificado. De lo contrario, no se podrá crear la solicitud de cambio de tamaño.POPULATION_METHOD
: método para añadir instancias al MIG. Usa una de las siguientes opciones:"resizeBy":COUNT
: sustituye COUNT por el número de instancias que quieras añadir al MIG a la vez. Los nombres de las instancias se generan automáticamente."instanceNames":INSTANCE_NAME_LIST
: añade al MIG todas las instancias con los nombres especificados a la vez. Sustituye INSTANCE_NAME_LIST por una lista de nombres de instancias separados por comas. El número de nombres que proporciones determinará el número de instancias que se crearán con esta solicitud de cambio de tamaño.
Si el estado de eliminación automática de los discos se ha definido como
False
en la plantilla de instancia, los discos no se eliminarán automáticamente cuando se elimine la instancia de máquina virtual. Puede eliminar los discos con uno de los siguientes métodos:Consola
- En la Google Cloud consola, ve a la página Discos.
Seleccione las filas que contengan los discos que ha creado en este tutorial. Asegúrate de que la columna En uso por esté vacía en cada disco.
Haz clic en
Eliminar y, a continuación, haz clic en Eliminar para confirmar la acción.
gcloud
Usa el
gcloud compute disks delete
comando.gcloud compute disks delete DISK_NAME \ --project PROJECT_ID --zone ZONE
Haz los cambios siguientes:
- DISK_NAME : el nombre del disco que se va a eliminar
- PROJECT_ID: el ID del proyecto que contiene el disco.
- ZONE: la zona del disco
REST
Usa el método
disks.delete
para eliminar los discos.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
Haz los cambios siguientes:
- PROJECT_ID: el ID del proyecto que contiene el disco.
- ZONE: la zona del disco
- DISK_NAME : el nombre del disco que se va a eliminar
- Más información sobre los grupos de instancias gestionados
- Consulta más información sobre las opciones de consumo de Compute Engine.
- Información sobre la serie de máquinas H4D
- Ver, cancelar o eliminar solicitudes de cambio de tamaño
- Solucionar problemas con el consumo de reservas
Capacidad de reserva
Para usar los comandos de este tutorial, debes reservar la capacidad para crear las instancias en el MIG.
Crear una reserva futura para bloques de capacidad
Esta acción te permite reservar bloques de capacidad durante un periodo definido, a partir de una fecha y una hora concretas que elijas. La reserva reserva bloques o subbloques de capacidad en un clúster, lo que permite realizar despliegues densos de instancias de máquina virtual.
Para crear una reserva futura para una implementación densa, sigue estos pasos:
Se te cobra todo el periodo de reserva, independientemente de si usas los recursos reservados durante todo el periodo o no. Para obtener más información, consulta Facturación de reservas.
Crear una reserva futura en el modo Calendario
Si necesitas usar la capacidad reservada durante menos de 90 días, puedes crear una reserva futura en el modo de calendario con Dynamic Workload Scheduler. Para obtener recursos de reserva futuros, sigue estos pasos:
Se te cobra todo el periodo de reserva, independientemente de si usas los recursos reservados durante todo el periodo o no. Para obtener más información, consulta los precios de Dynamic Workload Scheduler.
Opcional: Crear redes de VPC
A menos que decidas inhabilitarla, cada proyecto tiene una red predeterminada, que se puede usar para proporcionar conectividad de red a tus instancias. Cuando creas una VM, puedes especificar una red VPC y una subred. Si omite esta configuración, se usarán la red y la subred predeterminadas.
Las instancias H4D se pueden configurar para usar Cloud RDMA. Cloud RDMA ofrece funciones de mensajería fiables y de baja latencia mediante un controlador de red IRDMA que admite el acceso directo a memoria remota (RDMA) entre instancias de Compute Engine.
Para este tutorial, necesitarás lo siguiente:
Las instancias habilitadas para RDMA requieren un mínimo de dos interfaces de red (NICs):
Las instancias que usan Cloud RDMA solo pueden tener una interfaz IRDMA
. Puedes añadir hasta ocho interfaces de red GVNIC
adicionales, lo que hace un total de 10 NICs por instancia.
Para configurar las redes de VPC de Falcon que quieras usar con tus instancias, puedes seguir las instrucciones documentadas o usar la secuencia de comandos proporcionada.
Guías de instrucciones
Para crear las redes, puedes seguir estas 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 conectarse a una red independiente. Para crear las redes, puedes usar la siguiente secuencia de comandos, que crea dos redes para GVNIC
y una red para IRDMA
.
Opcional: Crear una política de cargas de trabajo
Si quieres que Compute Engine coloque las instancias de VM en un solo bloque o en bloques adyacentes, especifica la colocación de las instancias creando una política de carga de trabajo. Sin embargo, si quieres que Compute Engine coloque tus instancias en un bloque específico, omite este paso y proporciona el nombre del bloque en la afinidad de la reserva al crear la plantilla de instancia.
Si ya tienes una política de carga de trabajo, puedes reutilizarla. 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 compacidad), especifica el campo maxTopologyDistance
al crear una política de carga de trabajo.
Una vez creada una política de carga de trabajo, no se puede actualizar. Para hacer cambios en una política de carga de trabajo, debes crear una nueva.
Para crear una política de carga de trabajo, selecciona una de las siguientes opciones:
gcloud
Para crear una política de carga de trabajo, usa el comando
gcloud compute resource-policies create workload-policy
.
Haz los cambios siguientes:
REST
Para crear una política de carga de trabajo, haz una POST
solicitud al método resourcePolicies.insert
.
Haz los cambios siguientes:
Crear una plantilla de instancia
Para especificar las propiedades de instancia y de consumo de cada instancia de la MIG, crea una plantilla de instancia con uno de los siguientes métodos:
gcloud
Para crear una plantilla de instancia 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
Haz los cambios siguientes:
REST
Para crear una plantilla de instancia regional, envía 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 } } }
Haz los cambios siguientes:
Una vez que hayas creado la plantilla de instancia, puedes verla para consultar su ID y sus propiedades.
Crear un MIG
En función de los requisitos de tu carga de trabajo, puedes crear un MIG con una de las siguientes configuraciones:
Crear un MIG con un tamaño de destino
Si puedes iniciar el trabajo sin crear todas las instancias de VM a la vez, crea un MIG con un tamaño objetivo. El tamaño objetivo determina el número de instancias de la MIG. La MIG empieza a crear instancias en función de la disponibilidad de recursos actual. Si algún recurso no está disponible temporalmente, el MIG intentará continuamente crear instancias 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 específico, usa el comando instance-groups managed
create
.
En este paso, los comandos para crear un MIG usan una política de carga de trabajo para especificar la colocación de las VMs. Si no quieres usar una política de carga de trabajo, elimina la marca --workload-policy
.
Crea un MIG de zona o regional de la siguiente manera:
REST
Para crear un MIG con un tamaño de destino específico, haz una solicitud POST
de la siguiente manera.
En este paso, las solicitudes para crear un MIG usan una política de carga de trabajo para especificar la colocación de las VMs. Si no quieres usar una política de carga de trabajo, elimina el campo resourcePolicies.workloadPolicy
del cuerpo de la solicitud.
Crea un MIG de zona o regional de la siguiente manera:
Crear un MIG y una solicitud de cambio de tamaño
Para crear todas las instancias solicitadas al mismo tiempo, crea un MIG sin ninguna instancia. Después de crear el MIG vacío, crea una solicitud de cambio de tamaño en el MIG. Cuando los recursos están disponibles para crear todas las instancias a la vez, la solicitud de cambio de tamaño añade las instancias al MIG.
Para crear un MIG y una solicitud de cambio de tamaño, selecciona una de las siguientes opciones:
gcloud
En este paso, los comandos para crear un MIG usan una política de carga de trabajo para especificar la colocación de las VMs. Si no quieres usar una política de carga de trabajo, elimina la marca --workload-policy
.
Crea un MIG de zona o regional y una solicitud de cambio de tamaño de la siguiente manera:
Haz los cambios siguientes:
REST
En este paso, las solicitudes para crear un MIG usan una política de carga de trabajo para especificar la colocación de las VMs. Si no quieres usar una política de carga de trabajo, elimina el campo resourcePolicies.workloadPolicy
del cuerpo de la solicitud.
Crea un MIG de zona o regional y una solicitud de cambio de tamaño de la siguiente manera:
Haz los cambios siguientes:
Limpieza
Para evitar que los recursos utilizados en este tutorial se cobren en tu cuenta de Google Cloud, elimina el proyecto que contiene los recursos o conserva el proyecto y elimina los recursos.
Eliminar un proyecto
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID