Los metadatos de instancia son útiles para configurar propiedades y comunicarse con sus aplicaciones a través del servidor de metadatos. Por ejemplo, puede utilizar metadatos para configurar la identidad de la instancia de la máquina virtual (VM), las variables de entorno, la información sobre la arquitectura del clúster o el rango de datos del que es responsable una VM.
Al configurar metadatos con estado en un grupo de instancias administrado (MIG) , garantiza que los metadatos específicos de la instancia se conserven en los eventos de reparación automática, actualización y recreación de la instancia administrada .
Configure metadatos con estado individualmente para instancias de VM en un MIG configurándolos en configuraciones por instancia y aplicando la configuración. Puede establecer una configuración por instancia al crear la instancia o en instancias administradas existentes. Después de aplicar la configuración por instancia, el MIG almacena metadatos con estado en el campo de estado preservado de la configuración ( preservedStateFromConfig
) de una instancia administrada.
Antes de comenzar
- Revise cuándo utilizar MIG con estado y cómo funcionan .
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras 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:
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- No puede utilizar el escalado automático si su MIG tiene una configuración con estado.
- Si desea utilizar actualizaciones continuas automáticas, debe configurar el método de reemplazo en
RECREATE
. - Para MIG regionales con estado, debe deshabilitar la redistribución proactiva (establezca el tipo de redistribución en
NONE
) para evitar la eliminación de instancias con estado mediante la redistribución automática entre zonas. Si utiliza una configuración de todas las instancias para anular las propiedades de la plantilla de instancias, no puede especificar esas propiedades en ninguna configuración por instancia y al mismo tiempo en la configuración de todas las instancias del grupo.
Cuando elimina permanentemente una instancia (ya sea manualmente o cambiando el tamaño), el MIG no conserva los metadatos con estado de la instancia.
- Crea una instancia administrada a partir de la plantilla de instancia utilizando el nombre de instancia proporcionado.
- Crea una configuración por instancia con los metadatos con estado proporcionados y establece esos metadatos en la instancia.
- Almacena los metadatos con estado en el estado preservado de la configuración (
preservedStateFromConfig
) de la instancia administrada asociada. -
NAME
: el nombre del MIG en el que crear una instancia -
INSTANCE_NAME
: el nombre de la instancia a crear -
KEY
yVALUE
: pares clave-valor de metadatos con estado para configurar individualmente para las instancias además de los metadatos definidos en la plantilla de instancia- Los valores clave que establezca aquí tienen prioridad sobre cualquier valor clave en conflicto de la plantilla de instancia.
-
PROJECT_ID
: el ID del proyecto para la solicitud -
ZONE
: la zona donde se encuentra el MIG (aplica a un MIG zonal)- Para un MIG regional, reemplace
zones/ ZONE
conregions/ REGION
y especifique la región del MIG
- Para un MIG regional, reemplace
-
NAME
: el nombre del MIG en el que crear una instancia -
INSTANCE_NAME
: el nombre de la instancia a crear -
KEY
yVALUE
: pares clave-valor de metadatos con estado para configurar individualmente para las instancias además de los metadatos definidos en la plantilla de instancia- Los valores clave que establezca aquí tienen prioridad sobre cualquier valor clave en conflicto de la plantilla de instancia.
- El indicador
--stateful-metadata
para configurar o modificar metadatos, o - El indicador
--remove-stateful-metadata
para eliminar metadatos con estado específicos de la instancia. -
NAME
: El nombre del grupo de instancias administrado. -
INSTANCE_NAME
: el nombre de la instancia para la cual configurar metadatos con estado. -
KEY = VALUE
: pares clave-valor de metadatos con estado que se configurarán individualmente para la instancia además de los metadatos definidos en la plantilla de instancia. Los valores clave que establezca aquí tienen prioridad sobre cualquier valor clave en conflicto de la plantilla de instancia. -
KEY
: Claves de metadatos con estado específicas de la instancia para eliminar de la configuración por instancia.- Si la plantilla de instancia no define un valor para la clave, el par clave-valor se elimina completamente de la instancia cuando se aplica el cambio.
- Si la plantilla de instancia define un valor para la clave, el valor de la plantilla de instancia se establece en la instancia cuando se aplica el cambio.
MINIMAL_ACTION
: realice al menos la acción especificada al aplicar la actualización de configuración por instancia a la instancia. Solo se puede establecer unaMINIMAL_ACTION
cuando se usa el indicador--update-instance
. El valor debe ser uno de los siguientes:-
none
: ninguna acción. -
refresh
: aplica actualizaciones que se pueden aplicar sin detener la instancia. -
restart
: detiene la instancia y luego la reinicia. -
replace
: recrea la instancia.
Si se omite, se utiliza la acción menos disruptiva requerida por la actualización.
-
- Establece
mode:standby
en la configuración por instancia asociada con la máquina virtual,node-12
, en el MIGexample-cluster
. - Elimina
logging:elaborate
de la configuración por instancia para la instancianode-12
. - Aplica el cambio de configuración por instancia a la máquina virtual
node-12
:- Establece
mode:standby
, según la configuración. - Establece
logging:basic
de la plantilla de instancia porque el valor de la clavelogging
ya no está definido por la configuración por instancia.
- Establece
- El cambio se aplica a la VM inmediatamente de forma predeterminada porque se omite el indicador
--no-update-instance
. - La máquina virtual sigue ejecutándose durante la actualización porque se omite el indicador
--instance-update-minimal-action
y se elige la acción menos disruptiva para la actualización de forma predeterminada, en este caso:refresh
. -
PROJECT_ID
: el ID del proyecto para la solicitud. -
ZONE
: La zona donde se encuentra el MIG (aplica a un MIG zonal).- Para un MIG regional, reemplace
zones/ ZONE
conregions/ REGION
y especifique la región del MIG.
- Para un MIG regional, reemplace
-
NAME
: El nombre del MIG. -
INSTANCE_NAME
: el nombre de la máquina virtual para la cual configurar metadatos con estado. -
KEY
yVALUE
: pares clave-valor de metadatos con estado que se configuran individualmente para las instancias, además de cualquier metadato definido en la plantilla de instancia.- Los valores de metadatos con estado definidos para las claves que ya existen en la plantilla de instancia anulan los valores de la plantilla de instancia.
- Otras entradas de metadatos de la plantilla de instancia no se ven afectadas y están disponibles.
- Proporcionar
null
como valor elimina la clave de la configuración por instancia.
-
FINGERPRINT
: (Opcional). La huella digital para la configuración dada si ya existe. Se utiliza para bloqueo optimista. - Establece
mode:standby
en la configuración por instancia asociada con la máquina virtual,node-12
, en el MIGexample-cluster
. - Elimina
logging:elaborate
metadatos de la configuración por instancia porque el valor proporcionado esnull
. - Establece
mode:standby
, según la configuración por instancia. - Establece
logging:basic
de la plantilla de instancia porque el valor de la clavelogging
ya no está definido por la configuración por instancia. - La máquina virtual sigue ejecutándose durante la actualización porque
minimalAction
está configurada enNONE
, lo que permite que MIG utilice la acción menos disruptiva requerida para la actualización. Una actualización de metadatos de instancia requiere la acciónREFRESH
, que no interrumpe una instancia en ejecución. - Obtenga más información sobre el almacenamiento y la recuperación de metadatos de instancias .
- Configure discos persistentes con estado para máquinas virtuales en un MIG.
- Obtenga información sobre cómo aplicar, ver y eliminar la configuración con estado.
- Obtenga más información sobre MIG y cómo trabajar con instancias administradas .
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
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.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Limitaciones
Un MIG con metadatos con estado tiene las siguientes limitaciones:
Un MIG con configuración con estado —un MIG con estado —tiene las siguientes limitaciones:
Configuración de metadatos con estado en la creación de instancias
Establezca metadatos con estado al crear instancias manualmente en un MIG. Esto es útil para migrar una aplicación con estado en máquinas virtuales independientes a un MIG con estado y al crear instancias con estado.
Cuando crea manualmente una instancia en un MIG y proporciona metadatos con estado, el MIG realiza las siguientes tareas:
nube de gcloud
Para crear una instancia administrada con un nombre personalizado y establecer metadatos con estado en esa VM, use el
gcloud compute instance-groups managed create-instance
con la marca--stateful-metadata
.gcloud compute instance-groups managed create-instance NAME \ --instance INSTANCE_NAME \ --stateful-metadata KEY=VALUE[,KEY=VALUE,...]
Reemplace lo siguiente:
Ejemplo
Debe implementar un clúster de nodos,
example-cluster
, que pueda funcionar en uno de dos modos:active
ostandby
. El modo se configura individualmente para cada VM en un clúster mediante metadatos, por ejemplo:mode:active
. También puede configurar qué tan elaborado debe ser el registro para cada nodo, utilizando una clave de metadatoslogging
que se puede configurar comobasic
oelaborate
. La aplicación en el nodo se configura utilizando valores de los metadatos de la instancia.Para crear un nodo activo,
node-12
, con un registro elaborado, ejecutaría el siguiente comando:gcloud compute instance-groups managed create-instance example-cluster \ --instance node-12 \ --stateful-metadata mode=active,logging=elaborate
El comando crea una máquina virtual,
node-12
, en el MIGexample-cluster
y establece dos pares clave-valor de metadatos,mode:active
ylogging:elaborate
, para la nueva instancia.Terraformar
Para crear una instancia administrada con un nombre personalizado y establecer metadatos con estado en esa VM, use el recurso
google_compute_per_instance_config
.El siguiente ejemplo utiliza un MIG zonal. Si aún no tiene un MIG zonal, cree un MIG zonal con máquinas virtuales confinadas a una sola zona .
Para aprender a aplicar o eliminar una configuración de Terraform, consulte Comandos básicos de Terraform .
DESCANSAR
Para crear una o varias instancias administradas en un MIG con nombres de VM personalizados y establecer metadatos con estado individualmente en estas VM, use el método
instanceGroupManagers.createInstances
. Para un MIG regional, utilice el métodoregionInstanceGroupManagers.createInstances
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/createInstances { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "metadata": { "KEY" : "VALUE", ... } } }, ... ] }
Reemplace lo siguiente:
Ejemplo
Debe implementar un clúster de nodos,
example-cluster
, que pueda funcionar en uno de dos modos:active
ostandby
. El modo se configura individualmente para cada VM en un clúster mediante metadatos, por ejemplo:mode:active
. También puede configurar qué tan elaborado debe ser el registro para cada nodo, utilizando una clave de metadatoslogging
que se puede configurar comobasic
oelaborate
. La aplicación en el nodo se configura utilizando valores de los metadatos de la instancia.Para crear un nodo activo,
node-12
, con un registro elaborado, ejecute el siguiente método:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-cluster/createInstances { "instance": [ { "name": "node-12", "preservedState" : { "metadata": { "mode":"active", "logging":"elaborate" } } } ] }
El método crea una máquina virtual,
node-12
, en el MIGexample-cluster
y establece dos pares clave-valor de metadatos,mode:active
ylogging:elaborate
, para la nueva instancia.Configurar, modificar y eliminar metadatos con estado individualmente para instancias de VM existentes
Establezca, modifique o elimine metadatos con estado para una instancia existente en un MIG configurándolos en una configuración asociada por instancia y luego aplicando la configuración actualizando la instancia.
nube de gcloud
Para configurar metadatos con estado individualmente para una instancia de VM en un MIG, establezca o elimine metadatos con estado en la configuración por instancia asociada. Si aplica la configuración a la instancia al mismo tiempo (
--update-instance
), puede elegir si desea mantener la instancia en ejecución, reiniciarla o volver a crearla. Si no aplica la configuración (--no-update-instance
), sus cambios no tendrán efecto hasta que vuelva a crear o actualice la instancia.Si no existe una configuración por instancia para una instancia determinada, usa el comando
gcloud compute instance-groups managed instance-configs create
con una de las siguientes marcas:gcloud compute instance-groups managed instance-configs create NAME \ --instance INSTANCE_NAME \ --stateful-metadata KEY=VALUE[,KEY=VALUE,...] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Si ya existe una configuración por instancia para una instancia determinada, usa el comando
gcloud compute instance-groups managed instance-configs update
con:gcloud compute instance-groups managed instance-configs update NAME \ --instance INSTANCE_NAME \ [--stateful-metadata KEY=VALUE[,KEY=VALUE,...]] \ [--remove-stateful-metadata KEY[,KEY,...]] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Reemplace lo siguiente:
Ejemplo
Tiene un grupo de nodos,
example-cluster
, que puede funcionar en uno de dos modos:active
ostandby
. El modo se configura individualmente para cada VM en el clúster mediante metadatos, por ejemplo:mode:active
. También puede configurar qué tan elaborado debe ser el registro para cada nodo, utilizando una clave de metadatoslogging
que se puede configurar comobasic
oelaborate
. La aplicación en cada nodo consume los valores de los metadatos de la instancia.La plantilla de instancia define los metadatos
mode:active
ylogging:basic
que se utilizarán de forma predeterminada para todas las instancias. Ha configuradologging:elaborate
en una configuración por instancia para la máquina virtualnode-12
en el clúster. Ahora desea cambiarnode-12
al modo de espera y cambiar el registro abasic
para esta máquina virtual.Para cambiar la instancia
node-12
al modo de espera y su registro al modo básico, ejecute el siguiente comando:gcloud compute instance-groups managed instance-configs update example-cluster \ --instance node-12 \ --stateful-metadata mode=standby \ --remove-stateful-metadata logging
El comando hace lo siguiente:
DESCANSAR
Para configurar metadatos con estado individualmente para instancias de VM existentes en un MIG, establezca o elimine los metadatos en las configuraciones por instancia asociadas. Luego actualice la instancia para aplicar la configuración .
Si aún no existen configuraciones por instancia para las instancias dadas, use el método
instanceGroupManagers.updatePerInstanceConfigs
con metadatos con estado:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/updatePerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "metadata": { "KEY": "VALUE", ... } }, "fingerprint: "FINGERPRINT" }, ... ] }
Si ya existen configuraciones por instancia para las instancias dadas, use el método
instanceGroupManagers.patchPerInstanceConfigs
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "metadata": { "KEY": "VALUE", ... } }, "fingerprint: "FINGERPRINT" }, ... ] }
Reemplace lo siguiente:
Los métodos
updatePerInstanceConfigs
ypatchPerInstanceConfigs
actualizan las configuraciones por instancia especificadas, pero no aplican las actualizaciones de configuración a las instancias de VM asociadas. Los cambios se aplican a una VM cuando actualiza o vuelve a crear la instancia. Para aplicar los cambios a una VM, puede aplicar la actualización manualmente o usar el Actualizador en modo proactivo u oportunista.Ejemplo
Tiene un grupo de nodos,
example-cluster
, que puede funcionar en uno de dos modos:active
ostandby
. El modo se configura individualmente para cada VM en el clúster mediante metadatos, por ejemplo:mode:active
. También puede configurar qué tan elaborado debe ser el registro para cada nodo, utilizando una clave de metadatoslogging
que se puede configurar comobasic
oelaborate
. La aplicación en cada nodo consume los valores de los metadatos de la instancia.La plantilla de instancia define los metadatos
mode:active
ylogging:basic
que se utilizarán de forma predeterminada para todas las instancias. Ha configuradologging:elaborate
en una configuración por instancia para la máquina virtualnode-12
en el clúster. Ahora, desea cambiarnode-12
al modo de espera y cambiar el registro abasic
para esta instancia.Para cambiar la máquina virtual
node-12
al modo de espera y su registro a básico, parchee la configuración por instancia asociada mediante el métodopatchPerInstanceConfigs
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-cluster/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "node-12", "preservedState" : { "metadata": { "mode": "standby", "logging": null } } } ] }
El método hace lo siguiente:
La actualización de configuración aún no se ha aplicado a la instancia de VM
node-12
. La actualización de la configuración se aplicará la próxima vez que vuelva a crear o actualice la instancia o si utiliza la actualización automática proactiva .Para aplicar la actualización de configuración por instancia a la instancia de VM
node-12
, llame al métodoinstanceGroupManagers.applyUpdatesToInstances
para la instancia:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-cluster/applyUpdatesToInstances { "instances": ["/zones/us-east1-c/instances/node-12"], "minimalAction": "NONE" }
El método aplica la configuración actualizada por instancia a la máquina virtual
node-12
:Comentario
Queremos conocer sus casos de uso, desafíos y comentarios sobre los MIG con estado. Comparta sus comentarios con nuestro equipo en mig-discuss@google.com .
¿Qué sigue?
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-04-17 (UTC).
-