Aplica, visualiza y quita la configuración con estado en los MIG


Después de crear o actualizar una configuración con estado para un grupo de instancias administrado (MIG) con estado, puedes hacer lo siguiente:

  • Aplica la configuración con estado para que entre en vigencia.
  • Visualizar la configuración con estado y el estado conservado vigente de tus instancias administradas
  • Quitar la configuración con estado

Antes de comenzar

  • Revisa cuándo usar MIG con estado y cómo funcionan los MIG con estado.
  • 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 de la siguiente manera.

    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.

Aplica la configuración con estado a las instancias administradas

Tu configuración con estado es efectiva después de que tú o el MIG la aplican.

  • Los cambios de configuración en una política con estado se aplican de forma automática a todas las instancias administradas.
  • Los cambios de configuración en una configuración por instancia se pueden aplicar de forma manual o automática.

Para obtener más información conceptual, lee Cómo se aplica la configuración con estado a las instancias administradas.

Aplica la configuración a partir de una política con estado

Todos los cambios de configuración en una política con estado se aplican de forma automática a todas las instancias administradas. Cuando se actualiza una política con estado, no se interrumpen las instancias de máquina virtual (VM) en ejecución.

Verifica si se aplicó una política con estado

Verifica todas las VM

Para verificar si los cambios en una política con estado se aplicaron a todas las VM, verifica si el MIG se volvió estable después de los cambios.

Verifica las VM específicas

Puedes verificar si los cambios en la política con estado se aplicaron a una VM específica en un MIG. Para ello, visualiza el estado preservado de la instancia administrada y verifica si todos los discos de la política tienen el estado preservedStateFromPolicy o preservedStateFromConfig para la instancia administrada.

Aplica la configuración con estado a partir de las opciones de configuración por instancia

Puedes aplicar opciones de configuración por instancia nuevas o actualizadas de forma manual o automática. Usa uno de los siguientes enfoques:

  • Aplica parámetros de configuración actualizados de forma selectiva a instancias específicas: Usa este enfoque para controlar el nivel de interrupción, el momento y la secuencia de las actualizaciones.
  • Aplica de forma automática la configuración actualizada con actualizaciones progresivas: Usa este enfoque para aplicar cambios de configuración a instancias administradas de forma progresiva y automatizada.

Ambos métodos aplican actualizaciones pendientes de la configuración por instancia y de las versiones o la plantilla de instancias sin aplicar, si corresponde.

Aplica la configuración actualizada de forma selectiva a instancias específicas

Para aplicar la configuración por instancia de forma manual a instancias específicas, sigue estos pasos:

  1. Configura una política de actualización oportunista para evitar una carrera con actualizaciones proactivas automáticas.
  2. Crea o actualiza la configuración por instancia.
  3. Aplica la configuración actualizada a VM específicas mediante la actualización selectiva de esas VM.

Como alternativa, puedes usar los siguientes enfoques:

  • Cuando crees o actualices una configuración por instancia mediante la CLI de gcloud, usa la marca --update-instance para aplicar de inmediato la configuración a la instancia administrada asociada.
  • Cuando crees instancias nuevas de forma manual, especifica sus nombres y configuraciones por instancia en el momento de la creación. El MIG aplica la configuración de inmediato en la creación de la VM.

Aplica la configuración actualizada automáticamente con actualizaciones progresivas

Configura actualizaciones progresivas proactivas para que el MIG aplique de forma automática, y progresiva, las actualizaciones de configuración a las instancias administradas correspondientes.

Los MIG con estado requieren la siguiente configuración para una política de actualización proactiva:

Esta configuración garantiza que el MIG vuelva a crear las instancias con estado existentes y no las reemplace por otras diferentes.

También puedes asegurarte de que los cambios en la configuración por instancia se apliquen sin detener las instancias, si es posible. Para ello, configura la acción mínima en REFRESH en la política de actualización del grupo.

Verifica si se aplicó la configuración por instancia

Verifica todas las configuraciones por instancia

Para verificar si se aplicaron todas las opciones de configuración por instancia en un MIG, consulta el estado del MIG y verifica status.stateful.perInstanceConfigs.allEffective:

  • true: Se aplicaron todas las opciones de configuración por instancia en el grupo y están en vigencia, o el grupo no tiene opciones de configuración por instancia.
  • false: El grupo tiene, al menos, una configuración por instancia que todavía no es efectiva debido a que aún no la aplicaste o está en proceso de aplicación.

Verifica una configuración específica por instancia

Para verificar si los cambios en una configuración específica por instancia se aplicaron a la VM correspondiente, consulta todas las opciones de configuración por instancia y verifica el campo status de la configuración específica por instancia:

  • UNAPPLIED: La configuración por instancia se creó o actualizó y debes aplicarla a la VM con una actualización manual de la instancia.
  • APPLYING: En este momento, el MIG está aplicando la configuración por instancia nueva o actualizada a la VM.
  • EFFECTIVE: La configuración por instancia se aplicó de forma correcta a la VM y está en vigencia.
  • UNAPPLIED_DELETION: La configuración por instancia se configuró para borrarse. Debes aplicar esta actualización a la VM con una actualización de instancia manual para que entre en vigencia.
  • DELETING: La configuración por instancia se borrará y el cambio que se aplicará a la VM.

Visualiza la configuración con estado y el estado conservado

Obtén información sobre los MIG con estado para las siguientes tareas:

  • Verificar si un MIG tiene configuración con estado, y si esta configuración se aplica y está en vigencia
  • Ver la configuración con estado que es común a todas las instancias en el MIG, que se almacena en la política con estado
  • Ver la configuración con estado específica de las instancias individuales, que se almacena en la configuración por instancia, y verificar si esta configuración se aplica y está en vigencia
  • Ver el estado conservado vigente de cada instancia en un MIG en función de la política con estado y la configuración por instancia aplicadas

Visualiza el estado de la configuración con estado de un MIG

Un MIG se considera con estado si tiene una configuración con estado, es decir, una política con estado o al menos una configuración por instancia no vacía.

Si creas una política con estado, el MIG la aplica de forma automática para que entre en vigencia. Si creas opciones de configuración por instancia, puedes decidir aplicarlas más tarde.

Para verificar si un MIG tiene una configuración con estado y que se apliquen todas las opciones de configuración por instancia, consulta el MIG con estado mediante gcloud CLI o REST.

gcloud

Para verificar si un MIG tiene una configuración con estado, ejecuta el comando gcloud compute instance-groups managed describe para ver su estado. Por ejemplo:

gcloud compute instance-groups managed describe NAME

baseInstanceName node
...
name example-group
...
status:
  isStable: true
  stateful:
    hasStatefulConfig: true
    perInstanceConfigs:
      allEffective: true
  versionTarget:
    isReached: true
targetSize: 3
...

En este resultado, se ilustra lo siguiente:

  • hasStatefulConfig:
    • true: El grupo tiene una configuración con estado, es decir, una política con estado no vacío o al menos una configuración por instancia no vacía.
    • false: No existe una configuración con estado.
  • perInstanceConfigs.allEffective:
    • true: Se aplicaron todas las opciones de configuración por instancia en el grupo y están en vigencia, o el grupo no tiene opciones de configuración por instancia.
    • false: El grupo tiene, al menos, una configuración por instancia que todavía no es efectiva debido a que aún no la aplicaste o está en proceso de aplicación.

REST

Para verificar si un MIG tiene una configuración con estado, usa el método instanceGroupManagers.get o regionInstanceGroupManagers.get y verifica el campo status.stateful. Por ejemplo:

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

El método muestra el objeto instanceGroupManagers:

{
  "name": "example-group",
  "baseInstanceName": "node",
  ...
  "status": {
    "isStable": true,
    "stateful": {
      "hasStatefulConfig": true,
      "perInstanceConfigs": {
        "allEffective": true
      }
    },
    "versionTarget": {
      "isReached": true
    }
  },
  "targetSize": 3,
  ...
}

En este resultado, se ilustra lo siguiente:

  • hasStatefulConfig:
    • true: El grupo tiene una configuración con estado, es decir, una política con estado no vacío o al menos una configuración por instancia no vacía.
    • false: No existe una configuración con estado.
  • perInstanceConfigs.allEffective:
    • true: Se aplicaron todas las opciones de configuración por instancia en el grupo y están en vigencia, o el grupo no tiene opciones de configuración por instancia.
    • false: El grupo tiene, al menos, una configuración por instancia que todavía no es efectiva debido a que aún no la aplicaste o está en proceso de aplicación.

Visualiza la política con estado de un MIG

Para ver la política con estado de un MIG, verifica los detalles del grupo mediante 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 grupo de instancias del que deseas ver la política con estado.

  3. Ve a la pestaña Detalles.

  4. En Recursos con estado, se enumeran todos los recursos en la política con estado.

gcloud

Para ver la política con estado de un MIG, ejecuta el comando gcloud compute instance-groups managed describe. Por ejemplo:

gcloud compute instance-groups managed describe NAME

baseInstanceName node
...
name example-group
...
statefulPolicy:
  preservedState:
    disks:
      data-disk:
        autoDelete: NEVER
      logs-disk:
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
    internalIPs:
      nic0:
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
    externalIPs:
      nic0:
        autoDelete: NEVER
status:
  isStable: true
  stateful:
    hasStatefulConfig: true
    perInstanceConfigs:
      allEffective: true
  versionTarget:
    isReached: true
targetSize: 3
...

REST

Para ver la política con estado de un MIG, usa el método instanceGroupManagers.get o regionInstanceGroupManagers.get y verifica el campo statefulPolicy. Por ejemplo:

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

El método muestra el objeto instanceGroupManagers:

{
  "name": "example-group",
  "baseInstanceName": "node",
  ...
  "status": {
      "isStable": true,
      "versionTarget": {
        "isReached": true
      },
      "stateful": {
        "hasStatefulConfig": true,
        "perInstanceConfigs": {
          "allEffective": true
        }
      }
  ...
  "statefulPolicy": {
    "preservedState": {
      "disks": {
        "data-disk": { "autoDelete": "NEVER" },
        "logs-disk": { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }
      },
      "internalIPs": {
         "nic0" : { "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"}
      },
      "externalIPs": {
         "nic0" : { "autoDelete": "NEVER"}
      },
    }
  },
  "targetSize": 3,
  ...
}

Visualiza la configuración por instancia de un MIG

Para ver las opciones de configuración por instancia, enumera todas las opciones de configuración por instancia en un MIG. Usa gcloud CLI o REST.

Si decides aplicar las opciones de configuración por instancia de forma manual, es posible que algunas no se apliquen a las instancias asociadas y, por lo tanto, los estados conservados de las instancias podrían no reflejar aún tus opciones de configuración por instancia. Para obtener más información, consulta Aplica opciones de configuración por instancia y Verifica si se aplicaron las configuraciones por instancia.

gcloud

Genera una lista de todas las opciones de configuración por instancia de un MIG mediante la ejecución del comando gcloud compute instance-groups managed instance-configs list.

gcloud compute instance-groups managed instance-configs list NAME

Reemplaza lo siguiente:

  • NAME: Es el nombre de un MIG desde el que se enumeran las configuraciones por instancia.

Filtra la lista mediante la marca estándar --filter.

Por ejemplo, para generar una lista de todas las opciones de configuración por instancia en example-group, ejecuta el siguiente comando:

gcloud compute instance-groups managed instance-configs list example-group
---
fingerprint: JxPvsKOywuY=
name: node-1
preservedState:
  disks:
    data-disk:
      autoDelete: NEVER
      mode: rw
      source: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1
  metadata:
    role: primary
  internalIPs:
    nic0:
      ipAddress:
        address: /projects/example-project/regions/us-east1/addresses/node-1-int-ip
      autoDelete: ON_PERMANENT_INSTANCE_DELETION
  externalIPs:
    nic0:
      ipAddress:
        literal: 130.211.181.55
      autoDelete: NEVER
status: EFFECTIVE
---
fingerprint: IbGmJBqqEkk=
name: node-2
preservedState:
...

REST

Genera una lista de todas las opciones de configuración por instancia de un MIG mediante una llamada al método instanceGroupManagers.listPerInstanceConfigs o regionInstanceGroupManagers.listPerInstanceConfigs.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listPerInstanceConfigs

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de la solicitud.
  • ZONE: Es la zona en la que se encuentra el MIG (se aplica a un MIG zonal).
    • En el caso de un MIG regional, reemplaza zones/ZONE por regions/REGION y especifica la región del MIG.
  • NAME: Es el nombre de un MIG desde el que se enumeran las configuraciones por instancia.

Por ejemplo, para generar una lista de todas las opciones de configuración por instancia en example-group, ejecuta el siguiente comando:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/listPerInstanceConfigs

El método muestra la lista de opciones de configuración por instancia del grupo:

{
  "items": [
    {
      "fingerprint": "JxPvsKOywuY=",
      "name": "node-1",
      "preservedState" : {
        "disks": {
          "data-disk" : {
            "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
            "mode": "READ_WRITE",
            "autoDelete": "NEVER"
          }
        },
        "metadata": {
          "role": "primary"
        },
        "internalIPs": {
         "nic0" : {
           "ipAddress" : {
             "address":  "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
           },
           "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
         }
        },
        "externalIPs": {
         "nic0": {
           "ipAddress" : {
             "literal": "54.2.3.4"
           },
           "autoDelete": "NEVER"
         }
        }
      },
      "status": "EFFECTIVE"
    },
    {
      "fingerprint": "IbGmJBqqEkk=",
      "name": "node-2",
      "preservedState" : {
        ...
      }
      ...
    },
    ...
  ]
}

Visualiza los estados preservados de las instancias administradas

Cuando la configuración con estado se aplica, el MIG genera y establece el estado preservado vigente en cada instancia administrada en dos campos:

  • preservedStateFromPolicy: Contiene el estado preservado que se generó en función de una política con estado, sin incluir cualquier configuración con estado que se vea anulada por opciones configuración por instancia.
  • preservedStateFromConfig: Contiene el estado preservado que se generó en función de una configuración por instancia que ya se aplicó a la instancia administrada.

Para ver el estado preservado vigente de cada instancia administrada en un MIG, enumera las instancias administradas con gcloud CLI o REST.

gcloud

Comprueba qué instancias administradas tienen el estado preservado mediante el comando gcloud compute instance-groups managed list-instances y visualiza los valores en la columna PRESERVED_STATE. Por ejemplo:

gcloud compute instance-groups managed list-instances NAME

NAME    ZONE        STATUS   HEALTH_STATE  ACTION  PRESERVED_STATE  INSTANCE_TEMPLATE  ...
node-1  us-east1-c  RUNNING                NONE    POLICY,CONFIG    example-template
node-2  us-east1-c  RUNNING                NONE    POLICY,CONFIG    example-template

La columna PRESERVED_STATE puede contener los siguientes valores:

  • POLICY: La instancia administrada preservó el estado en función de una política con estado.
  • CONFIG: La instancia administrada preservó el estado en función de una configuración por instancia.
  • Sin valor: La instancia administrada no preservó ningún estado, por lo que es sin estado.

Visualiza el estado preservado de una instancia administrada específica mediante la ejecución del comando gcloud compute instance-groups managed describe-instance.

gcloud compute instance-groups managed describe-instance INSTANCE_GROUP_NAME \
  --instance INSTANCE_NAME

Reemplaza lo siguiente:

  • INSTANCE_GROUP_NAME: Es el nombre de un MIG.
  • INSTANCE_NAME: Es el nombre de una instancia administrada en el grupo.

Por ejemplo, para ver el estado preservado de la instancia administrada node-1 en example-group, ejecuta lo siguiente:

gcloud compute instance-groups managed describe-instance example-group \
  --instance node-1
instance: .../example-project/zones/us-east1-c/instances/node-1
instanceStatus: RUNNING
currentAction: NONE
id: 123456789012345678
version:
  instanceTemplate: .../example-project/global/instanceTemplates/example-template
preservedStateFromPolicy:
  disks:
    data-disk:
      autoDelete: NEVER
      mode: rw
      source: .../example-project/zones/us-east1-c/disks/data-disk-1
    internalIPs:
      nic0:
        ipAddress:
          literal: 10.0.0.1
          address: .../example-project/regions/us-east1/addresses/node-1-int-ip
        autoDelete: ON_PERMANENT_INSTANCE_DELETION
preservedStateFromConfig:
  metadata:
    role: primary
    my-key: my-value
  externalIPs:
    nic0:
      ipAddress:
        literal: 130.211.181.55
        address: .../example-project/regions/us-east1/addresses/node-1-nat-ip
      autoDelete: NEVER

REST

Genera una lista de las instancias administradas para ver el estado preservado de cada instancia mediante una llamada al método instanceGroupManagers.listManagedInstances o regionInstanceGroupManagers.listManagedInstances.

Por ejemplo, para enumerar todas las instancias administradas, ejecuta el siguiente comando:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/listManagedInstances

El método muestra la lista de instancias administradas del grupo, que contiene información sobre los estados preservados:

{
  "managedInstances": [
    {
      "instance": ".../example-project/zones/us-east1-c/instances/node-1",
      "instanceStatus": "RUNNING",
      "currentAction": "NONE",
      "id": "123456789012345678",
      "version": {
         "instanceTemplate":".../example-project/global/instanceTemplates/example-template"
      },
      "preservedStateFromPolicy": {
        "disks": {
          "data-disk" : {
            "source": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/disks/data-disk-1",
            "mode": "rw",
            "autoDelete": "NEVER"
          },
        },
        "internalIPs": {
          "nic0" : {
            "ipAddress": {
              "literal": "10.0.0.1",
              "address":  "/projects/example-project/regions/us-east1/addresses/node-1-int-ip"
            },
            "autoDelete": "ON_PERMANENT_INSTANCE_DELETION"
          }
        },
      },
      "preservedStateFromConfig": {
        "metadata": {
          "role": "primary",
          "my-key": "my-value"
        },
        "externalIPs": {
          "nic0": {
            "ipAddress": {
              "literal": "130.211.181.55",
              "address":  "/projects/example-project/regions/us-east1/addresses/node-1-nat-ip"
            },
            "autoDelete": "NEVER"
          }
        },
      }
    },
    {
      "instance": ".../example-project/zones/us-east1-c/instances/node-2",
      "instanceStatus": "RUNNING",
      ...
      "preservedStateFromPolicy": {
        ...
      },
      "preservedStateFromConfig": {
        ...
      }
    },
    ...
  ]
}

Visualiza los recursos de dirección IP estática asociados

Para recuperar direcciones IP estáticas (recursos Address) que se asignan a las instancias administradas en un MIG, ve los estados preservados de esas instancias. Puedes ver direcciones estáticas en los campos ipAddress.address.

Si un MIG o las instancias ya no existen, pero las reservas de las direcciones IP aún existen, puedes generar una lista de las reservas de direcciones estáticas internas o externas.

Quita la configuración con estado

Quitar la configuración con estado es útil en las siguientes situaciones:

  • Migraste VM independientes a un MIG con estado y ahora deseas mover la configuración con estado desde las configuraciones por instancia hacia una política con estado común.
  • Rediseñaste la carga de trabajo y ya no necesitas conservar ningún estado en las instancias de VM.
  • Creaste una configuración con estado para realizar pruebas y ahora deseas limpiarla.

En esta sección, se describe cómo quitar por completo una política con estado de una configuración por instancia. Si solo necesitas quitar un subconjunto de una política con estado o una configuración por instancia, consulta estas secciones:

Quita una política con estado

Cuando quitas una política con estado, afectas a todas las VM de un MIG. El MIG trata como sin estado a todos los recursos con estado que se configuraron en la política, a menos que esos recursos también estén configurados en las opciones de configuración por instancia en instancias individuales. En las operaciones subsiguientes de recreación, reparación automática o actualización de instancias, los recursos que ahora no tienen estado pueden perder su estado:

  • Los discos se pueden borrar y volver a crear desde la fuente, que se define en la plantilla de instancias.
  • Las direcciones IP pueden cambiar.

Para obtener información conceptual, consulta cómo quitar un recurso de la política con estado afecta el estado preservado.

gcloud

Para borrar toda la configuración de una política con estado, ejecuta el comando gcloud compute instance-groups managed update con las marcas aplicables. Las marcas aplicables son las siguientes:

  • --remove-stateful-disks y enumera los nombres de dispositivo de todos los discos con estado configurados.
  • --remove-stateful-internal-ips y enumera los nombres de interfaces de red de todas las direcciones IP internas con estado configuradas.
  • --remove-stateful-external-ips y enumera los nombres de interfaces de red de todas las direcciones IP externas con estado configuradas.

Por ejemplo, si la política con estado contiene la configuración de dos discos con estado que tienen nombres de dispositivo data-disk y logs-disk y también la configuración para direcciones IP internas y externas con estado dentro de la interfaz de red nic0, ejecuta el siguiente comando para borrar la política:

gcloud compute instance-groups managed update example-group \
    --zone us-east1-c \
    --remove-stateful-disks data-disk,logs-disk \
    --remove-stateful-internal-ips nic0 \
    --remove-stateful-external-ips nic0

El MIG quita de su política con estado la configuración con estado data-disk y logs-disk, además de la configuración de IP interna y externa con estado para la interfaz de red nic0. Como resultado, el MIG quita esos discos y las direcciones IP estáticas de los estados preservados de todas las instancias administradas del grupo de forma automática y asíncrona, a menos que los discos o las direcciones IP también estén configuradas por instancia.

REST

Para borrar toda la configuración en la política con estado, establece el campo statefulPolicy en null mediante los métodos instanceGroupManagers.patch o regionInstanceGroupManagers.patch.

Por ejemplo, la siguiente llamada quita la configuración de la política con estado:

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

{
  "statefulPolicy": null
}

De forma automática y asíncrona, el MIG borra la configuración de la política con estado y quita los recursos con estado de los estados preservados correspondientes a todas las instancias administradas del grupo, a menos que los recursos también estén configurados en opciones de configuración por instancia.

Quita la configuración con estado de una VM específica

La eliminación de la configuración con estado de una VM específica se realiza en dos pasos:

  1. Borra la configuración por instancia asociada.
  2. Aplica el cambio a la instancia administrada. Puedes elegir si el cambio debe aplicarse de forma manual o automática.

Después de aplicar el cambio, todos los elementos con estado que se configuraron con anterioridad en la configuración por instancia ahora se tratan como sin estado, a menos que también estén configurados en la política con estado del grupo. Cuando se actualiza o se vuelve a crear la VM, se pierde el estado de los elementos:

  • Los discos se pueden separar o volver a crear desde la fuente en la plantilla de instancias.
  • Los metadatos se quitan o se restablecen a los valores definidos en la plantilla de instancias.
  • Las direcciones IP pueden cambiar.

Para obtener más información, consulta cómo influye la eliminación de elementos de las configuraciones por instancia en el estado conservado.

gcloud

Para borrar por completo la configuración por instancia, ejecuta el comando gcloud compute instance-groups managed instance-configs delete.

Usa la marca --update-instance opcional para aplicar los cambios de inmediato a la instancia (la opción predeterminada). Si configuras la marca --no-update-instance, los cambios se aplican la próxima vez que actualices o vuelvas a crear la instancia.

La marca --instance-update-minimal-action solo se puede usar junto con la marca --update-instance.

gcloud compute instance-groups managed instance-configs delete INSTANCE_GROUP_NAME \
  --instances INSTANCE_NAME[,INSTANCE_NAME,...] \
  [--no-update-instance | --update-instance] \
  [--instance-update-minimal-action MINIMAL_ACTION]

Reemplaza lo siguiente:

  • INSTANCE_GROUP_NAME: El nombre del MIG.
  • INSTANCE_NAME: Son los nombres de las instancias de las que se deben borrar las opciones de configuración por instancia.
  • MINIMAL_ACTION: Indica la acción mínima que se debe realizar cuando se aplica la actualización de la configuración por instancia a la VM. Este valor debe ser uno de los siguientes:
    • none: Ninguna acción
    • refresh: Aplicar actualizaciones que no requieren que se detenga la VM
    • restart: Detener la VM y volver a iniciarla
    • replace: Volver a crear la VM

Por ejemplo, para borrar la configuración por instancia de node-1 en example-group, ejecuta el siguiente comando:

gcloud compute instance-groups managed instance-configs delete example-group \
  --instances node-1 \
  --update-instance

El MIG borra la configuración por instancia de node-1 y, debido a que la VM se actualizó y se aplicaron cambios de la configuración, el MIG ya no considera como con estado a aquellos elementos que antes lo tenían.

REST

A fin de borrar por completo la configuración por instancia de una o varias instancias, usa los métodos instanceGroupManagers.deletePerInstanceConfigs o regionInstanceGroupManagers.deletePerInstanceConfigs.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/deletePerInstanceConfigs

{
  "names": ["INSTANCE_NAME",...]
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto de la solicitud.
  • ZONE: Es la zona en la que se encuentra el MIG (se aplica a un MIG zonal).
    • En el caso de un MIG regional, reemplaza zones/ZONE por regions/REGION y especifica la región del MIG.
  • INSTANCE_GROUP_NAME: Es el nombre del MIG.
  • INSTANCE_NAME: Son los nombres de las instancias de las que se deben borrar las opciones de configuración por instancia.

El método deletePerInstanceConfig elimina las opciones de configuración por instancia especificadas, pero no aplica los cambios a las VM asociadas. Los cambios se aplican a una VM cuando actualizas o vuelves a crear la instancia. Actualiza las VM seleccionadas de forma manual para aplicar los cambios.

Por ejemplo, a fin de borrar la configuración por instancia de node-1 en example-group, llama al siguiente método:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/deletePerInstanceConfigs

{
  "names": ["node-1"]
}

El método borra la configuración por instancia de la instancia node-1 de example-group. El cambio se aplicará a la instancia administrada cuando la actualices o la vuelvas a crear.

Para aplicar el cambio de configuración, llama al método instanceGroupManagers.applyUpdatesToInstances:

POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-group/applyUpdatesToInstances

{
  "instances": ["/zones/us-east1-c/instances/node-1"]
}

El método quita los elementos con estado del estado preservado de la instancia administrada.

Comentarios

Queremos conocer tus casos de uso, desafíos y comentarios sobre los MIG con estado. Comparte tus comentarios con nuestro equipo en [email protected].

¿Qué sigue?