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 vuelve a crear una VM con la misma configuración de instancia que se usó en un principio para crear la VM. Si hay actualizaciones disponibles para la plantilla de instancias o la configuración por instancia del grupo, tienes la opción de aplicar estos cambios a una VM que se repara.

Si deseas aplicar actualizaciones de configuración de forma automática a todas las VM (o a un conjunto de ellas) (PROACTIVE) o actualizar de forma selectiva instancias específicas (OPPORTUNISTIC), consulta Aplica configuraciones nuevas a las VM en un MIG

Antes de comenzar

  • Configura la autenticación si aún no lo hiciste. 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 de la siguiente manera.

    Selecciona la pestaña para saber cómo planeas usar las muestras en esta página:

    Consola

    Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud, no necesitas configurar la autenticación.

    gcloud

    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. Configura una región y una zona predeterminadas.

    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.

      Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init

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.

Consola

  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://www.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://www.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.

Consola

  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, marca 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 VM cuando se reparan.
  • YES: El MIG actualiza las VM 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/projects/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 VM cuando se reparan.
  • YES: El MIG actualiza las VM 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.

Consola

  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, para Actualizaciones durante la reparación de la instancia de VM, selecciona Conservar 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://www.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?