Configurar los discos persistentes para que tengan estado te permite beneficiarte de la reparación automática y las actualizaciones automáticas de una instancia de VM y, a la vez, conservar el estado de los discos.
Puedes configurar cualquier disco definido en la plantilla de instancias para que tenga estado en todas las instancias de un grupo de instancias administrado (MIG) si agregas el nombre de dispositivo del disco a la política con estado del MIG.
También puedes configurar discos persistentes con estado de forma individual para instancias en un MIG si estableces configuraciones por instancia; estos discos no necesitan definirse en la plantilla de instancias.
Antes de comenzar
- Revisa cuándo usar MIG con estado y cómo funcionan los MIG con estado.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
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.
- No puedes usar el ajuste de escala automático si tu MIG tiene una configuración con estado.
- Si deseas usar actualizaciones progresivas automáticas, debes establecer el método de reemplazo en
RECREATE
. - Para los MIGs regionales con estado, debes inhabilitar la redistribución proactiva (establece el tipo de redistribución en
NONE
) para evitar la eliminación de instancias con estado por la redistribución automática entre zonas. Si usas una configuración de todas las instancias para anular las propiedades de la plantilla de instancias, no puedes especificarlas en ninguna configuración por instancia y, al mismo tiempo, en todas las instancias del grupo de instancias.
Un MIG regional con estado no organiza de forma automática la conmutación por error entre zonas. Cuando usas un MIG regional, puedes hacer que la aplicación con estado sea resistente a las fallas zonales mediante la implementación de réplicas redundantes en varias zonas y el uso de la función de replicación de datos de tu aplicación.
- Podrás reparar un disco de arranque dañado, si vuelves a crearlo a partir de su imagen original. La reparación automática realiza estas reparaciones de forma automática.
- Podrás actualizar un disco de arranque a la imagen más reciente con versiones nuevas y parches de seguridad.
En la consola de Google Cloud, ve a la página Grupos de instancias.
Elige el proyecto y haz clic en Continuar.
Haga clic en Crear grupo de instancias.
Elige Nuevo grupo de instancias administrado (con estado).
Especifica un Nombre para el grupo de instancias.
Elige una plantilla de instancia. Si no hay plantillas disponibles, crea una plantilla de instancias.
En Cantidad de instancias, especifica la cantidad para el grupo de instancias.
En la sección Configuración con estado, se muestran los discos especificados en la plantilla de instancias. Haz clic en un disco para editar su configuración con estado.
- En Con estado, elige Sí.
En el menú desplegable Eliminación permanente de instancias, elige la acción que se realizará en el disco con estado cuando se borre la instancia de VM. Las opciones disponibles son las siguientes:
- Desconectar disco: (predeterminado). Nunca borrar el disco; desconectar el disco cuando se borra la VM.
- Borrar el disco: Borrar el disco con estado cuando su VM se borra de forma permanente del grupo de instancias, por ejemplo, cuando la instancia administrada se borra de forma manual o cuando se reduce el tamaño del grupo.
Después de terminar la configuración con estado, haz clic en Listo.
Haz clic en Crear.
INSTANCE_GROUP_NAME
: El nombre del grupo de instancias administrado que se creará.INSTANCE_TEMPLATE
: El nombre de la plantilla de instancias que se usará cuando se creen instancias.SIZE
: la cantidad inicial de VM que necesitas en este grupoDEVICE_NAME
: el nombre de dispositivo de un disco que se especificó en la plantilla de instanciasDELETE_RULE
: un valor que indica qué hacer con un disco con estado cuando se borra una VM. Las opciones disponibles son las siguientes:never
: Nunca borra el disco, en su lugar, lo separa cuando se borra la VM (predeterminado).on-permanent-instance-deletion
: Borra el disco cuando la instancia de VM se borra de forma permanente del grupo de instancias, por ejemplo, cuando la instancia administrada se borra de forma manual o cuando se reduce el tamaño del grupo.
Sin importar el valor de la regla de eliminación, los discos con estado se conservan siempre en las operaciones de reparación automática, actualización y recreación de la VM.
Crea una plantilla de instancias con un disco de arranque sin estado basado en la imagen
img-example-db-v01
, que tiene un SO y una base de datos preinstalados y con un disco de datos con estado:gcloud compute instance-templates create example-database-template-v01 \ --image img-example-db-v01 \ --create-disk device-name=data-disk,mode=rw,image=empty10GBext4
La marca
--create-disk
le indica al MIG que realice las siguientes acciones:- Crear un nuevo disco de 10 GB para cada instancia de VM a partir de una imagen ext4 vacía, preparada de antemano.
- Conecta el disco a su VM en modo de lectura/escritura con el nombre de dispositivo
data-disk
.
Crea un MIG a partir de la plantilla de instancias y define el disco de datos como con estado:
gcloud compute instance-groups managed create example-database-group \ --template example-database-template-v01 \ --base-instance-name shard \ --size 12 \ --stateful-disk device-name=data-disk,auto-delete=on-permanent-instance-deletion
El nombre del dispositivo
data-disk
se toma de la plantilla de la instancia. El disco de datos se configura para borrarse junto con la instancia de VM cuando la VM se borra de forma permanente (debido a la eliminación manual de la instancia o debido a una disminución manual del tamaño del grupo). El disco de datos se conserva en la reparación automática, las actualizaciones y la recreación de VM.Verifica que el disco de datos esté configurado en la política con estado:
gcloud compute instance-groups managed describe example-database-group baseInstanceName: shard ... name: example-database-group ... statefulPolicy: preservedState: disks: data-disk: autoDelete: ON_PERMANENT_INSTANCE_DELETION ...
Puedes ver que la política con estado declara discos con el nombre de dispositivo
data-disk
como “con estado”, con una regla para borrar esos discos cuando se borra la VM de forma permanente.PROJECT
: El ID del proyecto para la solicitud.ZONE
: La zona en la que se encuentra el MIG (se aplica a un MIG zonal).- Para un MIG regional, reemplaza
zones/ZONE
porregions/REGION
y especifica la región del MIG.
- Para un MIG regional, reemplaza
NAME
: El nombre del MIG que se creará.TEMPLATE
: El nombre de la plantilla de instancias que se usará cuando se creen instancias.SIZE
: la cantidad inicial de instancias que necesitas en este grupoDEVICE_NAME
: el nombre de dispositivo de un disco que se especificó en la plantilla de instanciasDELETE_RULE
: un valor que indica qué hacer con el disco con estado cuando se borra la instancia de VM. Las opciones disponibles son las siguientes:never
: Nunca borra el disco, en su lugar, lo separa cuando se borra la VM (predeterminado).on_permanent_instance_deletion
: Borra el disco con estado cuando su VM se borra de forma permanente del grupo de instancias, por ejemplo, cuando la instancia administrada se borra de forma manual o cuando se reduce el tamaño del grupo.
Crea una plantilla de instancias con un disco de arranque sin estado basado en la imagen
img-example-db-v01
, que tiene un SO y una base de datos preinstalados y con un disco de datos con estado mediante el métodoinstanceTemplates.insert
:POST https://compute.googleapis.com/compute/v1/projects/example-project/global/instanceTemplates { "name": "example-database-template-v01", "properties": { "machineType":"e2-standard-2", "disks": [ { "boot": true, "deviceName": "boot-disk", "initializeParams": { "sourceImage": "projects/example-project/global/images/mg-example-db-v01" } }, { "deviceName": "data-disk", "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/example-project/global/images/empty10GBext4" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ] } }
El disco de datos en la plantilla de instancias tiene el nombre de dispositivo
data-disk
y está configurado para crearse a partir de una imagen ext4 vacía, preparada de antemano, y también para conectarse en modo de lectura/escritura.Crea un MIG a partir de la plantilla de instancias y define el disco de datos como con estado mediante el método
instanceGroupManagers.insert
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers { "name": "example-database-group", "baseInstanceName": "shard", "versions": [ { "instanceTemplate": "global/instanceTemplates/example-database-template-v01" } ], "targetSize": 12, "statefulPolicy": { "preservedState": { "disks": { "data-disk": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } } } }
El MIG crea 12 instancias, cada una con un disco con las siguientes propiedades:
- Un nombre de dispositivo,
data-disk
, tomado de la plantilla de instancias. - Una regla de eliminación para borrar el disco de datos cuando se borre la VM (ya sea debido a la eliminación manual de la instancia o a una disminución manual del tamaño del grupo).
- Una entrada en el estado conservado de la política (
preservedStateFromPolicy
) de cada instancia administrada a fin de que el disco de datos se conserve en la reparación automática, las actualizaciones y la recreación de instancias.
- Un nombre de dispositivo,
Usa el método
instanceGroupManagers.get
para verificar que el disco de datos esté configurado en la política con estado del recursoinstanceGroupManagers
nuevo:GET https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-database-group
{ "name": "example-database-group", "baseInstanceName": "shard", ... "statefulPolicy": { "preservedState": { "disks": { "data-disk": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } } } ... }
Puedes ver que la política con estado declara que los discos con el nombre de dispositivo
data-disk
como “con estado”, con la regla para borrar esos discos cuando se borra la instancia de forma permanente.- Agregar los discos definidos en la plantilla de instancias a la política con estado de un MIG existente para declararlos como con estado. Esto marca los discos con el nombre de dispositivo determinado como con estado para todas las instancias existentes y futuras en el MIG.
- Actualizar la política con estado para cambiar la configuración con estado de los discos.
En la consola de Google Cloud, ve a la página Grupos de instancias.
Haz clic en el nombre del grupo de instancias en el que quieres especificar la configuración con estado del disco.
Haz clic en Editar para modificar este grupo de instancias administrado.
En Configuración con estado, expande el disco que deseas que tenga estado.
- En Con estado, elige Sí.
En el menú desplegable Eliminación permanente de instancias, elige la acción que se realizará en el disco con estado cuando se borre la instancia de VM.
- Desconectar disco: (predeterminado). Nunca borrar el disco; desconectar el disco cuando se borra la VM.
Borrar el disco: Borrar el disco con estado cuando su VM se borra de forma permanente del grupo de instancias, por ejemplo, cuando la instancia administrada se borra de forma manual o cuando se reduce el tamaño del grupo.
Después de actualizar la configuración con estado, haz clic en Listo.
Haz clic en Guardar para completar la actualización.
NAME
: el nombre del grupo de instancias administrado que se actualizaráDEVICE_NAME
: el nombre de dispositivo de un disco que se especifica en la plantilla de instanciasDELETE_RULE
: el valor que indica qué hacer con el disco con estado cuando se borra una instancia de VM. Las opciones disponibles son las siguientes:never
: Nunca borra el disco, en su lugar, lo separa cuando se borra la instancia (predeterminado).on-permanent-instance-deletion
: Borra el disco con estado cuando su instancia se borra de forma permanente del grupo de instancias, por ejemplo, cuando la instancia administrada se borra de forma manual o cuando se reduce el tamaño del grupo.
Actualiza el MIG para definir el disco de datos como con estado mediante el siguiente comando:
gcloud compute instance-groups managed update example-database-group \ --stateful-disk device-name=data-disk,auto-delete=never
Como resultado, el MIG aplica las actualizaciones de configuración de políticas con estado de forma automática y asíncrona a los discos de datos para todas las instancias. Los discos de datos ahora se conservan en la reparación automática, las actualizaciones y la recreación de instancias, y los discos de datos se desconectan cuando se borra la instancia porque la regla
auto-delete
está configurada ennever
.Ejecuta el comando
gcloud compute instance-groups managed describe example-database-group
para verificar que el disco de datos esté configurado en la política con estado.PROJECT
: El ID del proyecto para la solicitud.ZONE
: La zona en la que se encuentra el MIG (se aplica a un MIG zonal).- Para un MIG regional, reemplaza
zones/ZONE
porregions/REGION
y especifica la región del MIG.
- Para un MIG regional, reemplaza
NAME
: el nombre del MIG que se actualizaráDEVICE_NAME
: El nombre de dispositivo de un disco, especificado en la plantilla de instancias, para el que deseas actualizar la configuración con estadoDELETE_RULE
: el valor que indica qué hacer con el disco con estado cuando se borra una instancia de VM. Las opciones disponibles son las siguientes:never
: Nunca borra el disco, en su lugar, lo separa cuando se borra la instancia (predeterminado).on-permanent-instance-deletion
: Borra el disco con estado cuando su instancia se borra de forma permanente del grupo de instancias, por ejemplo, cuando la instancia se borra de forma manual o cuando se reduce el tamaño del grupo.
Aplica un parche en el MIG para definir el disco de datos como con estado:
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-database-group { "statefulPolicy": { "preservedState": { "disks": { "data-disk": {"autoDelete": "NEVER" } } } } }
El MIG aplica esta configuración con estado de forma automática y asíncrona a los discos de datos para todas las instancias. Los discos de datos se conservarán en la reparación automática, las actualizaciones y la recreación de instancias. Los discos de datos se desconectarán cuando se borre la instancia porque la regla
autoDelete
está configurada enNEVER
.Verifica que el disco de datos esté configurado en la política con estado mediante la visualización del recurso
instanceGroupManagers
que muestra el métodoinstanceGroupManagers.get
.- Si vuelves a estructurar la aplicación para quitar el estado del disco.
- Si, por error, configuraste el disco para que tenga estado y deseas revertirlo.
En la consola de Google Cloud, ve a la página Grupos de instancias.
Haz clic en el nombre del grupo de instancias del que quieres quitar la configuración con estado de los discos.
Haz clic en Editar para modificar este grupo de instancias administrado.
En Configuración con estado, expande los discos con estado que deseas que no tengan estado.
- Cambia la opción Con estado a No.
- Haz clic en Listo.
Una vez realizadas las modificaciones, haz clic en Guardar.
NAME
: el nombre del MIG que se actualizaráDEVICE_NAME
: El nombre del dispositivo de un disco que se quitará de la política con estado y se considerará como sin estado. Puedes proporcionar uno o varios nombres de dispositivos en la lista.PROJECT
: El ID del proyecto para la solicitud.ZONE
: La zona en la que se encuentra el MIG (se aplica a un MIG zonal).- Para un MIG regional, reemplaza
zones/ZONE
porregions/REGION
y especifica la región del MIG.
- Para un MIG regional, reemplaza
NAME
: el nombre del MIG que se actualizaráDEVICE_NAME
: El nombre del dispositivo de un disco que deseas quitar de la política con estado. Si proporcionas un valornull
, la configuración con estado para ese disco se quitará. Puedes quitar uno o varios nombres de dispositivos.- Quita la configuración con estado del disco de la política con estado. Esto hace que los discos con el nombre de dispositivo determinado no tengan estado.
- Desconecta los discos de las VM si quieres conservarlos.
- Lanza una nueva plantilla de instancias que ya no defina el disco con el nombre de dispositivo especificado.
- Migrar las cargas de trabajo existentes (con los discos existentes) de las VM independientes a un MIG con estado para beneficiarte de la reparación automática y las actualizaciones fáciles.
- Restablecer las copias de seguridad de los discos, configuradas de manera individual para las VM.
- Adjunta temporalmente discos con estado adicionales a una VM específica para probar, depurar o copiar datos.
- Crea una plantilla de instancias con una configuración común para todas las instancias de VM.
- Desconecta los discos de datos de las instancias independientes y borra estas instancias. También puedes desconectar los discos de arranque si contienen estados que deben conservarse.
- Crea un MIG vacío con la plantilla de instancias que se creó antes.
Crea instancias en el MIG con los nombres y los discos asociados correspondientes del paso anterior. El MIG responde a tu solicitud con las siguientes acciones:
- Crea una VM a partir de la plantilla de instancias con el nombre de instancia que se proporciona.
- Un MIG regional crea la VM en la misma zona en la que se encuentra el disco. Si el disco es regional, el MIG regional crea la VM en cualquiera de las zonas de réplica del disco.
- Crea una configuración por instancia con la configuración con estado que se proporciona para los discos.
- Conecta los discos a la instancia nueva.
- Crea una VM a partir de la plantilla de instancias con el nombre de instancia que se proporciona.
NAME
: el nombre del MIG en el que necesitas crear una instanciaVM_NAME
: el nombre de la instancia nueva que se crearáZONE
: la zona en la que se encuentra el MIG (se aplica a un MIG zonal)REGION
: la región en la que se encuentra el MIG (se aplica a un MIG regional)DEVICE_NAME
: el nombre de dispositivo que se usará para conectar el discoDISK
: el URI de un disco persistente existente que se conecta con elDEVICE_NAME
especificado, en el formatoprojects/project-id/zones/zone/disks/disk-name
si el disco es zonal oprojects/project-id/regions/region/disks/disk-name
si es regionalMODE
: especifica el modo del disco. Las opciones compatibles son las siguientes:ro
: Solo lecturarw
: lectura/escritura (predeterminado)
DELETE_RULE
: un valor que indica qué hacer un disco con estado cuando se borra una instancia de VM. Las opciones disponibles son las siguientes:never
: Nunca borra el disco, en su lugar, lo desconecta cuando se borra la instancia (predeterminado).on-permanent-instance-deletion
: Borra el disco con estado cuando su instancia se borra de forma permanente del grupo de instancias, por ejemplo, cuando la instancia se borra de forma manual o cuando se reduce el tamaño del grupo.
Sin importar el valor de la regla de eliminación, los discos con estado se conservan siempre en las operaciones de reparación automática, actualización y recreación de las instancias.
- Detén la VM,
db-instance
, durante un período de mantenimiento. - Crea una plantilla de instancias llamada
db-template
con la configuracióndb-instance
. - Desconecta
db-data-disk-1
dedb-instance
y borradb-instance
. - Crea un MIG vacío,
example-database-mig
, a partir dedb-template
y configura la reparación automática. Crea una instancia administrada con el nombre
db-instance
original y adjunta eldb-data-disk-1
como un disco con estado:gcloud compute instance-groups managed create-instance example-database-mig \ --instance db-instance \ --zone us-east1-c \ --stateful-disk device-name=data-disk,source=projects/example-project/zones/us-east1-c/disks/db-data-disk-1,auto-delete=never
El comando crea una instancia,
db-instance
, en el MIG y una configuración correspondiente por instancia con el disco con estadodb-data-disk-1
y, luego, conecta el disco a la VM nueva condata-disk
como el nombre del dispositivo.PROJECT_ID
: El ID del proyecto para la solicitud.ZONE
: La zona en la que se encuentra el MIG (se aplica a un MIG zonal).- Para un MIG regional, reemplaza
zones/ZONE
porregions/REGION
y especifica la región del MIG.
- Para un MIG regional, reemplaza
NAME
: el nombre del MIG en el que se creará una instanciaVM_NAME
: el nombre de la instancia que se crearáDEVICE_NAME
: Es el nombre de dispositivo que se usará para conectar el disco.DISK
: Es el URI de un disco persistente existente que se conectará en elDEVICE_NAME
especificado en el formatoprojects/project-id/zones/zone/disks/disk-name
si el disco es zonal oprojects/project-id/regions/region/disks/disk-name
si el disco es regional.MODE
: Especifica el modo del disco. Las opciones compatibles son las siguientes:READ_ONLY
: Solo lecturaREAD_WRITE
: lectura/escritura (predeterminado)
DELETE_RULE
: un valor que indica qué hacer con un disco con estado cuando se borra una VM. Las opciones disponibles son las siguientes:never
: Nunca borra el disco, en su lugar, lo desconecta cuando se borra la VM (predeterminado).on-permanent-instance-deletion
: Borra el disco con estado cuando su instancia se borra de forma permanente del grupo de instancias, por ejemplo, cuando la instancia se borra de forma manual o cuando se reduce el tamaño del grupo.
Sin importar el valor de la regla de eliminación, los discos con estado se conservan siempre en las operaciones de reparación automática, actualización y recreación de las instancias.
- Detén la VM,
db-instance
, durante un período de mantenimiento. - Crea una plantilla de instancias llamada
db-template
con la configuracióndb-instance
. - Desconecta
db-data-disk-1
dedb-instance
y borradb-instance
. - Crea un MIG vacío,
example-database-mig
, a partir dedb-template
y configura la reparación automática. Crea una instancia con el nombre
db-instance
original y adjuntadb-data-disk-1
como un disco con estado:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-database-mig/createInstances { "instances": [ { "name": "db-instance", "preservedState" : { "disks": { "data-disk" : { "source": "projects/example-project/zones/us-east1-c/disks/db-data-disk-1", "mode": "READ_WRITE", "autoDelete": "never" } } } } ] }
El método crea una instancia
db-instance
en el MIG y una configuración por instancia correspondiente con el disco con estadodb-data-disk-1
y, luego, conecta el disco a la instancia nueva condata-disk
como el nombre del dispositivo.- Agregar un disco con estado desde fuera de un MIG a una VM de ese MIG
- Declarar un disco sin estado como con estado para una VM de un MIG
- Reemplazar un disco con estado por un disco diferente para una VM en un MIG
NAME
: el nombre del grupo de instancias administradoVM_NAME
: el nombre de la instancia de VM en la que se configurarán los discos con estadoDEVICE_NAME
: Es el nombre de dispositivo que se usó para conectar el disco.DISK
: Es el URI de un disco persistente existente que se conectará en elDEVICE_NAME
especificado, en el formatoprojects/project-id/zones/zone/disks/disk-name
si el disco es zonal oprojects/project-id/regions/region/disks/disk-name
si es regional.La marca secundaria
source=DISK
es opcional si el dispositivo ya está definido en la configuración por instancia. De lo contrario, es obligatoria.Si se omite, el URI del disco configurado en la actualidad no se modifica.
MODE
: Especifica el modo del disco. Solo puedes especificarmode
si también especificassource
. Las opciones compatibles son las siguientes:ro
: Solo lecturarw
: lectura/escritura (predeterminado)
Si se omite, se establece el valor predeterminado para una nueva configuración de disco con estado. El valor no se modifica en una configuración existente.
DELETE_RULE
: Es un valor que indica qué hacer con un disco con estado cuando se borra una VM. Las opciones disponibles son las siguientes:never
: Nunca borra el disco; en su lugar, lo desconecta cuando se borra la instancia (opción predeterminada).on-permanent-instance-deletion
: Borra el disco con estado cuando su instancia se borra de forma permanente del grupo de instancias, por ejemplo, cuando la instancia se borra de forma manual o cuando se reduce el tamaño del grupo.
Si se omite, se establece el valor predeterminado para una nueva configuración de disco con estado. El valor no se modifica en una configuración existente.
Sin importar el valor de la regla de eliminación, los discos con estado se conservan siempre en las operaciones de reparación automática, actualización y recreación de las instancias.
MINIMAL_ACTION
: Realiza al menos la acción especificada cuando se aplique la actualización de la configuración por instancia a la instancia. Se debe usar con la marca--update-instance
. El valor debe ser uno de los siguientes:none
: Ninguna acciónrefresh
: Aplicar actualizaciones que no requieren que se detenga la VMrestart
: Detener la VM y volver a iniciarlareplace
: Volver a crear la VM
Si se omite, se usa la acción menos perjudicial que requiere la actualización.
- Actualiza la configuración por instancia para
db-instance-1
:- Actualiza la fuente del disco con el nombre de dispositivo
data-disk
dedata-disk-1
(última configuración) adata-disk-2
(configuración nueva). - Mantiene la regla de eliminación automática para no borrar nunca el disco porque el parámetro
auto-delete
se omite en la marca--stateful-disk
y, de forma predeterminada, la regla de eliminación esnever
.
- Actualiza la fuente del disco con el nombre de dispositivo
- Aplica la actualización de configuración por instancia a la VM
db-instance-1
de inmediato porque se incluye la marca--update-instance
. El MIG desconectadata-disk-1
y adjuntadata-disk-2
con el mismo nombre de dispositivo,data-disk
. - Debido a que la acción mínima se establece en
restart
, el MIG reinicia la instanciadb-instance-1
para actualizar la VM, lo que ayuda a la aplicación de base de datos a comenzar a usar el disco nuevo. PROJECT_ID
: El ID del proyecto para la solicitud.ZONE
: La zona en la que se encuentra el MIG (se aplica a un MIG zonal).- Para un MIG regional, reemplaza
zones/ZONE
porregions/REGION
y especifica la región del MIG.
- Para un MIG regional, reemplaza
NAME
: el nombre del MIGVM_NAME
: el nombre de la VM en la que se configuran los discos con estadoDEVICE_NAME
: Es el nombre de dispositivo que se usó para conectar el disco.DISK
: Es el URI de un disco persistente existente que se conectará en elDEVICE_NAME
especificado, en el formatoprojects/project-id/zones/zone/disks/disk-name
si el disco es zonal oprojects/project-id/regions/region/disks/disk-name
si es regional.El campo
"source": "DISK"
es opcional si el dispositivo ya está definido en la configuración por instancia. De lo contrario, es obligatoria.Si se omite el campo
source
, el URI del disco configurado en la actualidad no se modifica.MODE
: Especifica el modo del disco (opcional).mode
solo se puede especificar si se proporcionasource
. Las opciones compatibles son las siguientes:READ_ONLY
: Solo lecturaREAD_WRITE
: lectura/escritura (predeterminado)
Si se omite, se establece el valor predeterminado para una nueva configuración de disco con estado. El valor no se modifica en una configuración existente.
DELETE_RULE
: Un valor que prescribe lo que debe suceder con un disco con estado cuando se borra una VM (opcional). Las opciones disponibles son las siguientes:- nunca: Nunca borra el disco; en su lugar, lo desconecta cuando se borra la instancia (opción predeterminada).
on-permanent-instance-deletion
: Borra el disco con estado cuando su instancia se borra de forma permanente del grupo de instancias, por ejemplo, cuando la instancia se borra de forma manual o cuando se reduce el tamaño del grupo.
Si se omite el campo
autoDelete
, se establece el valor predeterminado para una nueva configuración de disco con estado. El valor no se modifica en una configuración existente.Sin importar el valor de la regla de eliminación, los discos con estado se conservan siempre en las operaciones de reparación automática, actualización y recreación de las instancias.
FINGERPRINT
: La huella digital de la configuración determinada si ya existe (opcional). Se usa para el bloqueo optimista. Si deseas ver la última huella digital, realiza una solicitudget()
a fin de recuperar el recurso.- Actualiza la
source
del disco con el nombre de dispositivodata-disk
dedata-disk-1
(última configuración) adata-disk-2
(configuración nueva). - Mantiene los parámetros
mode
yautoDelete
sin cambios porque los parámetros se omiten en la solicitud. - Si vuelves a estructurar la aplicación para quitar el estado del disco.
- Si, por error, configuraste el disco para que tenga estado y deseas revertirlo
- Si el disco no está definido en la plantilla de instancias, el MIG lo desconecta.
- El MIG no borra el disco cuando borras su configuración de la configuración por instancia, sin importar la regla de eliminación automática en la configuración.
- Si el disco está definido por la plantilla de instancias, el MIG trata al disco como sin estado, lo que significa que el MIG vuelve a crear el disco desde su fuente en la plantilla de instancias en eventos posteriores de recreación, actualización o reparación automática de instancias.
NAME
: el nombre del MIGVM_NAME
: el nombre de la VM a la que se le quitará la configuración con estadoDEVICE_NAME
: el nombre de dispositivo que se usó para conectar el discoMINIMAL_ACTION
: realiza al menos la acción que se especifica cuando actualices la VM con su configuración por instancia. Solo se puede usar junto con--update-instance
. El valor debe ser uno de los siguientes:none
: Ninguna acciónrefresh
: Aplicar actualizaciones que no requieren que se detenga la VMrestart
: Detener la VM y volver a iniciarlareplace
: Volver a crear la VM
Si se omite, se usa la acción menos perjudicial que requiere la actualización.
- Quita la configuración del disco con el nombre de dispositivo
boot-disk
de la configuración por instancia paranode-1
. - Aplica la actualización de configuración por instancia a la VM
node-1
de inmediato porque se incluye la marca--update-instance
. El MIG quita el disco de arranque depreservedStateFromConfig
de la instancia administrada y trata el disco de arranque como sin estado, lo que significa que el MIG vuelve a crear el disco desde la imagen de arranque en la plantilla de instancia en eventos posteriores de recreación, actualización o reparación automática de instancias. PROJECT_ID
: El ID del proyecto para la solicitud.ZONE
: La zona en la que se encuentra el MIG (se aplica a un MIG zonal).- Para un MIG regional, reemplaza
zones/ZONE
porregions/REGION
y especifica la región del MIG.
- Para un MIG regional, reemplaza
NAME
: el nombre del MIGVM_NAME
: el nombre de la VM a la que se le quitará la configuración con estadoDEVICE_NAME
: el nombre de dispositivo que se usó para conectar el discoFINGERPRINT
: la huella digital de la configuración determinada, si ya existe. Se usa para el bloqueo optimista. Si deseas ver la última huella digital, realiza una solicitudget()
a fin de recuperar el recurso.Llama al método
patchPerInstanceConfigs
para las instancias, por ejemplo,node-1
con un valornull
para el disco de arranque:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-legacy-group/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "node-1", "preservedState" : { "disks": { "boot-disk" : null } } } ] }
El método quita la configuración del disco con el nombre de dispositivo
boot- disk
de la configuración por instancia paranode-1
. La actualización de la configuración aún no se aplicó a la instancia de VMnode-1
. La actualización de la configuración se aplicará en la próxima recreación o actualización de la instancia.Para aplicar la actualización de la configuración por instancia a la instancia de VM
node-1
, llama al métodoinstanceGroupManagers.applyUpdatesToInstances
de la instancia:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-legacy-group/applyUpdatesToInstances { "instances": ["/zones/us-east1-c/instances/node-1"] }
El MIG quita el disco de arranque de
preservedStateFromConfig
para la instancianode-1
y trata el disco como sin estado. Es decir, el MIG vuelve a crear el disco desde su imagen de arranque en la plantilla de instancias en eventos posteriores de recreación, actualización o reparación automática de instancias.- Configura metadatos con estado para VM en un MIG.
- Obtén más información sobre cómo aplicar, visualizar y quitar la configuración con estado.
- Obtén información sobre un MIG específico y sus instancias administradas, incluido el estado y las propiedades de la VM.
- Obtén más información sobre los 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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Limitaciones
Un MIG con discos con estado tiene las siguientes limitaciones:
Un MIG con configuración con estado, un MIG con estado, tiene las siguientes limitaciones:
Cuándo usar discos persistentes con estado
Usa discos persistentes con estado para aprovechar la reparación automática de las VM y las actualizaciones automáticas sin perder los datos de los discos. Para obtener más información, consulta los casos de uso de los MIG con estado.
Cuando configuras discos con estado, estos discos se conservan a través de la reparación automática, las actualizaciones y la recreación de la instancia de VM. Pero eso también significa que los discos con estado no se pueden volver a crear a partir de la imagen original ni actualizarse a una imagen nueva.
Como práctica recomendada, te sugerimos que mantengas los discos de arranque sin estado.
Si mantienes el disco de arranque sin estado, obtendrás los siguientes beneficios:
Para obtener más información, consulta cómo la reparación automática y la actualización controlan el estado preservado.
Configura los discos persistentes con estado para todas las VMs en un MIG
Configura cualquier disco definido en una plantilla de instancias para que tenga estado. Para ello, agrega el nombre de dispositivo del disco a la política con estado del MIG. El MIG trata los discos con ese nombre de dispositivo como “con estado” para todas las instancias de VM existentes y futuras.
Configura los discos con estado en la creación de MIG
Console
gcloud
Si deseas especificar qué discos de una plantilla de instancias deben tener estado durante la creación de un MIG, usa la marca
--stateful-disk
con el comandogcloud compute instance-groups managed create
:gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template INSTANCE_TEMPLATE \ --size SIZE \ --stateful-disk device-name=DEVICE_NAME[,auto-delete=DELETE_RULE]
Reemplaza los siguientes elementos:
Ejemplo
Deseas implementar una base de datos con 12 fragmentos, cada uno con un disco de arranque sin estado que contiene el sistema operativo y los objetos binarios de la base de datos, y cada uno cuenta con un disco de datos con estado. Para ello, sigue estos pasos:
Terraform
Si aún no creaste una plantilla de instancias, en la que se especifica el tipo de máquina, la imagen de disco de arranque, la red y otras propiedades de VM que quieres para cada VM en tu MIG, crea una plantilla de instancias.
En el siguiente ejemplo, se crea un MIG zonal con un disco con estado. Para especificar qué discos de la plantilla de instancias deben tener estado durante la creación de un MIG, incluye el bloque
stateful_disk
. Para obtener más información sobre el recurso usado en la muestra, consulta recursogoogle_compute_instance_group_manager
. Para crear un MIG regional, usa el recursogoogle_compute_region_instance_group_manager
.Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
REST
Si deseas especificar qué discos de la plantilla de instancias deben tener estado en la creación de MIG, inclúyelos en el campo
statefulPolicy
del cuerpo de la solicitud del métodoinstanceGroupManagers.insert
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers { "name": "NAME", "versions": [ { "instanceTemplate": "global/instanceTemplates/TEMPLATE" } ], "targetSize": SIZE, "statefulPolicy": { "preservedState": { "disks": { "DEVICE_NAME": {"autoDelete": "DELETE_RULE" }, "DEVICE_NAME": {"autoDelete": "DELETE_RULE" } } } } }
Reemplaza los siguientes elementos:
Ejemplo
Deseas implementar una base de datos con 12 fragmentos, cada uno con un disco de arranque sin estado que contiene el sistema operativo y los objetos binarios de la base de datos, y cada uno cuenta con un disco de datos con estado. Para ello, sigue estos pasos:
Establece y actualiza la configuración con estado de los discos en un MIG existente
Si ejecutas una aplicación con estado en un MIG sin estado (un MIG sin ninguna configuración con estado), puedes configurar los discos existentes que se definen en la plantilla de instancias para que tengan estado en todas estas instancias del MIG. Esto te permite conservar los discos en las operaciones de recreación, reparación automática y actualización de instancias, y, de forma opcional, en las operaciones de eliminación.
Puedes realizar las siguientes operaciones:
El MIG aplica la configuración actualizada en la política con estado de forma automática y asíncrona a todas las instancias. Las actualizaciones de la configuración de los discos en una política con estado no interrumpen las VM en ejecución. Para obtener más información, consulta Aplica actualizaciones de políticas con estado.
Para un MIG regional, debes inhabilitar la redistribución proactiva de instancias entre de zonas antes de configurar los discos con estado. Para obtener más información, consulta cómo los grupos regionales manejan el estado conservado.
Console
gcloud
Si deseas especificar qué discos de la plantilla de instancias deben tener estado o actualizar la configuración de discos con estado de un MIG existente, usa una o varias marcas
--stateful-disk
con el comandogcloud compute instance-groups managed update
:gcloud compute instance-groups managed update NAME \ --stateful-disk device-name=DEVICE_NAME[,auto-delete=DELETE_RULE]
Reemplaza los siguientes elementos:
Si un nombre de dispositivo especificado ya está configurado en la política con estado, el comando actualiza la configuración.
Ejemplo
Ejecutas una base de datos con varios fragmentos en un MIG llamado
example-database- group
. Cada VM en el MIG almacena un fragmento en un disco adicional con el nombre de dispositivodata-disk
, que se define mediante la plantilla de instancias. El MIG no tiene una configuración con estado y quieres conservar los discos de datos en la recreación, la reparación automática y las actualizaciones de instancias. También quieres proteger los discos de datos contra la eliminación cuando se borra una VM.REST
Si deseas especificar qué discos de la plantilla de instancias deben tener estado o para actualizar la configuración del disco con estado para un MIG existente, configura los discos en la política con estado del MIG mediante el método
instanceGroupManagers.patch
:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers/NAME { "statefulPolicy": { "preservedState": { "disks": { "DEVICE_NAME": {"autoDelete": "DELETE_RULE" }, "DEVICE_NAME": {"autoDelete": "DELETE_RULE" } } } } }
Reemplaza los siguientes elementos:
Si el nombre del dispositivo especificado ya está configurado en la política con estado, el método
patch
actualiza su configuración.Ejemplo
Ejecutas una base de datos con varios fragmentos en un MIG llamado
example-database- group
. Cada VM en el MIG almacena un fragmento en un disco adicional con el nombre de dispositivodata-disk
, que se define mediante la plantilla de instancias. El MIG no tiene una configuración con estado y quieres conservar los discos de datos en la recreación, la reparación automática y las actualizaciones de instancias. También quieres proteger los discos de datos contra la eliminación cuando se borra una VM.Declara como sin estado a los discos persistentes que tenían estado
Es posible que debas configurar un disco con estado para que se considere como sin estado. Por ejemplo:
Para declarar todos los discos con un nombre de dispositivo determinado como sin estado, quita la configuración del disco de la política con estado.
El MIG aplica el cambio a la política con estado de forma automática y asíncrona a todas las instancias. Las actualizaciones de la configuración del disco en una política con estado no interrumpen las instancias de VM en ejecución.
Para obtener más información, consulta Aplica actualizaciones de políticas con estado.
Console
gcloud
Si deseas especificar qué discos de la política con estado de un MIG quieres que dejen de tener estado, usa la marca
--remove-stateful-disks
con el comandogcloud compute instance-groups managed update
:gcloud compute instance-groups managed update NAME \ --remove-stateful-disks DEVICE_NAME[,DEVICE_NAME,...]
Reemplaza los siguientes elementos:
Ejemplo
Ejecutas una aplicación heredada con varios nodos en un MIG llamado
example-legacy-group
. Cada VM en el MIG almacena los datos de la aplicación en un disco de arranque con nombre de dispositivoboot-disk
, que configuraste como con estado en la política con estado del MIG. Moviste los datos de la aplicación a un disco adicional y ahora deseas que el disco de arranque no tenga estado para facilitar la actualización a imágenes nuevas.Para quitar la configuración con estado del disco de arranque, actualiza el grupo de instancias administrado:
gcloud compute instance-groups managed update example-legacy-group \ --remove-stateful-disks boot-disk
El MIG quita la configuración con estado del nombre de dispositivo
boot-disk
de forma automática y asíncrona para los discos de arranque de todas las instancias en el grupo. Los discos de arranque permanecen conectados a las instancias, pero ya no tienen estado. Cuando vuelves a crear o actualizas las instancias o cuando las instancias se reparan de manera automática, el MIG recrea los discos de arranque de la imagen que se especifica en la plantilla de instancias.REST
Si deseas especificar qué discos de la política con estado de un MIG quieres que dejen de tener estado, quita la configuración de cada disco de la política con estado del MIG mediante el método
instanceGroupManagers.patch
:PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instanceGroupManagers/NAME { "statefulPolicy": { "preservedState": { "disks": { "DEVICE_NAME": null, ... } } } }
Reemplaza los siguientes elementos:
Ejemplo
Ejecutas una aplicación heredada con varios nodos en un MIG llamado
example-legacy-group
. Cada VM en el MIG almacena los datos de la aplicación en un disco de arranque con el nombre de dispositivoboot-disk
que configuraste como con estado en la política con estado del MIG. Moviste los datos de la aplicación a un disco adicional y ahora deseas que el disco de arranque no tenga estado para facilitar la actualización a imágenes nuevas.Para quitar la configuración con estado del disco de arranque, aplica un parche al grupo de instancias administrado:
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-legacy-group { "statefulPolicy": { "preservedState": { "disks": { "boot-disk": null } } } }
El MIG quita la configuración con estado del nombre de dispositivo
boot-disk
de forma automática y asíncrona para los discos de arranque de todas las instancias en el grupo. Los discos de arranque permanecen conectados a las instancias, pero ya no tienen estado. Cuando vuelves a crear o actualizas las instancias o cuando las instancias se reparan de manera automática, el MIG recrea los discos de arranque de la imagen que se especifica en la plantilla de instancias.Quita los discos persistentes con estado de un MIG
Es posible que debas quitar por completo un disco con estado de las instancias en un MIG, por ejemplo, si volviste a diseñar la aplicación y quitaste el estado de ese disco.
Los MIG no permiten quitar discos con estado, por lo que debes seguir estos pasos:
Configura los discos persistentes con estado de forma individual para una VM en un MIG
Configura los discos persistentes con estado para una VM específica de un MIG. Para ello, agrega el nombre del dispositivo del disco a la configuración por instancia de esa VM. Actualiza la VM para aplicar la configuración por instancia y hacerla efectiva.
La configuración de discos persistentes con estado de forma individual para VM específicas es útil si necesitas realizar las siguientes acciones:
Agrega discos con estado existentes a VM nuevas en un MIG
Puedes agregar discos con estado existentes a instancias nuevas que creas de forma manual en un MIG. Esto es útil para migrar una aplicación con estado de las VMs independientes existentes a un MIG con estado, por ejemplo:
Agrega discos con estado existentes cuando creas instancias específicas de forma manual en un MIG mediante gcloud CLI o REST. El MIG aplica de inmediato la configuración durante la creación de la VM.
gcloud
Para crear una VM con un nombre personalizado y conectar uno o más discos con estado existentes a esa VM, usa el comando
gcloud compute instance-groups managed create-instance
con una o varias marcas--stateful-disk
.gcloud compute instance-groups managed create-instance NAME \ --instance VM_NAME \ [--zone ZONE | --region REGION] \ --stateful-disk device-name=DEVICE_NAME,source=DISK[,mode=MODE][,auto-delete=DELETE_RULE]
Reemplaza los siguientes elementos:
Ejemplo
Deseas tener una reparación automática para un servidor de base de datos que en la actualidad se ejecuta en una VM independiente llamada
db-instance
y que almacena datos en un disco llamadodb-data-disk-1
.Creas un MIG con estado con reparación automática y una VM similar dentro del MIG y, luego, conectas el disco de datos existente
db-data-disk-1
a la instancia nueva como un disco con estado:REST
Si deseas crear una o varias instancias en un MIG, establece los nombres de VM personalizados y conecta uno o varios discos con estado a estas instancias mediante el método
instanceGroupManagers.createInstances
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/createInstances { "instances": [ { "name": "VM_NAME", "preservedState" : { "disks": { "DEVICE_NAME" : { "source": "DISK", "mode": "MODE", "autoDelete": "DELETE_RULE" }, ... } } }, ... ] }
Reemplaza lo siguiente:
Ejemplo
Deseas tener una reparación automática para un servidor de base de datos que en la actualidad se ejecuta en una VM independiente llamada
db-instance
y que almacena datos en un disco llamadodb-data-disk-1
.Creas un MIG con estado con reparación automática y una instancia similar dentro del MIG y, luego, conectas el disco de datos existente
db-data-disk-1
a la VM nueva como un disco con estado:Agrega, declara y reemplaza discos con estado de forma individual para las VM de un MIG
Si deseas configurar los discos con estado de manera individual para una instancia administrada, agrega o actualiza una configuración de disco con estado en la configuración asociada por instancia. Luego, actualiza la instancia para aplicar la configuración por instancia a la VM.
La configuración individual de discos con estado es útil para las siguientes tareas:
Agrega un disco con estado desde fuera de un MIG a una VM de ese MIG. Si deseas conectar cualquier disco desde fuera de un MIG a una instancia administrada, agrega una configuración con estado para el disco a la configuración por instancia asociada. Después de aplicar la configuración, el MIG conecta de forma automática el disco a la instancia y lo trata como con estado.
Declara un disco que no tenía estado como con estado. Puedes declarar un disco que no tenía estado, que en la actualidad esté conectado a una VM, como uno con estado si agregas la configuración con estado para este disco, incluido su nombre de dispositivo y el URI, a la configuración por instancia asociada. Después de aplicar la configuración, el MIG comienza a conservar el disco como con estado.
Reemplaza un disco con estado por un disco diferente. Reemplaza un disco con estado por otro puede ser útil, por ejemplo, si necesitas acceder a una copia de seguridad recuperada. Puedes cambiar un disco con estado por otro si actualizas el URI del disco y mantienes el mismo nombre de dispositivo en la configuración por instancia. Después de aplicar la configuración por instancia actualizada, el MIG desconecta el disco anterior y conecta el nuevo con el mismo nombre de dispositivo. Cuando apliques la actualización, elige si quieres mantener la instancia en ejecución, reiniciarla o volver a crearla. El intercambio de un disco de arranque requiere al menos un reinicio de VM.
gcloud
Si deseas configurar los discos con estado de forma individual para una VM en un MIG, agrega o actualiza la configuración de disco con estado en la configuración asociada por instancia. Luego, actualiza la instancia para aplicar la configuración.
Si una configuración por instancia aún no existe para la instancia, usa el comando
gcloud compute instance-groups managed instance-configs create
con una o varias marcas--stateful-disk
:gcloud compute instance-groups managed instance-configs create NAME \ --instance VM_NAME \ --stateful-disk device-name=DEVICE_NAME[,source=DISK][,mode=MODE][,auto-delete=DELETE_RULE] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Si ya existe una configuración por instancia para la instancia, usa el comando
gcloud compute instance-groups managed instance-configs update
con una o varias marcas--stateful-disk
.La marca
--update-instance
(predeterminada) aplica los cambios a la instancia de inmediato. Si usas--no-update-instance
, los cambios permanecerán sin aplicar y se aplicarán la próxima vez que vuelvas a crear o actualizar la instancia.gcloud compute instance-groups managed instance-configs update NAME \ --instance VM_NAME \ --stateful-disk device-name=DEVICE_NAME[,source=DISK][,mode=MODE][,auto-delete=DELETE_RULE] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Reemplaza lo siguiente:
Ejemplo
Los datos de un disco
data-disk-1
con estado y conectado están dañados y quieres restaurarlos desde la copia de seguridad más reciente. Creaste un disco,data-disk-2
, a partir de una instantánea para reemplazar el disco dañado en la instancia,db-instance-1
, administrado por un MIG con estado,example-database-mig
. El disco originaldata-disk-1
se conecta con el nombre del dispositivodata-disk
con una regla de eliminación automática para no borrar nunca el disco.Para reemplazar
data-disk-1
pordata-disk-2
, ejecuta el siguiente comando:gcloud compute instance-groups managed instance-configs update example-database-mig \ --instance db-instance-1 \ --stateful-disk device-name=data-disk,source=projects/example-project/zones/us-east1-c/disks/data-disk-2 \ --update-instance \ --instance-update-minimal-action restart
El comando realiza lo siguiente:
Terraform
Para configurar los discos con estado de forma individual en una VM de un MIG, agrega la configuración de disco con estado en la configuración por instancia asociada. Luego, actualiza la instancia para aplicar la configuración.
Para agregar la configuración por instancia a una VM, usa el recurso
google_compute_per_instance_config
y, luego, incluye el bloquepreserved_state
como se muestra en el siguiente ejemplo.Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.
REST
Si deseas configurar los discos con estado de forma individual para las VMs de un MIG, agrega o actualiza la configuración de disco con estado en la configuración por instancia asociada. Luego, actualiza las instancias para aplicar la configuración.
Si aún no existe una configuración por instancia para las VMs determinadas, usa el método
instanceGroupManagers.updatePerInstanceConfigs
oregionInstanceGroupManagers.updatePerInstanceConfigs
con configuración con estado para uno o varios discos:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/updatePerInstanceConfigs { "perInstanceConfigs": [ { "name": "VM_NAME", "preservedState" : { "disks": { "DEVICE_NAME" : { "source": "DISK", "mode": "MODE", "autoDelete": "DELETE_RULE" }, ... } }, "fingerprint: "FINGERPRINT" }, ... ] }
Si ya existe una configuración por instancia para las VM determinadas, usa el método
instanceGroupManagers.patchPerInstanceConfigs
oregionInstanceGroupManagers.patchPerInstanceConfigs
con configuración con estado para uno o varios discos:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "VM_NAME", "preservedState" : { "disks": { "DEVICE_NAME" : { "source": "DISK", "mode": "MODE", "autoDelete": "DELETE_RULE" }, ... } }, "fingerprint: "FINGERPRINT" }, ... ] }
Reemplaza lo siguiente:
Los métodos
updatePerInstanceConfigs
ypatchPerInstanceConfigs
actualizan la configuración especificada por instancia, pero no aplican las actualizaciones de configuración a las VM administradas asociadas. Los cambios se aplican a una instancia cuando se le indica al MIG que vuelva a crear la instancia o que la actualice. También puedes actualizar la instancia de forma selectiva para aplicar los cambios.Ejemplo
Los datos de un disco
data-disk-1
con estado y conectado están dañados y quieres restaurarlos desde la copia de seguridad más reciente. Creaste un disco,data-disk-2
, a partir de una instantánea para reemplazar el disco dañado en la instancia,db-instance-1
, administrado por un MIG con estado,example-database-mig
. El disco originaldata-disk-1
se conecta con el nombre del dispositivodata-disk
con una regla de eliminación automática para no borrar nunca el disco.Si deseas actualizar la configuración por instancia de
db-instance-1
con el disco nuevo, llama al métodopatchPerInstanceConfigs
:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-database-mig/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "db-instance-1", "preservedState" : { "disks": { "data-disk" : { "source": "projects/example-project/zones/us-east1-c/disks/data-disk-2" } } } } ] }
El método aplica parches a la configuración por instancia de
db-instance-1
:La actualización de la configuración aún no se aplicó a la VM
db-instance-1
. El MIG aplica la actualización de configuración cuando vuelves a crear o actualizar la instancia.Si deseas aplicar la actualización de configuración por instancia a la VM
db-instance-1
, llama al métodoinstanceGroupManagers.applyUpdatesToInstances
de la instancia:POST https://compute.googleapis.com/compute/v1/projects/example-project/zones/us-east1-c/instanceGroupManagers/example-database-mig/applyUpdatesToInstances { "instances": ["/zones/us-east1-c/instances/db-instance-1"], "minimalAction": "RESTART" }
El método actualiza el estado conservado de la instancia administrada, desconecta
data-disk-1
y se conectadata-disk-2
bajo el mismo nombre de dispositivodata-disk
. Debido a queminimalAction
está configurado comoRESTART
, el método reinicia la VMdb-instance-1
, lo que permite que la aplicación de base de datos comience a usar el disco nuevo.Desconecta un disco con estado o decláralo sin estado para una VM individual
Es posible que debas desconectar o configurar un disco con estado para que se lo considere como sin estado en una VM individual. Por ejemplo:
Si deseas desconectar un disco con estado o hacer que no tenga estado para una VM individual, quita la configuración con estado del disco de la configuración por instancia asociada o borra toda la configuración por instancia. Cuando apliques el cambio, ocurrirá lo siguiente:
Si quitas una configuración de disco de una configuración por instancia, no se reinicia una instancia de VM en ejecución, a menos que decidas hacerlo de forma explícita.
Para obtener más información, consulta Aplica actualizaciones de configuraciones por instancia.
gcloud
Para desconectar discos con estado o declararlos sin estado de forma individual para una VM en un MIG, quita la configuración del disco con estado de la configuración por instancia asociada o borra toda la configuración por instancia si no contiene ningún otro estado. Actualiza la instancia para aplicar la configuración.
Para quitar una configuración de disco con estado de la configuración por instancia asociada, usa el comando
gcloud compute instance-groups managed instance-configs update
con la marca--remove-stateful-disks
. La marca--update-instance
(predeterminada) aplica los cambios a la instancia de inmediato. Si usas--no-update-instance
, los cambios permanecerán sin aplicar y se aplicarán la próxima vez que vuelvas a crear o actualizar la instancia.gcloud compute instance-groups managed instance-configs update NAME \ --instance VM_NAME \ --remove-stateful-disks DEVICE_NAME[,DEVICE_NAME,...] \ [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Reemplaza lo siguiente:
Ejemplo
Ejecutas una aplicación heredada en un MIG llamado
example-legacy-group
. Cada VM en el MIG almacena los datos de la aplicación en un disco de arranque con el nombre del dispositivoboot-disk
. Mediante la configuración por instancia, configuraste cada disco de arranque para que tenga estado. Ahora moviste los datos de la aplicación a un disco adicional y quieres que el disco de arranque no tenga estado para cada VM a fin de facilitar la actualización a imágenes nuevas.Para cada instancia, por ejemplo,
node-1
, ejecuta el siguiente comando:gcloud compute instance-groups managed instance-configs update example-legacy-group \ --instance node-1 \ --remove-stateful-disks boot-disk \ --update-instance
El comando realiza lo siguiente:
REST
Para desconectar discos con estado o declararlos sin estado de forma individual para una VM en un MIG, quita la configuración del disco con estado de la configuración por instancia asociada o borra toda la configuración por instancia si no contiene ningún otro estado. Luego, actualiza la instancia para aplicar la configuración.
Para quitar la configuración de un disco con estado de la configuración por instancia asociada, usa el método
instanceGroupManagers.patchPerInstanceConfigs
oregionInstanceGroupManagers.patchPerInstanceConfigs
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/NAME/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "VM_NAME", "preservedState" : { "disks": { "DEVICE_NAME" : null }, ... }, "fingerprint: "FINGERPRINT" ... } ] }
Reemplaza lo siguiente:
El método
patchPerInstanceConfigs
aplica parches a la configuración por instancia especificada, pero no aplica los cambios a las VM asociadas. Los cambios se aplican a una VM cuando actualizas o vuelves a crear la instancia. Puedes aplicar los cambios de forma manual o usar actualizaciones progresivas automáticas.Ejemplo
Ejecutas una aplicación heredada en un MIG llamado
example-legacy-group
. Cada VM en el MIG almacena los datos de la aplicación en un disco de arranque con el nombre del dispositivoboot-disk
. Configuraste el disco de arranque como con estado en la configuración por instancia del MIG cuando migraste las VMs independientes al MIG. Moviste los datos de la aplicación a un disco adicional y ahora deseas que el disco de arranque no tenga estado en cada VM para facilitar la actualización a imágenes nuevas.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?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-11-21 (UTC)
-