Aplica actualizaciones de configuración durante las reparaciones


En este documento, se describe cómo configurar el MIG para aplicar la plantilla de instancias más reciente y la configuración por instancia cuando se vuelve a crear una VM durante operaciones de reparación. La aplicación de la última configuración disponible durante una operación de reparación también se conoce como actualización en la reparación. En este documento, también se describe cómo verificar si la actualización en la reparación está habilitada en tu MIG y, si está habilitada, cómo inhabilitarla.

De forma predeterminada, durante una reparación, un MIG recrea una VM con la misma configuración de instancia que se usó originalmente para crearla. Si hay actualizaciones para la plantilla de instancias del grupo o parámetros de configuración por instancia, tienes la opción de aplicar estos cambios a una VM que se está reparando.

Si deseas aplicar actualizaciones de configuración de forma automática a todas las VMs o a un conjunto de ellas (PROACTIVE), o actualizar instancias específicas de forma selectiva (OPPORTUNISTIC), consulta la sección sobre cómo aplicar parámetros de configuración nuevos a las VMs en un MIG.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

Configura la actualización en la reparación

Para configurar la actualización durante la reparación, usa la consola de Google Cloud, gcloud CLI o REST.

Console

  1. En la consola de Google Cloud, ve a la página Grupos de instancias.

    Ir a Grupos de instancias

  2. Haz clic en el nombre del MIG en el que deseas configurar la actualización en la reparación.

  3. Haz clic en Editar para modificar el MIG.

  4. En la sección Ciclo de vida de la instancia de VM, para Actualizaciones durante la reparación de la instancia de VM, selecciona Actualizar la configuración de la instancia.

  5. Haz clic en Guardar.

gcloud

Para un MIG existente, usa el comando update:

gcloud compute instance-groups managed update MIG_NAME \
    --force-update-on-repair

Para un MIG nuevo, usa el comando create:

gcloud compute instance-groups managed create MIG_NAME \
    --template INSTANCE_TEMPLATE \
    --size SIZE \
    --force-update-on-repair

Reemplaza lo siguiente:

  • MIG_NAME: El nombre del grupo de instancias.
  • INSTANCE_TEMPLATE: Es el nombre de la plantilla de instancias que se usará para el grupo.
  • SIZE: Es el tamaño objetivo del grupo de instancias.

REST

Para un MIG zonal, usa el método instanceGroupManagers.patch o, para un MIG regional existente, usa el método regionInstanceGroupManagers.patch.

Realiza la siguiente llamada para configurar la actualización en la reparación en un MIG zonal existente:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
"instanceLifecyclePolicy":
  { "forceUpdateOnRepair": YES
  }
}

Para un MIG zonal nuevo, usa el método instanceGroupManagers.insert o para un nuevo MIG regional, usa el método regionInstanceGroupManagers.insert.

Realiza la siguiente llamada para configurar la actualización en la reparación cuando crees un MIG zonal:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
{
"name": "MIG_NAME",
"instanceTemplate": "INSTANCE_TEMPLATE",
"targetSize": SIZE,
"instanceLifecyclePolicy":
  { "forceUpdateOnRepair": YES
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto.
  • ZONE: zona en la que se encuentra el MIG.
  • MIG_NAME: El nombre del grupo de instancias.
  • INSTANCE_TEMPLATE: Es el nombre de la plantilla de instancias que se usará para el grupo.
  • SIZE: Es el tamaño objetivo del grupo de instancias.

Comprueba si la actualización en la reparación está habilitada

De forma predeterminada, un MIG no actualiza una VM durante una reparación. A fin de verificar si la actualización en la reparación está habilitada para el MIG, usa la consola de Google Cloud, gcloud CLI o REST a fin de ver la actualización de la configuración de reparación.

Console

  1. En la consola de Google Cloud, ve a la página Grupos de instancias.

    Ir a Grupos de instancias

  2. Haz clic en el nombre del MIG cuya configuración deseas verificar.

  3. Haz clic en la pestaña Detalles.

  4. En la sección Ciclo de vida de la instancia de VM, verifica la opción seleccionada para Actualizaciones durante la reparación de la instancia de VM. Si se selecciona Actualizar la configuración de la instancia, se habilitará la actualización en la reparación.

gcloud

Usa el comando describe de la siguiente manera:

gcloud compute instance-groups managed describe MIG_NAME \
--format="(instanceLifecyclePolicy)"

En el cuerpo de la respuesta, busca el campo forceUpdateOnRepair, que tiene uno de los siguientes valores:

  • NO: Predeterminado. El MIG no actualiza las VMs cuando se reparan.
  • YES: El MIG actualiza las VMs durante su reparación.

El siguiente es un resultado de muestra:

instanceLifecyclePolicy:
 forceUpdateOnRepair: YES

REST

Para un MIG zonal, usa el método instanceGroupManagers.get o para un MIG regional, usa el método regionInstanceGroupManagers.get.

Por ejemplo, en un MIG zonal, usa el siguiente comando:

GET https://compute.googleapis.com/compute/v1/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

En el cuerpo de la respuesta, busca el campo instanceLifecyclePolicy.forceUpdateOnRepair, que tiene uno de los siguientes valores:

  • NO: Predeterminado. El MIG no actualiza las VMs cuando se reparan.
  • YES: El MIG actualiza las VMs durante su reparación.

A continuación, se muestra una respuesta de ejemplo:

{
...
"name": "example-mig",
"targetSize": 12,
...
"instanceLifecyclePolicy": {
  "forceUpdateOnRepair": "YES"
  },
...
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto.
  • ZONE: zona en la que se encuentra el MIG.
  • MIG_NAME: El nombre del grupo de instancias.

Inhabilita la actualización en la reparación

Cuando tu MIG repara una VM, si deseas que el MIG use la plantilla de instancias original o la configuración por instancia que se usó para crear la VM, debes inhabilitar la actualización en la reparación. De forma predeterminada, la actualización en la reparación está inhabilitada para un MIG.

Usa la consola de Google Cloud, gcloud CLI o REST para inhabilitar la actualización durante la reparación.

Console

  1. En la consola de Google Cloud, ve a la página Grupos de instancias.

    Ir a Grupos de instancias

  2. Haz clic en el nombre del MIG en el que deseas inhabilitar la actualización en la reparación.

  3. Haz clic en Editar para modificar el MIG.

  4. En la sección Ciclo de vida de la instancia de VM, en Actualizaciones durante la reparación de la instancia de VM, selecciona Mantener la misma configuración de instancias.

  5. Haz clic en Guardar.

gcloud

Usa el comando update para configurar la marca --no-force-update-on-repair de la siguiente manera:

gcloud compute instance-groups managed update MIG_NAME \
    --no-force-update-on-repair

REST

Para un MIG zonal, usa el método instanceGroupManagers.patch o para un MIG regional, usa el método regionInstanceGroupManagers.patch.

Por ejemplo, para inhabilitar la actualización en la reparación en un MIG zonal, usa el siguiente comando:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME
{
"instanceLifecyclePolicy":
{ "forceUpdateOnRepair": NO
}
}

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto.
  • ZONE: zona en la que se encuentra el MIG.
  • MIG_NAME: El nombre del grupo de instancias.

¿Qué sigue?