Deshabilite y vuelva a habilitar la redistribución proactiva de VM en un MIG regional


En un grupo de instancias administrado (MIG) regional , para mantener un número par de instancias de máquinas virtuales (VM) en las zonas seleccionadas de la región , utilice la redistribución de instancias proactiva . Esta opción de configuración maximiza la disponibilidad de su aplicación en caso de una falla a nivel de zona.

La redistribución proactiva de instancias está activada de forma predeterminada para los MIG regionales. Cuando la redistribución proactiva de instancias está desactivada, el grupo no intenta redistribuir de forma proactiva las máquinas virtuales entre zonas. Desactivar la redistribución proactiva de instancias es útil si necesita:

  • Elimine o abandone las máquinas virtuales del grupo sin afectar a otras máquinas virtuales en ejecución. Por ejemplo, puede eliminar una máquina virtual de trabajador por lotes una vez finalizado el trabajo sin afectar a otros trabajadores.
  • Proteja las máquinas virtuales con cargas de trabajo con estado contra la eliminación automática no deseada debido a la redistribución proactiva.
  • Establezca la forma de distribución objetivo del MIG en BALANCED o ANY_SINGLE_ZONE .

Puede desactivar la redistribución proactiva de instancias al crear un MIG regional. También puede habilitarlo o deshabilitarlo para un MIG regional existente.

Antes de comenzar

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

Crear un grupo con la redistribución proactiva de instancias deshabilitada

Para crear un MIG regional con la redistribución proactiva de instancias deshabilitada, use la consola de Google Cloud , la CLI de gcloud , Terraform o REST .

Consola

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

    Ir a la página de grupos de instancias

  2. Haga clic en Crear grupo de instancias para crear un nuevo grupo de instancias.
  3. Asigne un nombre y, opcionalmente, una descripción a su grupo de instancias.
  4. Elija una plantilla de instancias para el grupo de instancias o cree una nueva.
  5. Especifique la cantidad de máquinas virtuales para este grupo. Para cargas de trabajo de alta disponibilidad, recuerde aprovisionar suficientes máquinas virtuales para admitir su aplicación si ocurre una falla de zona.
  6. En Ubicación , seleccione Múltiples zonas .
  7. Elija una región y seleccione las zonas que desea utilizar.
  8. Para deshabilitar la redistribución proactiva de instancias , en Redistribución de instancias , desmarque la casilla Permitir redistribución de instancias .
  9. Continúe con el resto del proceso de creación de MIG.

nube de gcloud

Para crear un nuevo MIG regional sin redistribución proactiva de instancias, usa el gcloud compute instance-groups managed create con el indicador --instance-redistribution-type establecido en NONE .

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template INSTANCE_TEMPLATE_NAME \
    --size TARGET_SIZE \
    --zones ZONES \
    --instance-redistribution-type NONE

Reemplace lo siguiente:

  • INSTANCE_GROUP_NAME : el nombre del MIG
  • INSTANCE_TEMPLATE_NAME : el nombre de la plantilla de instancia que se utilizará para el grupo
  • TARGET_SIZE : el tamaño objetivo del grupo
  • ZONES : la lista de zonas en una sola región donde desea implementar máquinas virtuales

Por ejemplo:

gcloud compute instance-groups managed create example-rmig \
    --template example-template \
    --size 30 \
    --zones us-east1-b,us-east1-c \
    --instance-redistribution-type NONE

Terraformar

Si aún no ha creado una plantilla de instancia, que especifica el tipo de máquina, la imagen del disco de arranque, la red y otras propiedades de VM que desea para cada VM en su MIG, cree una plantilla de instancia .

Para crear un MIG regional, utilice el recurso google_compute_region_instance_group_manager .

Para deshabilitar la redistribución proactiva de instancias en un MIG regional, incluya el bloque update_policy y establezca el campo instance_redistribution_type en NONE .

resource "google_compute_region_instance_group_manager" "default" {
  name                      = "example-rmig"
  region                    = "us-east1"
  distribution_policy_zones = ["us-east1-b", "us-east1-c"]
  update_policy {
    type                         = "PROACTIVE"
    minimal_action               = "REFRESH"
    instance_redistribution_type = "NONE"
    max_unavailable_fixed        = 3
  }
  target_size        = 30
  base_instance_name = "instance"
  version {
    instance_template = google_compute_instance_template.default.id
  }
}

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

DESCANSAR

Para crear un MIG regional sin escalamiento automático sin redistribución proactiva de instancias, realice una solicitud POST al método regionInstanceGroupManagers.insert . En el cuerpo de la solicitud, incluya la propiedad updatePolicy y establezca su campo instanceRedistributionType en NONE .

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

{
    "name": "INSTANCE_GROUP_NAME",
    "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME",
    "targetSize": TARGET_SIZE,
    "distributionPolicy": {
        "zones": [
            {"zone": "zones/ZONE"},
            {"zone": "zones/ZONE"}
        ]
    },
    "updatePolicy": {
        "instanceRedistributionType": "NONE"
    }
}

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto para esta solicitud
  • REGION : la región para el grupo de instancias
  • INSTANCE_GROUP_NAME : el nombre del MIG
  • INSTANCE_TEMPLATE_NAME : el nombre de la plantilla de instancia que se utilizará para el grupo
  • TARGET_SIZE : el tamaño objetivo del grupo de instancias
  • ZONE : el nombre de una zona en la única región donde desea implementar máquinas virtuales

Desactivar la redistribución proactiva de instancias

Para deshabilitar o volver a habilitar la redistribución proactiva de instancias, use la consola de Google Cloud , la CLI de gcloud o REST .

Consola

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

    Ir a la página de grupos de instancias

  2. En la columna Nombre de la lista, haga clic en el nombre del grupo de instancias que desea modificar.
  3. Haga clic en Editar para modificar este grupo de instancias administrado.
  4. En Redistribución de instancias , desmarque la casilla Permitir redistribución de instancias .
  5. Haga clic en Guardar .

nube de gcloud

Para desactivar la redistribución proactiva de instancias, use el comando compute instance-groups managed update y establezca el indicador --instance-redistribution-type en NONE de la siguiente manera:

gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \
    --instance-redistribution-type NONE \
    --region REGION

Reemplace lo siguiente:

  • INSTANCE_GROUP_NAME : el nombre del MIG
  • REGION : la región del grupo de instancias

DESCANSAR

Para desactivar la redistribución proactiva de instancias, utilice el método regionInstanceGroupManagers.patch y establezca el campo instanceRedistributionType en NONE de la siguiente manera:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
  {
     "updatePolicy": {
        "instanceRedistributionType": "NONE"
     }
  }

Reemplace lo siguiente:

  • PROJECT_ID : el ID del proyecto para esta solicitud
  • REGION : la región para el grupo de instancias
  • INSTANCE_GROUP_NAME : el nombre del MIG

Activar la redistribución proactiva de instancias

Para activar la redistribución de instancias proactiva, use un comando similar al de desactivar la redistribución de instancias proactiva , pero establezca el tipo de redistribución de instancias en PROACTIVE .

Si eliminó o abandonó manualmente algunas instancias administradas, lo que resultó en una distribución desigual de las máquinas virtuales en la región, antes de poder volver a habilitar la redistribución proactiva de instancias, debe reequilibrar manualmente el grupo. La diferencia en la cantidad de VM entre dos zonas cualesquiera no debe exceder 1 VM.

Un MIG regional no permite activar la redistribución proactiva de instancias cuando las VM se distribuyen de manera desigual entre zonas (la diferencia en la cantidad de VM entre dos zonas es 2 o más VM). Esto es para evitar una eliminación automática no deseada de máquinas virtuales de zonas con más máquinas virtuales, lo que se activaría para lograr una distribución uniforme.

¿Qué sigue?