Aplicar, ver y quitar la configuración con reconocimiento del estado en grupos de instancias gestionados


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

  • Aplica la configuración con reconocimiento del estado para que se aplique.
  • Consulta la configuración con estado y el estado conservado efectivo de tus instancias gestionadas.
  • Quita la configuración con reconocimiento del estado.

Antes de empezar

  • Consulta cuándo usar grupos de instancias gestionados con reconocimiento del estado y cómo funcionan.
  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    REST

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

      Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Aplicar una configuración con reconocimiento del estado a instancias gestionadas

La configuración con reconocimiento del estado se aplicará cuando tú o el MIG la apliquéis.

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

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

Aplicar la configuración de una política con reconocimiento del estado

Todos los cambios de configuración de una política con reconocimiento del estado se aplican automáticamente a todas las instancias gestionadas. Los cambios en una política con estado no interrumpen las instancias de máquina virtual (VM) en ejecución.

Verificar si se ha aplicado una política con estado

Verificando todas las VMs

Comprueba si los cambios en una política con estado se han aplicado a todas las VMs comprobando si el MIG se ha estabilizado después de los cambios.

Verificar VMs específicas

Para comprobar si los cambios de una política con estado se han aplicado a una VM específica de un MIG, consulta el estado conservado de la instancia gestionada y comprueba si todos los discos de la política con estado están presentes en preservedStateFromPolicy o preservedStateFromConfig de la instancia gestionada.

Aplicar una configuración con reconocimiento del estado a partir de configuraciones por instancia

Puedes aplicar configuraciones por instancia nuevas o actualizadas de forma manual o automática. Sigue uno de estos procedimientos:

  • Aplica de forma selectiva las configuraciones actualizadas a instancias específicas: usa este método para controlar las interrupciones, los tiempos y la secuencia de las actualizaciones.
  • Aplica automáticamente las configuraciones actualizadas con actualizaciones continuas: usa este método para aplicar cambios de configuración a las instancias gestionadas de forma automática y continua.

Ambos métodos aplican las actualizaciones pendientes de las configuraciones por instancia y las versiones o plantillas de instancia no aplicadas, si procede.

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

Para aplicar manualmente configuraciones por instancia a instancias específicas, sigue estos pasos:

  1. Configura una política de actualización oportunista para evitar que se produzca una carrera con las actualizaciones proactivas automáticas.
  2. Crea o actualiza configuraciones por instancia.
  3. Aplica las configuraciones actualizadas a VMs específicas actualizando de forma selectiva esas VMs.

También puedes usar los siguientes métodos:

  • Cuando crees o actualices una configuración por instancia con la CLI de gcloud, usa la marca --update-instance para aplicar inmediatamente la configuración a la instancia gestionada asociada.
  • Cuando creas nuevas instancias manualmente, especifica sus nombres y configuraciones por instancia en el momento de la creación. El MIG aplica las configuraciones inmediatamente al crear las VMs.

Aplicar automáticamente la configuración actualizada con actualizaciones continuas

Configura actualizaciones continuas proactivas para que tu MIG aplique automáticamente las actualizaciones de configuración a las instancias gestionadas correspondientes de forma continua.

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

Esta configuración asegura que el MIG recree las instancias con estado existentes y no las sustituya por otras.

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

Verificar si se han aplicado las configuraciones por instancia

Verificando todas las configuraciones por instancia

Para comprobar si se han aplicado todas las configuraciones por instancia de un MIG, consulta el estado con reconocimiento del estado del MIG y comprueba lo siguiente:status.stateful.perInstanceConfigs.allEffective

  • true: Todas las configuraciones por instancia del grupo se han aplicado y están activas, o el grupo no tiene ninguna configuración por instancia.
  • false: El grupo tiene al menos una configuración por instancia que aún no es efectiva. Esto puede deberse a que aún no la has aplicado o a que está en proceso de aplicación.

Verificar una configuración específica por instancia

Para verificar si los cambios de una configuración por instancia específica se han aplicado a su VM correspondiente, consulta todas las configuraciones por instancia y comprueba el campo status de la configuración por instancia específica:

  • UNAPPLIED: Se ha creado o actualizado la configuración por instancia y debes aplicarla a la VM con una actualización manual de la instancia.
  • APPLYING: El MIG está aplicando la configuración por instancia nueva o actualizada a la VM.
  • EFFECTIVE: la configuración por instancia se ha aplicado correctamente a la VM y está en vigor.
  • UNAPPLIED_DELETION: La configuración por instancia se eliminará. Debes aplicar esta actualización a la VM con una actualización manual de la instancia para que surta efecto.
  • DELETING: Se está eliminando la configuración por instancia y se está aplicando el cambio a la VM.

Ver la configuración con reconocimiento del estado y el estado conservado

Obtén información sobre tus grupos de instancias gestionados con reconocimiento del estado para las siguientes tareas:

  • Verificar si un MIG tiene una configuración con reconocimiento del estado y si esta configuración se ha aplicado y es efectiva.
  • Ver la configuración con estado que es común a todas las instancias de MIG, almacenada en la política con estado.
  • Ver la configuración con reconocimiento del estado específica de instancias concretas, almacenada en configuraciones por instancia, y comprobar si esta configuración se ha aplicado y es efectiva.
  • Ver el estado conservado de cada instancia de un MIG en función de su política con reconocimiento del estado y de las configuraciones por instancia aplicadas.

Ver el estado de la configuración con reconocimiento del estado de un MIG

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

Si creas una política con estado, el MIG la aplica automáticamente para que sea efectiva. Si creas configuraciones por instancia, puedes decidir aplicarlas más adelante.

Para comprobar si un MIG tiene una configuración con reconocimiento del estado y que se han aplicado todas las configuraciones por instancia, consulta el estado con reconocimiento del estado del MIG mediante la CLI de gcloud o REST.

gcloud

Para verificar si un MIG tiene una configuración con reconocimiento del estado, consulta su estado con reconocimiento del estado ejecutando el comando gcloud compute instance-groups managed describe. 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:

  • hasStatefulConfig:
    • true: el grupo tiene una configuración con estado, es decir, tiene una política con estado no vacía o al menos una configuración por instancia no vacía.
    • false: no hay ninguna configuración con reconocimiento del estado.
  • perInstanceConfigs.allEffective:
    • true: se han aplicado todas las configuraciones por instancia del grupo y son efectivas, o bien el grupo no tiene ninguna configuración por instancia.
    • false: El grupo tiene al menos una configuración por instancia que aún no es efectiva: o bien no la has aplicado todavía o bien está en proceso de aplicación.

REST

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

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

El método devuelve 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:

  • hasStatefulConfig:
    • true: el grupo tiene una configuración con estado, es decir, tiene una política con estado no vacía o al menos una configuración por instancia no vacía.
    • false: no hay ninguna configuración con reconocimiento del estado.
  • perInstanceConfigs.allEffective:
    • true: se han aplicado todas las configuraciones por instancia del grupo y son efectivas, o bien el grupo no tiene ninguna configuración por instancia.
    • false: El grupo tiene al menos una configuración por instancia que aún no es efectiva: o bien no la has aplicado todavía o bien está en proceso de aplicación.

Ver la política con reconocimiento del estado de un MIG

Para ver la política con estado de una MIG, consulta los detalles del grupo con la consola de Google Cloud , la CLI de gcloud o REST.

Consola

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

    Ir a Grupos de instancias

  2. Haga clic en el nombre del grupo de instancias del que quiera ver la política con estado.

  3. Ve a la pestaña Detalles.

  4. En Recursos con estado, se muestran todos los recursos de 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 consulta el campo statefulPolicy. Por ejemplo:

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

El método devuelve 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,
  ...
}

Ver las configuraciones por instancia de un MIG

Para ver las configuraciones por instancia, muestra todas las configuraciones por instancia de un MIG. Usa la CLI de gcloud o REST.

Si decides aplicar las configuraciones por instancia manualmente, es posible que algunas de ellas aún no se hayan aplicado a las instancias asociadas y, por lo tanto, que los estados conservados de las instancias aún no reflejen tus configuraciones por instancia. Para obtener más información, consulta Aplicar configuraciones por instancia y Verificar si se han aplicado configuraciones por instancia.

gcloud

Para enumerar todas las configuraciones por instancia de un MIG, ejecuta el comando gcloud compute instance-groups managed instance-configs list.

gcloud compute instance-groups managed instance-configs list NAME

Haz los cambios siguientes:

  • NAME: el nombre de un MIG del que se van a enumerar las configuraciones por instancia.

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

Por ejemplo, para enumerar todas las configuraciones por instancia de example-group, haz lo siguiente:

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

Para enumerar todas las configuraciones por instancia de un MIG, llama al método instanceGroupManagers.listPerInstanceConfigs o regionInstanceGroupManagers.listPerInstanceConfigs.

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

Haz los cambios siguientes:

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

Por ejemplo, para enumerar todas las configuraciones por instancia de example-group, haz lo siguiente:

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

El método devuelve la lista de configuraciones 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" : {
        ...
      }
      ...
    },
    ...
  ]
}

Ver los estados conservados de las instancias gestionadas

Cuando se aplica la configuración con reconocimiento del estado, el MIG genera y define el estado conservado efectivo de cada instancia gestionada en dos campos:

  • preservedStateFromPolicy: contiene el estado conservado que se genera en función de una política con reconocimiento del estado, excluyendo cualquier configuración con reconocimiento del estado que se haya anulado mediante configuraciones por instancia.
  • preservedStateFromConfig: contiene el estado conservado que se genera en función de una configuración por instancia que ya se ha aplicado a la instancia gestionada.

Para ver el estado conservado efectivo de cada instancia gestionada de un MIG, enumera las instancias gestionadas mediante la CLI de gcloud o REST.

gcloud

Comprueba qué instancias gestionadas han conservado el estado con el comando gcloud compute instance-groups managed list-instances y consulta los valores de 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 gestionada ha conservado el estado según una política con reconocimiento del estado.
  • CONFIG: La instancia gestionada ha conservado el estado en función de una configuración por instancia.
  • Sin valor: la instancia gestionada no tiene ningún estado conservado y no tiene estado.

Consulta el estado conservado de una instancia gestionada específica ejecutando el comando gcloud compute instance-groups managed describe-instance.

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

Haz los cambios siguientes:

  • INSTANCE_GROUP_NAME: el nombre de un MIG
  • INSTANCE_NAME: el nombre de una instancia gestionada del grupo

Por ejemplo, para ver el estado conservado de la instancia gestionada node-1 en example-group, ejecuta el siguiente comando:

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

Lista las instancias gestionadas para ver el estado conservado de cada instancia llamando al método instanceGroupManagers.listManagedInstances o regionInstanceGroupManagers.listManagedInstances.

Por ejemplo, para enumerar todas las instancias gestionadas, haz lo siguiente:

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

El método devuelve la lista de instancias gestionadas del grupo, que contiene información sobre sus estados conservados:

{
  "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": {
        ...
      }
    },
    ...
  ]
}

Ver los recursos de direcciones IP estáticas asociadas

Para obtener las direcciones IP estáticas (recursos Address) asignadas a las instancias gestionadas de un MIG, consulta los estados conservados de estas instancias. Puedes ver las direcciones estáticas en los campos ipAddress.address.

Si un MIG o las instancias ya no existen, pero las reservas de direcciones IP sí, puedes enumerar las reservas de direcciones internas o externas estáticas.

Quitar la configuración con reconocimiento del estado

Quitar la configuración con reconocimiento del estado es útil en los siguientes casos:

  • Has migrado máquinas virtuales independientes a un MIG con reconocimiento del estado y ahora quieres mover la configuración con reconocimiento del estado de las configuraciones por instancia a una política con reconocimiento del estado común.
  • Has rediseñado tu carga de trabajo y ya no necesitas mantener ningún estado en las instancias de VM.
  • Has creado una configuración con estado para hacer pruebas y ahora quieres eliminarla.

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

Eliminar una política con estado

Cuando eliminas una política con estado, se ven afectadas todas las VMs de un MIG. El MIG trata todos los recursos con reconocimiento del estado que se hayan configurado en la política con reconocimiento del estado como recursos sin reconocimiento del estado, a menos que esos recursos también se hayan configurado en configuraciones por instancia para instancias concretas. En las operaciones posteriores de recreación, reparación automática o actualización de instancias, los recursos que ya no tienen estado pueden perderlo:

  • Los discos se pueden eliminar y volver a crear a partir del origen, que se define en la plantilla de instancia.
  • Las direcciones IP pueden cambiar.

Para obtener información conceptual, consulta cómo afecta al estado conservado la eliminación de un recurso de una política con estado.

gcloud

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

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

Por ejemplo, si tu política con estado contiene la configuración de dos discos con estado con los nombres de dispositivo data-disk y logs-disk, y contiene la configuración de direcciones IP internas y externas con estado en 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 elimina de su política con reconocimiento del estado la configuración con reconocimiento del estado data-disk y logs-disk, así como la configuración de IP interna y externa con reconocimiento del estado de la interfaz de red nic0. Por lo tanto, el MIG elimina esos discos y direcciones IP estáticas de los estados conservados de todas las instancias gestionadas del grupo de forma automática y asíncrona, a menos que los discos o las direcciones IP también estén configurados en configuraciones por instancia.

REST

Para eliminar toda la configuración de la política con estado, asigna el valor null al campo statefulPolicy mediante instanceGroupManagers.patch o regionInstanceGroupManagers.patch. método .

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

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

{
  "statefulPolicy": null
}

La MIG borra la configuración de la política con estado y elimina los recursos con estado de los estados conservados de todas las instancias gestionadas del grupo de forma automática y asíncrona, a menos que los recursos también estén configurados en configuraciones por instancia.

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

Para eliminar la configuración con estado de una VM específica, sigue estos dos pasos:

  1. Elimina la configuración por instancia asociada.
  2. Aplica el cambio a la instancia gestionada. Puedes elegir si el cambio se debe aplicar de forma manual o automática.

Una vez aplicado el cambio, todos los elementos con estado que se hayan configurado anteriormente en la configuración por instancia se tratarán como elementos sin estado, a menos que también se hayan configurado en la política con estado del grupo. Cuando la VM se vuelve a crear o se actualiza, se pierde el estado de los elementos:

  • Los discos se pueden separar o volver a crear a partir de su origen en la plantilla de instancia.
  • Los metadatos se eliminan o se restablecen a los valores definidos en la plantilla de instancia.
  • Las direcciones IP pueden cambiar.

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

gcloud

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

Usa la marca opcional --update-instance para aplicar los cambios inmediatamente a la instancia (es el valor predeterminado). Si defines la marca --no-update-instance, los cambios se aplicarán la próxima vez que recrees o actualices 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]

Haz los cambios siguientes:

  • INSTANCE_GROUP_NAME: nombre del MIG.
  • INSTANCE_NAME: nombres de las instancias de las que se van a eliminar las configuraciones por instancia.
  • MINIMAL_ACTION: acción mínima que se debe realizar al aplicar la actualización de configuración por instancia a la VM. Este valor debe ser uno de los siguientes:
    • none: no se realiza ninguna acción.
    • refresh: aplica las actualizaciones que se puedan aplicar sin detener la VM.
    • restart: detén la VM y, a continuación, vuelve a iniciarla.
    • replace: vuelve a crear la VM.

Por ejemplo, para eliminar 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 elimina la configuración por instancia de node-1 y, como la VM se ha actualizado y se han aplicado los cambios de configuración, el MIG ya no trata esos elementos con estado como elementos con estado.

REST

Para eliminar por completo la configuración por instancia de una o varias instancias, usa el método 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",...]
}

Haz los cambios siguientes:

  • PROJECT_ID: el ID del proyecto de la solicitud
  • ZONE: la zona en la que se encuentra el MIG (se aplica a un MIG zonal)
    • En el caso de un MIG regional, sustituye zones/ZONE por regions/REGION y especifica la región del MIG.
  • INSTANCE_GROUP_NAME: el nombre del MIG
  • INSTANCE_NAME: nombres de las instancias de las que se van a eliminar las configuraciones por instancia.

El método deletePerInstanceConfig elimina las configuraciones por instancia especificadas, pero no aplica los cambios a las VMs asociadas. Los cambios se aplican a una VM cuando se vuelve a crear o se actualiza la instancia. Actualizar las VMs seleccionadas manualmente para aplicar los cambios.

Por ejemplo, para eliminar 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 elimina la configuración por instancia de la instancia node-1 de example-group. El cambio se aplicará a la instancia gestionada cuando la vuelvas a crear o la actualices.

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 elementos con estado del estado conservado de la instancia gestionada.

Comentarios

Queremos conocer tus casos prácticos, tus retos y tus comentarios sobre los MIGs con estado. Envíanos tus comentarios a nuestro equipo a la dirección mig-discuss@google.com.

Siguientes pasos