Cómo funcionan los MIG con estado


Un grupo de instancias administrado con estado (MIG con estado) conserva el estado único de cada instancia de máquina virtual (VM), incluido el nombre de la VM, los discos persistentes conectados, las direcciones IP o los metadatos, en el reinicio, la recreación, la reparación automática o la actualización de la máquina.

En esta página, se describe cómo funcionan los MIG con estado. Consulta este artículo sobre cómo configurar los MIG con estado para obtener información sobre cómo configurar un MIG con estado.

Descripción general de cómo funcionan los MIG con estado

Un MIG se considera con estado si creaste una configuración con estado.

Creas una configuración con estado mediante la configuración de una política con estado que no esté vacía o una o más configuraciones no vacías por instancia:

La configuración es efectiva después de que tú o el MIG la aplican:

  • Un MIG aplica automáticamente tu configuración de política con estado a instancias nuevas y existentes.
  • Cuando creas o actualizas configuraciones por instancia, puedes elegir si deseas aplicar la configuración nueva de forma manual o automática.

Después de aplicar la configuración con estado (política con estado o configuración por instancia), puedes verificarla si inspeccionas el estado preservado de cada instancia administrada.

Los cambios posteriores en la configuración con estado o en el tamaño del MIG (por ejemplo, reducir el tamaño del MIG, o borrar o descartar instancias del MIG) pueden afectar los estados conservados de las instancias.

Cómo se 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. La aplicación de la configuración con estado a las instancias del MIG depende de la configuración:

  • Política con estado: el MIG aplica automáticamente tu configuración de política con estado a las instancias nuevas y existentes.
  • Configuraciones por instancia: cuando se crean o actualizan configuraciones por instancia, puedes elegir si deseas aplicar la nueva configuración de forma manual o automática.

Aplicación de la configuración con estado a las instancias administradas.

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

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

Después de aplicar la configuración, puedes ver el efecto de la actualización en el estado preservado de la política de cada instancia administrada.

Las actualizaciones a una política con estado no interrumpen las VM en ejecución.

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

  • El MIG configura autoDelete en FALSE para los discos que configuras como con estado. Esto evita la eliminación de ese disco en la recreación de la instancia mediante reparación automática, actualización o recreación manual.
  • El MIG configura autoDelete a fin de que coincida con la configuración de la plantilla de tu instancia (instanceTemplates.disks[].autoDelete) para todos los discos sin 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 deseas aplicar la configuración nueva de forma manual o automática. Para obtener más información, consulta Aplica la configuración con estado de la configuración 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 en la VM requerida para la aplicación
Configurar un disco, definido por la plantilla de la instancia, para que sea con estado (se agrega a la configuración por instancia) ACTUALIZAR
Configurar un disco, definido por la plantilla de la instancia, para que sea sin estado (se quita de la configuración por instancia) ACTUALIZAR
Agregar un disco, no definido por la plantilla de la instancia, y conectarlo a la VM ACTUALIZAR
Quitar un disco, no definido por la plantilla de la instancia, y desconectarlo de la VM ACTUALIZAR
Agregar un par clave-valor de metadatos ACTUALIZAR
Quitar un par clave-valor de metadatos ACTUALIZAR
Agregar un disco de arranque externo, no creado a partir de la plantilla de la instancia y conectarlo a la VM REEMPLAZAR
Quitar un disco de arranque externo, no creado desde la plantilla de la instancia, desconectarlo de la VM y crear un disco de arranque desde la plantilla de la instancia en su lugar REPLACE
Establece una dirección IP interna REPLACE
Quita una dirección IP interna REPLACE

Cuando se aplica una configuración por instancia actualizada a la VM correspondiente, el MIG realiza las siguientes acciones según los elementos con estado que se actualizan:

  • Agrega (o quita) los discos, las direcciones IP o los metadatos al estado preservado de la configuración en la instancia administrada correspondiente.
  • Conecta (o desconecta) a la VM los discos que la plantilla de instancias no defina.
  • Configura (o quita) pares clave-valor de metadatos que son específicos para la VM.
  • Asigna (o quita) direcciones IP especificadas a la instancia de VM.

Después de aplicar una configuración por instancia a una VM administrada correspondiente, puedes ver el efecto de la actualización en el estado preservado de la configuración de la instancia.

Estado preservado de una instancia administrada

Cuando se aplica, el MIG traduce la plantilla de tu instancia y la configuración con estado a un “estado preservado” para cada instancia administrada.

Puedes ver el estado preservado si inspeccionas una instancia administrada.

El MIG conserva estos estados preservados automáticamente, y aplica este estado de forma automática y asíncrona a cada instancia de VM real correspondiente en el MIG.

Estado preservado de las VM administradas que se genera cuando se aplica una configuración con estado.

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

Estado preservado generado a partir de la configuración con estado aplicada.

El estado preservado generado en función de una política con estado se almacena por separado del estado preservado generado en función de una configuración por instancia. El MIG combina ambos cuando se vuelve a crear una VM, con el estado preservado de una configuración por instancia que tiene prioridad.

Estado preservado según una política con estado

Una política con estado especifica elementos, presentes en todas las instancias y definidos en la plantilla de la instancia de MIG, a fin de preservarlos individualmente para cada instancia de VM en un MIG.

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

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. No hay configuraciones por instancia en este ejemplo.

Estado preservado generado solo a partir de la política con estado.

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

  • La plantilla de la instancia define un disco de arranque con nombre de dispositivo, boot-disk, y un disco con nombre de dispositivo, data-disk, para todas las instancias en el MIG.
  • La política con estado declara que data-disk se considera con estado. El disco de arranque permanece sin estado. Ten en cuenta que el disco con el nombre de dispositivo, data-disk, debe estar definido por la plantilla de la instancia.
  • Después de aplicar la configuración, el MIG traduce la política con estado a estados preservados específicos de la instancia para cada instancia administrada. Los estados preservados le indican al MIG que preserve el disco data-disk-1 para la instancia de VM node-1 y el disco data-disk-2 para la instancia node-2, porque ambos discos tienen nombre de dispositivo data-disk configurado en la política con estado.
  • En este ejemplo, no hay configuraciones por instancia.

Estado preservado según la configuración por instancia

Una configuración por instancia especifica los elementos que se deben preservar para una VM en particular. No es necesario definir estos elementos en la plantilla de la instancia del MIG.

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

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

Estado preservado generado solo a partir de PIC.

En la figura anterior:

  • La plantilla de la instancia define un disco de arranque con nombre de dispositivo boot-disk para todas las instancias en el MIG. El disco de arranque se considera sin estado para todas las VM del MIG.
  • Las configuraciones por instancia definen los estados que se preservarán para dos instancias en el MIG: node-1 y node-2.
    • Para la instancia node-1, la configuración por instancia define un disco my-legacy-1 con nombre de dispositivo legacy-disk y metadatos node-id:xyz273.
    • Para la instancia node-2, la configuración por instancia define un disco my-logs-1 con nombre de dispositivo logs-disk y metadatos node-id:pqr851.
  • Después de aplicar la configuración, el MIG traduce automáticamente las configuraciones por instancia a estados preservados para cada instancia administrada. Los estados preservados le indican al MIG que conecte y preserve los siguientes elementos:
    • Disco persistente my-legacy-1 y metadatos node-id:xyz273 para VM node-1
    • Disco persistente my-logs-1 y metadatos node-id:pqr851 para VM node-2
  • En este ejemplo, no hay una política con estado.

Ten en cuenta que los discos y metadatos en el estado preservado de las configuraciones por instancia no están definidos por la plantilla de la instancia en este ejemplo; en su lugar, solo se definen mediante la configuración por instancia. Esto se debe a que la configuración que especificas en una configuración por instancia es específica para una VM en particular, lo que significa que no tiene que estar presente en la plantilla de la instancia.

La configuración por instancia tiene prioridad sobre la política con estado y la plantilla de instancias

Puedes configurar una política con estado y una o más configuraciones por instancia en un MIG. Por ejemplo, en una política con estado, puedes definir discos con 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 administrada tiene prioridad sobre la configuración conflictiva en la plantilla de la instancia o en una política con estado.

Si aplicas una configuración por instancia para agregar un disco o una interfaz de red que ya esté definida en una política con estado, el MIG almacena la configuración con estado para ese disco o interfaz de red en el preservado de la configuración por instancia (preservedStateFromConfig) y quita las entradas en conflicto de su estado preservado de la política (preservedStateFromPolicy). El MIG debe actualizar la VM si el nuevo estado preservado es diferente al anterior. La actualización podría provocar un cambio de metadatos, un cambio en la dirección IP externa o un cambio de disco para desconectar el disco de la última configuración de estado preservado y conectar el disco especificado en la nueva configuración de estado preservado.

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

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

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

En la figura anterior:

  • La plantilla de la instancia define:
    • Tres discos para todas las instancias del MIG, con nombres de dispositivos boot-disk, data-disk, logs-disk.
    • Metadatos comunes a todas las instancias: logmonth:jan
  • La política con estado declara que los discos con nombres de dispositivos data-disk y logs-disk se consideran con estado; el disco de arranque permanece sin estado.
  • Una configuración por instancia para la instancia node-1 redefine:
    • La configuración con estado para un disco con nombre de dispositivo logs-disk: esto le indica al MIG que conecte el disco pd-logs-feb a node-1 bajo el nombre de dispositivo logs-disk.
    • Los metadatos, definidos en la plantilla de la instancia, con clave-valor logmonth:jan: esto indica al MIG que configure el valor logmonth:feb en 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 preservado específico de la instancia, almacenado en la instancia administrada.
    • El estado preservado de la política le indica al MIG que preserve el disco data-disk-1 para la VM node-1. Ten en cuenta que el estado preservado de la política no incluye la configuración con estado del disco con nombre de dispositivo logs-disk porque esta configuración se anula por la configuración para logs-disk en la configuración por instancia.
    • El estado preservado de la configuración le indica al MIG que conecte y preserve el disco persistente logs-disk y que establezca y preserve los metadatos logmonth:feb para la instancia de VM node-1. Ten en cuenta que el estado preservado de la configuración anula la configuración para logs-disk de la política con estado y los metadatos logmonth:jan de la plantilla de la instancia.

Cómo la eliminación de un recurso de una política con estado afecta el estado preservado

Si quitas una configuración de recursos de tu política con estado, el MIG quitará automáticamente el preservedStateFromPolicy correspondiente para todas las instancias administradas. Los recursos de procesamiento permanecen conectados a las instancias, pero ya no se los considera con estado.

En el siguiente ejemplo, quitar un disco de la política con estado genera la eliminación de ese disco de los estados preservados de la política en todas las VM administradas. Esos discos permanecen conectados a sus VM, pero ya no se los considera con estado y podrían borrarse y volver a crearse en la próxima recreación de VM.

La eliminación de 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 de la política con estado, el MIG no lo quita de la configuración por instancia. Para la VM correspondiente, el recurso configurado permanece con estado.

En el siguiente ejemplo, quitar el disco de la política con estado no lleva a la eliminación del disco de la configuración por instancia. El disco permanece con estado porque todavía es una parte del estado preservado de la configuración.

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

Cómo afecta al estado preservado la eliminación de elementos de la configuración por instancia

Si quitas la configuración con estado de una configuración por instancia y aplicas el cambio, el MIG quita automáticamente la configuración con estado del estado preservado de la configuración (preservedStateFromConfig) en la instancia administrada correspondiente. Los recursos de procesamiento que ya no forman parte de ningún estado preservado se quedan sin estado.

Cómo afecta al estado preservado la eliminación de la configuración de discos con estado de la configuración 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 hace lo siguiente:

  • La configuración del disco se quita del estado preservado de la configuración de la instancia.
  • Si un disco con el mismo nombre de dispositivo está definido en la plantilla de la instancia, pero no está configurado en una política con estado, el disco permanece conectado a la VM determinada. Sin embargo, el disco pasa a ser sin estado para la VM determinada y puede recrearse según la configuración de la plantilla de la instancia en el próximo evento de recreación, reparación automática o actualización de la VM.
  • Si un disco con el mismo nombre de dispositivo no se define en la plantilla de la instancia, se desconecta de forma automática de la VM cuando se aplica la configuración por instancia actualizada a la VM asociada, independientemente de su configuración de eliminación automática.
  • Si un disco con el mismo nombre de dispositivo está configurado en una política con estado, su configuración de política con estado se traduce en el estado preservado de la política para la instancia administrada determinada, y el disco permanece con estado.

En el siguiente ejemplo, quitar un disco azul y un disco verde de la configuración por instancia de node-1 genera que se quiten ambos discos del estado preservado de la instancia administrada de node-1 de la configuración.

  • El disco azul permanece conectado a la instancia de VM node-1, pero ahora se lo considera sin estado y se puede recrear en la siguiente recreación de VM según la configuración de la plantilla de la instancia.
  • El disco verde se desconecta de la instancia de VM node-1 porque la plantilla de la instancia no define un disco con el mismo nombre de dispositivo.

Eliminación de discos de una configuración por instancia.

Cómo afecta al estado conservado la eliminación de metadatos con estado de la configuración por instancia

Quitar metadatos con estado de una configuración por instancia y aplicar el cambio hace que el MIG quite de inmediato los metadatos con estado del estado preservado de la instancia administrada correspondiente:

  • Si definiste metadatos con la misma clave en la plantilla de la instancia, el MIG aplica inmediatamente el valor de la plantilla de la instancia a la instancia.
  • Si los metadatos con la misma clave no están definidos en la plantilla de la instancia, el MIG quita inmediatamente la clave-valor de la instancia.

En el siguiente ejemplo, quitar los metadatos mode:dev y id:xyz273 de la configuración por instancia de node-1 genera la eliminación automática de ambos pares clave-valor del estado conservado de la instancia administrada node-1 en la configuración.

  • mode:dev se reemplaza por la plantilla de la instancia mode:test en la VM.
  • id:xyz273 se quita de la VM de inmediato porque la plantilla de instancias no tiene metadatos con la misma clave id para reemplazarla.

Eliminación de metadatos de una configuración por instancia.

Cómo afecta al estado preservado la eliminación de la configuración de IP con estado de la configuración por instancia

Quitar la configuración de IP interna de la configuración por instancia hace que la dirección IP de esta VM no tenga estado. No se realizan cambios automatizados en esta VM, pero la dirección IP puede cambiar después de que la VM se vuelve a crear, se actualiza o se repara de forma automática.

Resguarda a la política con estado

Si quitas la configuración con estado de un recurso de una configuración por instancia y configuraste el mismo recurso en la política con estado, el recurso permanecerá con estado de acuerdo con la política con estado.

El MIG quita de forma automática la configuración con estado del elemento de preservedStateFromConfig y la agrega a preservedStateFromPolicy de la instancia administrada correspondiente.

En el siguiente ejemplo, quitar un disco de la configuración por instancia de node-1 no genera que se quite el disco de la política con estado. El disco permanece con estado de acuerdo con la política con estado:

  • El MIG quita automáticamente el disco de preserveStateFromConfig para la instancia administrada node-1 porque el disco ya no forma parte de su configuración por instancia.
  • El MIG agrega automáticamente el disco a preserveStateFromPolicy para la instancia administrada node-1 porque la configuración de política con estado todavía está en su lugar y ya no está en conflicto con la configuración por instancia node-1.

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

Comentarios

Queremos conocer tus casos de uso, desafíos y comentarios sobre los MIG con estado. Comparte tus comentarios con nuestro equipo en mig-discuss@google.com.

¿Qué sigue?