Cómo funcionan los grupos de instancias gestionados con reconocimiento del estado


Un grupo de instancias gestionado con reconocimiento del estado (MIG con reconocimiento del estado) conserva el estado único de cada instancia de máquina virtual (VM), incluidos el nombre de la VM, los discos persistentes conectados, las direcciones IP o los metadatos, al reiniciar, volver a crear, reparar automáticamente o actualizar la máquina.

En esta página se describe cómo funcionan los MIGs con reconocimiento del estado. Consulta el artículo sobre configurar grupos de instancias gestionados con reconocimiento del estado para saber cómo hacerlo.

Descripción general del funcionamiento de los grupos de instancias gestionados con reconocimiento del estado

Un MIG se considera con reconocimiento del estado si has creado una configuración con reconocimiento del estado.

Para crear una configuración con reconocimiento del estado, define una política con reconocimiento del estado no vacía o una o varias configuraciones por instancia no vacías:

La configuración se aplica cuando tú o el MIG la aplica:

  • Un MIG aplica automáticamente la configuración de tu política con reconocimiento del estado a las instancias nuevas y a las que ya tengas.
  • Cuando creas o actualizas configuraciones por instancia, puedes elegir si quieres aplicar la nueva configuración manualmente o automáticamente.

Una vez que se haya aplicado la configuración con estado (política con estado o configuraciones por instancia), puedes verificarla inspeccionando el estado conservado de cada instancia gestionada.

Los cambios posteriores en la configuración con estado o el tamaño de tu MIG (por ejemplo, si reduces el tamaño del MIG o eliminas o abandonas instancias del MIG) pueden afectar a los estados conservados de las instancias.

Cómo se aplica la configuración con reconocimiento del estado a las instancias gestionadas

La configuración con reconocimiento del estado se aplicará cuando tú o el MIG la apliquéis. Aplicar una configuración con reconocimiento del estado a las instancias de un MIG depende de la configuración:

  • Política con reconocimiento del estado: el MIG aplica automáticamente la configuración de tu política con reconocimiento del estado a las instancias nuevas y ya creadas.
  • Configuraciones por instancia: al crear o actualizar configuraciones por instancia, puedes elegir si quieres aplicar la nueva configuración manualmente o automáticamente.

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

Cómo se aplican las actualizaciones de políticas con estado a las instancias

Cuando creas o actualizas una política con reconocimiento del estado (por ejemplo, si añades o quitas un disco con reconocimiento del estado), el MIG aplica la configuración de la política con reconocimiento del estado a todas las instancias gestionadas del grupo de forma automática y asíncrona. Un MIG también aplica automáticamente la configuración de tu política con estado a las nuevas instancias durante su creación, por ejemplo, cuando se aumenta el tamaño de un MIG o cuando creas instancias en el MIG manualmente.

Una vez que se aplique la configuración, podrás ver el efecto de la actualización en el estado conservado de la política de cada instancia gestionada.

Las actualizaciones de una política con estado no interrumpen las máquinas virtuales en ejecución.

Cuando actualizas una política con reconocimiento del estado para añadir un disco con reconocimiento del estado, el MIG actualiza cada recurso de la VM y cambia el valor de la marca autoDelete del disco (instances.disks[].autoDelete):

  • El MIG asigna el valor autoDelete a FALSE en los discos que configures como con reconocimiento del estado. De esta forma, se evita que se elimine el disco al volver a crear la instancia mediante la reparación automática, la actualización o la recreación manual.
  • El grupo de instancias gestionado define autoDelete para que coincida con la configuración de la plantilla de instancia (instanceTemplates.disks[].autoDelete) de todos los discos que no tengan reconocimiento del estado.

Cambiar el valor de la marca autoDelete no interrumpe una VM en ejecución.

Cómo se aplican las actualizaciones de configuración por instancia a las instancias

Cuando creas o actualizas una configuración por instancia, puedes elegir si quieres aplicar la nueva configuración de forma manual o automática. Para obtener más información, consulta Aplicar configuración con estado a partir de configuraciones por instancia.

En la siguiente tabla se muestran los niveles de interrupción necesarios para aplicar diferentes actualizaciones de configuración por instancia a una VM:

Actualización de la configuración por instancia Interrupción de la VM necesaria para aplicar los cambios
Configurar un disco, definido por la plantilla de instancia, para que tenga reconocimiento del estado (se añade a la configuración por instancia) ACTUALIZAR
Configurar un disco, definido por la plantilla de instancia, para que no tenga reconocimiento del estado (se elimina de la configuración por instancia) ACTUALIZAR
Añade un disco que no esté definido por la plantilla de instancia y adjúntalo a la VM. ACTUALIZAR
Quitar un disco que no esté definido por la plantilla de instancia y desconectarlo de la VM ACTUALIZAR
Añadir un par clave-valor de metadatos ACTUALIZAR
Quitar un par clave-valor de metadatos ACTUALIZAR
Añade un disco de arranque externo que no se haya creado a partir de la plantilla de instancia y vincúlalo a la VM. SUSTITUIR
Quitar un disco de arranque externo que no se haya creado a partir de la plantilla de instancia, desvincularlo de la VM y crear un disco de arranque a partir de la plantilla de instancia SUSTITUIR
Definir una dirección IP interna SUSTITUIR
Quitar una dirección IP interna SUSTITUIR

Cuando se aplica una configuración por instancia actualizada a la VM correspondiente, el MIG realiza las siguientes acciones en función de los elementos con estado que se actualicen:

  • Añade (o elimina) discos, direcciones IP o metadatos al estado conservado de la configuración de la instancia gestionada correspondiente.
  • Vincula (o desvincula) a la VM los discos que no están definidos en la plantilla de instancia.
  • Define (o elimina) pares clave-valor de metadatos específicos de la máquina virtual.
  • Asigna (o elimina) las direcciones IP especificadas a la instancia de VM.

Una vez que se aplica una configuración por instancia a una VM gestionada correspondiente, puedes ver el efecto de la actualización en el estado conservado de la configuración de la instancia.

Estado conservado de una instancia gestionada

Cuando se aplica, la MIG traduce tu plantilla de instancia y tu configuración con reconocimiento del estado a un "estado conservado" para cada instancia gestionada.

Puedes ver el estado conservado inspeccionando una instancia gestionada.

El MIG mantiene estos estados conservados automáticamente y los aplica de forma automática y asíncrona a cada instancia de VM real correspondiente del MIG.

Estado conservado de las VMs gestionadas que se generan al aplicar una configuración con estado.

El estado conservado describe qué elementos individuales (discos persistentes, direcciones IP, metadatos) tienen estado en una instancia determinada:

Estado conservado generado a partir de la configuración con reconocimiento del estado aplicada.

El estado conservado generado a partir de una política con reconocimiento del estado se almacena por separado del estado conservado generado a partir de una configuración por instancia. El MIG combina ambos al recrear una VM, y el estado conservado de una configuración por instancia tiene prioridad.

Estado conservado según la política con reconocimiento del estado

Una política con reconocimiento del estado especifica los elementos, presentes en todas las instancias y definidos en la plantilla de instancia del MIG, que se deben conservar individualmente para cada instancia de VM del MIG.

Cuando se aplica, el MIG traduce la política con reconocimiento del estado a estados conservados específicos de la instancia (managedInstances[].preservedStateFromPolicy). El MIG mantiene estos estados conservados automáticamente.

En el siguiente ejemplo se muestra un MIG con dos instancias de VM que usan un disco con estado definido en una política con estado que se aplica a todas las instancias. En este ejemplo no hay configuraciones por instancia.

Estado conservado generado solo a partir de una política con reconocimiento del estado.

En la figura anterior se muestra un MIG con dos instancias:

  • La plantilla de instancia define un disco de arranque con el nombre de dispositivo boot-disk y un disco con el nombre de dispositivo data-disk para todas las instancias del MIG.
  • La política con reconocimiento del estado declara data-disk como con reconocimiento del estado. El disco de arranque no tiene estado. Ten en cuenta que el disco con el nombre de dispositivo data-disk debe estar definido en la plantilla de instancia.
  • Una vez aplicada la configuración, MIG traduce la política con estado en estados conservados específicos de la instancia para cada instancia gestionada. Los estados conservados indican al MIG que conserve el disco data-disk-1 de la instancia de VM node-1 y el disco data-disk-2 de la instancia node-2, ya que ambos discos tienen el nombre de dispositivo data-disk configurado en la política con reconocimiento del estado.
  • Este ejemplo no tiene configuraciones por instancia.

Estado conservado según la configuración por instancia

Una configuración por instancia especifica los elementos que se deben conservar en una máquina virtual concreta. No es necesario definir estos elementos en la plantilla de instancia del MIG.

Cuando se aplica, el MIG traduce cada configuración por instancia en un estado conservado (preservedStateFromConfig) para la instancia correspondiente.

En el siguiente ejemplo se muestra un MIG con dos instancias de VM para las que se definen metadatos y discos con estado en configuraciones por instancia (PICs) para cada instancia. En este ejemplo no hay ninguna política con estado.

Estado conservado generado solo a partir de PICs.

En la figura anterior:

  • La plantilla de instancia define un disco de arranque con el nombre de dispositivo boot-disk para todas las instancias del MIG. El disco de arranque no tiene estado en todas las VMs del MIG.
  • Las configuraciones por instancia definen los estados que se van a conservar de dos instancias del MIG: node-1 y node-2.
    • En la instancia node-1, la configuración por instancia define un disco my-legacy-1 con el nombre de dispositivo legacy-disk y los metadatos node-id:xyz273.
    • En la instancia node-2, la configuración por instancia define un disco my-logs-1 con el nombre de dispositivo logs-disk y los metadatos node-id:pqr851.
  • Una vez aplicada la configuración, el MIG traduce automáticamente las configuraciones por instancia a estados conservados para cada instancia gestionada. Los estados conservados indican al MIG que adjunte y conserve lo siguiente:
    • Disco persistente my-legacy-1 y metadatos node-id:xyz273 de la VM node-1
    • Disco persistente my-logs-1 y metadatos node-id:pqr851 de la VM node-2
  • Este ejemplo no tiene ninguna política con estado.

Ten en cuenta que los discos y los metadatos del estado conservado de las configuraciones por instancia no se definen en la plantilla de la instancia en este ejemplo, sino que se definen únicamente en las configuraciones por instancia. Esto se debe a que la configuración que especifiques en una configuración por instancia es específica de una VM concreta, lo que significa que no tiene que estar presente en la plantilla de instancia.

Las configuraciones por instancia tienen prioridad sobre la política con reconocimiento del estado y la plantilla de instancia

Puedes configurar tanto una política con reconocimiento del estado como una o varias configuraciones por instancia en un MIG. Por ejemplo, en una política con reconocimiento del estado, puedes definir discos con reconocimiento del estado que estén presentes en todas las instancias y, en las configuraciones por instancia, puedes definir metadatos específicos de la instancia.

La configuración por instancia de una instancia gestionada tiene prioridad sobre la configuración conflictiva de la plantilla de instancia o de una política con estado.

Si aplicas una configuración por instancia para añadir un disco o una interfaz de red que ya se ha definido en una política con estado, el MIG almacena la configuración con estado de ese disco o interfaz de red en el estado conservado de la instancia gestionada (preservedStateFromConfig) y elimina las entradas en conflicto de su estado conservado de la política (preservedStateFromPolicy). El MIG debe actualizar la VM si el nuevo estado conservado es diferente del anterior. La actualización puede provocar un cambio en los metadatos, en la dirección IP externa o en el intercambio de discos para separar el disco de la última configuración de estado conservado y adjuntar el disco especificado en la nueva configuración de estado conservado.

En el ejemplo siguiente, la configuración por instancia de la instancia de VM node-1 redefine lo siguiente:

  • El estado conservado del disco con el nombre de dispositivo logs-disk, definido originalmente en la política con reconocimiento del estado
  • El valor de la clave de metadatos logmonth, definida originalmente en la plantilla de instancia.

La configuración de las configuraciones por instancia tiene prioridad sobre la política con reconocimiento del estado y la plantilla de instancia.

En la figura anterior:

  • La plantilla de instancia define lo siguiente:
    • Tres discos para todas las instancias del MIG, con los nombres de dispositivo boot-disk, data-disk y logs-disk.
    • Metadatos comunes a todas las instancias: logmonth:jan.
  • La política con estado declara que los discos con los nombres de dispositivo data-disk y logs-disk tienen estado, mientras que el disco de arranque no tiene estado.
  • Una configuración por instancia de la instancia node-1 redefine lo siguiente:
    • Configuración con estado de un disco con el nombre de dispositivo logs-disk: indica al MIG que conecte el disco pd-logs-feb a node-1 con el nombre de dispositivo logs-disk.
    • Metadatos definidos en la plantilla de instancia, con el par clave-valor logmonth:jan: indica al MIG que asigne el valor logmonth:feb a node-1.
  • Después de aplicar la configuración, el MIG traduce automáticamente la política con estado y la configuración por instancia a un estado conservado específico de la instancia, que se almacena en la instancia gestionada.
    • El estado conservado de la política indica al MIG que conserve el disco data-disk-1 de la VM node-1. Ten en cuenta que el estado conservado de la política no incluye la configuración con estado del disco con el nombre de dispositivo logs-disk, ya que esta configuración se sustituye por la de logs-disk en la configuración por instancia.
    • El estado conservado de la configuración indica al MIG que vincule y conserve el disco persistente logs-disk, y que defina y conserve los metadatos logmonth:feb de la instancia de VM node-1. Ten en cuenta que el estado conservado de la configuración anula la configuración de logs-disk de la política con reconocimiento del estado y anula los metadatos logmonth:jan de la plantilla de instancia.

Cómo afecta al estado conservado la eliminación de un recurso de una política con reconocimiento del estado

Si quitas una configuración de recursos de tu política con estado, la MIG eliminará automáticamente el preservedStateFromPolicy correspondiente de todas las instancias gestionadas. Los recursos de computación siguen asociados a las instancias, pero ya no tienen estado.

En el siguiente ejemplo, si se quita un disco de la política con estado, se eliminará de los estados conservados de la política en todas las VMs gestionadas. Esos discos siguen conectados a sus VMs, pero ya no tienen estado y pueden eliminarse y volver a crearse la próxima vez que se cree la VM.

Eliminar un disco de una política con estado.

Si el mismo elemento (por ejemplo, un disco persistente con estado) está presente tanto en la política con estado como en una configuración por instancia, y quitas su configuración con estado solo de la política con estado, la MIG no lo quitará de la configuración por instancia. En la VM correspondiente, el recurso configurado mantiene el estado.

En el siguiente ejemplo, al quitar el disco de la política con reconocimiento del estado, no se elimina de la configuración por instancia. El disco mantiene el estado porque sigue formando parte del estado conservado de la configuración.

Eliminar un disco de una política con estado cuando también existe una configuración por instancia.

Cómo afecta al estado conservado la eliminación de elementos de las configuraciones por instancia

Si quitas la configuración con reconocimiento del estado de una configuración por instancia y aplicas el cambio, el MIG quitará automáticamente la configuración con reconocimiento del estado del estado conservado de la configuración (preservedStateFromConfig) en la instancia gestionada correspondiente. Los recursos de computación que ya no forman parte de ningún estado conservado se convierten en recursos sin estado.

Cómo afecta al estado conservado la eliminación de la configuración de discos con reconocimiento del estado de las configuraciones por instancia

Si quitas un disco con estado de una configuración por instancia y aplicas el cambio a la instancia de VM asociada, el MIG hará lo siguiente:

  • La configuración del disco se elimina del estado conservado de la configuración de la instancia.
  • Si se define un disco con el mismo nombre de dispositivo en la plantilla de instancia, pero no se configura en una política con reconocimiento del estado, el disco permanece conectado a la máquina virtual en cuestión. Sin embargo, el disco deja de tener estado en la VM en cuestión y puede que se vuelva a crear según la configuración de la plantilla de instancia en la próxima recreación, reparación automática o actualización de la VM.
  • Si no se define un disco con el mismo nombre de dispositivo en la plantilla de instancia, se desconectará automáticamente de la VM inmediatamente después de aplicar la configuración por instancia actualizada a la VM asociada, independientemente de su configuración de eliminación automática.
  • Si se configura un disco con el mismo nombre de dispositivo en una política con estado, su configuración de política con estado se traduce al estado conservado de la política de la instancia gestionada en cuestión y el disco mantiene su estado.

En el ejemplo siguiente, al quitar un disco azul y otro verde de la configuración por instancia de node-1, se eliminan ambos discos del estado conservado de la instancia gestionada de node-1 de la configuración.

  • El disco azul sigue conectado a la instancia de VM node-1, pero ahora no tiene reconocimiento del estado y se puede volver a crear en la próxima recreación de la VM según la configuración de la plantilla de instancia.
  • El disco verde se ha desvinculado de la instancia de VM node-1 porque la plantilla de instancia no define ningún disco con el mismo nombre de dispositivo.

Eliminar discos de una configuración por instancia.

Cómo afecta al estado conservado la eliminación de metadatos con reconocimiento del estado de las configuraciones por instancia

Si quitas metadatos con estado de una configuración por instancia y aplicas el cambio, la MIG eliminará inmediatamente esos metadatos con estado del estado conservado de la instancia gestionada correspondiente:

  • Si has definido metadatos con la misma clave en la plantilla de instancia, la MIG aplica inmediatamente el valor de la plantilla de instancia a la instancia.
  • Si los metadatos con la misma clave no se definen en la plantilla de instancia, el MIG elimina inmediatamente el valor de la clave de la instancia.

En el siguiente ejemplo, si se eliminan los metadatos mode:dev y id:xyz273 de la configuración por instancia de node-1, se eliminarán automáticamente ambos pares clave-valor del estado conservado de la instancia gestionada de node-1 de la configuración.

  • mode:dev se sustituye por el mode:test de la plantilla de instancia en la VM.
  • id:xyz273 se elimina de la VM inmediatamente porque la plantilla de instancia no tiene metadatos con la misma clave id para sustituirla.

Eliminar metadatos de una configuración por instancia.

Cómo afecta al estado conservado la eliminación de la configuración de IP con reconocimiento del estado de las configuraciones por instancia

Si se elimina la configuración de IP interna de la configuración por instancia, la dirección IP de esta VM no tendrá estado. No se realizan cambios automatizados en esta máquina virtual, pero la dirección IP puede cambiar después de que se vuelva a crear, se actualice o se repare automáticamente.

Fallback a la política con reconocimiento del estado

Si quitas la configuración con reconocimiento del estado de un recurso de una configuración por instancia y has configurado el mismo recurso en la política con reconocimiento del estado, el recurso seguirá teniendo reconocimiento del estado según la política con reconocimiento del estado.

El MIG quita automáticamente la configuración con estado del elemento del preservedStateFromConfig y la añade al preservedStateFromPolicy de la instancia gestionada correspondiente.

En el siguiente ejemplo, si se elimina un disco de la configuración por instancia de node-1, no se elimina de la política con reconocimiento del estado. El disco mantiene el estado según la política con reconocimiento del estado:

  • La MIG elimina automáticamente el disco de la preserveStateFromConfig de la instancia gestionada node-1 porque el disco ya no forma parte de su configuración por instancia.
  • El MIG añade automáticamente el disco a la preserveStateFromPolicy de la instancia gestionada node-1 porque la configuración de la política con estado sigue vigente y ya no está en conflicto con la configuración por instancia de node-1.

Eliminar un disco de una configuración por instancia, pero no de una política con reconocimiento del estado.

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