Cree un MIG con múltiples tipos de máquinas


Este documento describe cómo crear un grupo de instancias administrado (MIG) con flexibilidad de instancia , que le permite especificar varios tipos de máquinas en el MIG.

La flexibilidad de instancias ayuda a mejorar la obtención de recursos, particularmente para aplicaciones que pueden operar en diferentes tipos de máquinas y que requieren capacidad a gran escala o hardware con alta demanda. Para obtener más información, consulte Acerca de la flexibilidad de instancias .

También puedes leer sobre otros escenarios básicos para crear un MIG .

Antes de comenzar

  • Cree una plantilla de instancias , que es necesaria para crear un grupo de instancias administrado.
  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. 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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. Terraform

      Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

      1. Install the Google Cloud CLI.
      2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. If you're using a local shell, then create local authentication credentials for your user account:

        gcloud auth application-default login

        You don't need to do this if you're using Cloud Shell.

        If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.

      Para obtener más información, consulta Set up authentication for a local development environment.

      REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Cree un MIG con múltiples tipos de máquinas

Consola

  1. En la consola de Google Cloud, vaya a la página de grupos de instancias .

    Ir a grupos de instancias

  2. Haz clic en Crear grupo de instancias .

  3. En el campo Nombre , ingrese un nombre para el MIG.

  4. En la lista Plantilla de instancia , seleccione la plantilla de instancia que desea utilizar para el MIG.

  5. Antes de poder especificar el número de instancias y agregar selecciones de instancias , debe hacer lo siguiente:

    1. Establezca una ubicación de la siguiente manera:

      1. Desplázate hasta la sección Ubicación y selecciona Múltiples zonas .

      2. En los menús desplegables Regiones y Zonas , seleccione una región y las zonas en las que desea crear las máquinas virtuales en el MIG. Si seleccionó una plantilla de instancia regional, la región de esa plantilla se selecciona de forma predeterminada.

      3. En el campo Forma de distribución objetivo , seleccione Equilibrado o Cualquier zona única .

      4. En el cuadro de diálogo que se abre, haga clic en Deshabilitar la redistribución de instancias .

    2. Elimine la configuración de escalado automático de la siguiente manera:

      1. En la sección Escala automática , en el menú desplegable Modo de escala automática , haga clic en Eliminar configuración de escala automática .

      2. En el cuadro de diálogo que se abre, haga clic en Eliminar .

    3. Desplácese hacia atrás hasta el campo Número de instancias .

  6. En el campo Número de instancias , especifique la cantidad de máquinas virtuales que desea en el grupo.

  7. En la sección Selecciones de instancia , haga clic en Agregar selecciones de instancia .

    Se abre la ventana de selecciones de instancias .

    1. Haga clic en Agregar selección de instancia .

    2. En la sección Selección de nueva instancia , haga lo siguiente:

      1. En el campo Nombre , ingrese un nombre para la selección de instancia.

      2. En la sección Tipos de máquina , haga clic en Agregar tipo de máquina , seleccione el tipo de máquina que desea agregar en la selección de instancia y luego haga clic en Listo .

        Repita este paso para cada tipo de máquina que desee agregar a la selección de instancia.

      3. Después de agregar los tipos de máquinas a la selección de instancias, haga clic en Listo .

  8. En la ventana de selecciones de instancias , haga clic en Listo .

  9. Deje los demás campos en su configuración predeterminada o modifíquelos según sea necesario.

  10. Haga clic en Crear .

nube de gcloud

Para crear un MIG regional con varios tipos de máquinas, utilice el comando instance-groups managed create de la siguiente manera:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --region REGION \
    --size TARGET_SIZE \
    --template INSTANCE_TEMPLATE \
    --target-distribution-shape SHAPE \
    --instance-redistribution-type none \
    --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...

Los MIG zonales no admiten la flexibilidad de instancias. Sin embargo, si desea crear un MIG en una sola zona, establezca la forma de distribución objetivo en any-single-zone . Además, si desea una zona específica, utilice la forma de distribución any-single-zone e incluya la bandera --zones ZONE .

Reemplace lo siguiente:

  • INSTANCE_GROUP_NAME : el nombre del MIG.
  • REGION : la región donde desea crear el MIG.
  • TARGET_SIZE : la cantidad de máquinas virtuales que desea que MIG cree y mantenga.
  • INSTANCE_TEMPLATE : el nombre de la plantilla de instancia.
  • SHAPE : la forma de distribución objetivo. El valor puede ser balanced o any-single-zone . Las otras formas de distribución de destino no son compatibles.
  • MACHINE_TYPE : los tipos de máquina que desea configurar en MIG, por ejemplo, n1-standard-16,n2-standard-16,e2-standard-16 .

Terraformar

Si aún no ha creado una plantilla de instancia, que especifica las propiedades de VM que desea para cada VM en su MIG, cree una plantilla de instancia .

Para crear un MIG regional con varios tipos de máquinas, utilice el recurso google_compute_region_instance_group_manager .

resource "google_compute_region_instance_group_manager" "default" {
  name               = "flex-igm"
  base_instance_name = "tf-test-flex-igm"
  region             = "us-central1"

  target_size                      = 3
  distribution_policy_target_shape = "ANY_SINGLE_ZONE"

  version {
    instance_template = google_compute_instance_template.default.id
  }

  instance_flexibility_policy {
    instance_selections {
      name          = "default-instance-selection"
      machine_types = ["n1-standard-16", "n2-standard-16", "e2-standard-16"]
    }
  }

  update_policy {
    instance_redistribution_type = "NONE"
    type                         = "OPPORTUNISTIC"
    minimal_action               = "REPLACE"
    max_surge_fixed              = 0
    max_unavailable_fixed        = 6
  }
}

Para aprender a aplicar o eliminar una configuración de Terraform, consulte Comandos básicos de Terraform .

DESCANSAR

Para crear un MIG regional con varios tipos de máquinas, realice una solicitud POST al método regionInstanceGroupManagers.insert .

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": TARGET_SIZE,
  "instanceTemplate": "INSTANCE_TEMPLATE_URL",
  "distributionPolicy": {
    "targetShape": "SHAPE"
  },
  "updatePolicy": {
    "instanceRedistributionType": "NONE"
  },
  "instanceFlexibilityPolicy": {
    "instanceSelections": {
      "INSTANCE_SELECTION": {
        "machineTypes": [
          "MACHINE_TYPE_1",
          "MACHINE_TYPE_2",
          ...
        ]
      }
    }
  }
}

Los MIG zonales no admiten la flexibilidad de instancias. Sin embargo, si desea crear un MIG en una sola zona, establezca la forma de distribución objetivo en ANY_SINGLE_ZONE . Además, si desea una zona específica, utilice la forma de distribución ANY_SINGLE_ZONE e incluya el campo distributionPolicy.zones[].zone en la solicitud.

Reemplace lo siguiente:

  • PROJECT_ID : su ID de proyecto .
  • REGION : la región donde desea crear el MIG.
  • INSTANCE_GROUP_NAME : el nombre del MIG.
  • TARGET_SIZE : la cantidad de máquinas virtuales que desea que MIG cree y mantenga.
  • INSTANCE_TEMPLATE_URL : la URL de la plantilla de instancia.
  • SHAPE : la forma de distribución objetivo. El valor puede ser BALANCED o ANY_SINGLE_ZONE . Las otras formas de distribución de destino no son compatibles.
  • INSTANCE_SELECTION : el nombre de la lista de tipos de máquinas.
  • MACHINE_TYPE : los tipos de máquina que desea configurar en MIG, por ejemplo, "n1-standard-16","n2-standard-16","e2-standard-16" .

¿Qué sigue?