En esta página, se explica cómo puedes configurar las instancias de máquina virtual (VM) en un grupo de instancias administrado (MIG) y los métodos que puedes usar para aplicar la configuración a las existentes VM en el grupo.
Especifica la configuración deseada para las VM en un MIG mediante los siguientes componentes de configuración de VM:
- Obligatorio: Plantilla de instancias
- Opcional: Configuración de todas las instancias
- Opcional: Configuración con estado
Cada vez que actualices la configuración deseada mediante esos componentes, Compute Engine aplica de forma automática la configuración actualizada a las VM nuevas que se agregan al grupo.
Para aplicar una configuración actualizada a las VM existentes, usa los métodos que se describen en esta página:
- Lanzamientos automáticos con un presupuesto de interrupción y actualizaciones canary opcionales de plantillas nuevas
- Actualizaciones manuales selectivas a VM específicas para minimizar las interrupciones
- Recreación de VM específicas
También puedes configurar tu MIG para aplicar la configuración más reciente disponible a las VM durante las reparaciones de VM. Para obtener más información, consulta Aplica actualizaciones de configuración durante las reparaciones.
Si solo necesitas cambiar el tamaño de un MIG, consulta la documentación sobre cómo agregar o quitar VM en un MIG. Si deseas obtener información sobre la configuración de funciones de MIG, consulta los documentos sobre el ajuste de escala automático, la reparación automática y el balanceo de cargas. y cargas de trabajo con estado.
Antes de comenzar
-
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 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:
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.
- Automático (proactivo): Usa este método si deseas que el MIG aplique de forma automática configuraciones nuevas a todas las VM del grupo o a un subconjunto de ellas. El nivel de interrupción en las VMs en ejecución depende de la política de actualización que configures. Puedes usar este método para actualizar versiones canary de plantillas de instancias nuevas. Para usar este método, configura el tipo de actualización del MIG como “proactivo”.
- Selectivo (oportunista): Usa este método si deseas aplicar la actualización de forma manual o si deseas actualizar todas las VM existentes en el grupo a la vez. Apuntas a cualquiera o todas las VM que se actualizarán a la configuración más reciente. Para usar este método, configura el tipo de actualización del MIG como “oportunista”.
- Recreación de VM: Aplica configuraciones nuevas mediante la recreación de VM específicas.
- El lanzamiento de una actualización se realiza automáticamente según tus especificaciones, sin necesidad de una entrada adicional después de la solicitud inicial. Puedes especificar la velocidad de implementación, el nivel de interrupción del servicio y el alcance de la actualización.
- Puedes automatizar lanzamientos parciales, lo que permite realizar pruebas canary.
- Puedes seleccionar las instancias que deseas actualizar.
- Puedes controlar el momento y la secuencia de las actualizaciones.
- Puedes usar la CLI de gcloud o REST para actualizar todas las instancias de inmediato.
Una de las VMs de tu MIG falla y se debe reparar, pero no deseas que cambie su configuración. Si configuras el tipo de actualización del MIG como oportunista y no aplicas actualizaciones durante las reparaciones de forma forzosa, Compute Engine repara la VM con la misma configuración que se usó para crear esa VM, incluso si la plantilla de la instancia original ya no existe.
Tienes un MIG con ajuste de escala automático y deseas aplicar una actualización no crítica sin urgencia. Para asegurarte de que Compute Engine no elimine tus VMs existentes para aplicar la actualización, configura el tipo de actualización del MIG como oportunista. Cuando se reduce la escala, el escalador automático opta por terminar las VM con la configuración anterior. Cuando el grupo se escala horizontalmente, se crean VMs con la configuración más reciente.
En la consola de Google Cloud, ve a la página Grupos de instancias.
Selecciona el MIG que deseas actualizar.
En la parte superior de la página, haz clic en Actualizar VM.
Para establecer una plantilla diferente para el grupo, en Plantilla nueva, selecciona la plantilla de instancias que deseas usar.
En Actualizar configuración, elige la actualización automática o selectiva.
INSTANCE_GROUP_NAME
: Es el nombre del grupoNEW_TEMPLATE
: el nombre de la plantilla nueva para el grupoTYPE
: el tipo de actualización,opportunistic
oproactive
PROJECT_ID
: Es el proyecto en el que existe el MIG.REGION
: Es la región en la que se encuentra el MIG. Si es un MIG zonal, reemplazaregions/REGION
porzones/ZONE
.INSTANCE_GROUP_NAME
: Es el nombre del grupo.NEW_TEMPLATE
: el nombre de la plantilla nueva para el grupo.TYPE
: el tipo de actualización,OPPORTUNISTIC
oPROACTIVE
.- Aplica de forma automática las actualizaciones de configuración de VM en un MIG
- Aplica de forma selectiva las actualizaciones de configuración de VM en un MIG
- VMs en ejecución, suspendidas y detenidas
- VMs con estado
SUSPENDING
oSTOPPING
- Borra las VMs suspendidas y detenidas.
- Crea VMs nuevas con la nueva plantilla de instancia.
- Realiza el proceso de inicialización.
- Suspende o detiene las VMs.
- Reanuda o inicia las VMs.
- Realiza la actualización en las VMs cuando están en ejecución.
- Realiza el proceso de inicialización.
- Suspende o detiene las VMs.
- En el modo de política en espera
manual
, el MIG solo actualiza las VM en ejecución según la cantidad o el porcentaje de VM a las que deseas aplicar la actualización. Las VMs suspendidas y detenidas permanecen en las versiones anteriores. - En el modo de política de espera
scale-out-pool
, no puedes iniciar una actualización canary en el MIG. Estableces ambos campos en el mismo valor.
Esta es una solicitud válida. En este caso, no genera ambigüedad, y la nueva plantilla de instancias se aplica al MIG.
Por ejemplo, en la siguiente solicitud, el campo de nivel superior
instanceTemplate
y el campoversions
especifican la misma plantilla de instancias que es diferente de la plantilla actual existente, por lo que el MIG se actualiza a la nueva plantilla de instancias:{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
Establece ambos campos en valores que no coinciden, pero solo un valor difiere de la plantilla de instancias actual en el MIG.
Esta es una solicitud válida. El campo que es diferente de la configuración actual se toma como el valor deseado. Por ejemplo, debes llamar al método
update()
y suministrar ambos campos, pero solo se actualiza un campo:{ "instanceTemplate": "global/instanceTemplates/CURRENT_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
Establece ambos campos en valores que no coincidan, y ambos valores difieran de la plantilla de instancias actual en el MIG.
Esta configuración no es válida y muestra un error porque no hay un intent claro.
{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", "versions": [ { "instanceTemplate": "global/instanceTemplates/A_DIFFERENT_NEW_TEMPLATE" } ], "updatePolicy": { "type": "PROACTIVE" } }
- Obtén más información sobre cómo lanzar una plantilla de instancias nueva de forma automática en un MIG.
- Obtén más información para actualizar las VM de forma selectiva en un MIG.
- Obtén información sobre tu MIG y sus VMs.
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.
Componentes de configuración para VM en un MIG
Configura las VM en un MIG a través de los siguientes componentes:
Componente Propiedades Caso de uso Plantilla de instancias Tipo de máquina, imagen de disco de arranque, etiquetas, secuencia de comandos de inicio y otras propiedades de VM Obligatorio: Usa una plantilla de instancias para definir las propiedades de instancia obligatorias y opcionales para todas las VM del grupo.
Opcional: Si deseas realizar pruebas canary en una segunda configuración de VM, puedes agregar una segunda plantilla de instancias al grupo y aplicarla a un subconjunto de las VM en el grupo.Configuración de todas las instancias Etiquetas y metadatos Opcional: Usa una configuración de todas las instancias para anular con rapidez las propiedades de la plantilla de instancias para todas las VM del grupo. Configuración con estado Discos, direcciones IP y metadatos con estado Si necesitas admitir una carga de trabajo con estado, agrega una configuración con estado a las VM del grupo (opcional). Si actualizas cualquier configuración del grupo a través de esos componentes, debes aplicar la configuración actualizada a las VMs existentes del grupo para que esta sea efectiva.
Métodos para aplicar una configuración nueva a las VM existentes
Después de actualizar la configuración de VM de un MIG, puedes aplicar la configuración nueva a las VM existentes en el grupo mediante los siguientes métodos:
Para obtener más información sobre cómo configurar el tipo de actualización de un MIG, consulta Configura una actualización proactiva o una oportunista.
Automática (proactiva)
Un tipo de actualización automática también se conoce como un tipo de actualización proactiva. Cuando configuras el tipo de actualización del MIG como proactivo, este aplica de forma automática la configuración actualizada a las VM según sea necesario.
Configurar el tipo de actualización del MIG como ofrece dos ventajas principales:
Para aprender a configurar el tipo de actualización del MIG, consulta Configura una actualización proactiva o una oportunista.
Para obtener más información sobre los lanzamientos automáticos, consulta Aplica de forma automática las actualizaciones de configuración de VM en un MIG.
Selectivo (oportunista)
Un tipo de actualización selectiva también se conoce como un tipo de actualización oportunista. Cuando configuras el tipo de actualización del MIG como oportunista, el MIG aplica las configuraciones nuevas a las VM existentes solo cuando orientas de forma selectiva VM específicas para que se actualicen.
Configurar el tipo de actualización del MIG como oportunista ofrece las siguientes ventajas:
En ciertas situaciones, un tipo de actualización selectiva es útil porque no deseas causar inestabilidad en el sistema si se puede evitar. Por ejemplo, considera lo siguiente:
Para aprender a configurar el tipo de actualización del MIG, consulta Configura una actualización proactiva o una oportunista.
Para obtener más información sobre la actualización selectiva de VM, consulta Aplica de forma selectiva las actualizaciones de configuración de VM en un MIG.
Recreación de VM
Puedes volver a crear cualquier VM en un MIG. Cuando lo haces, el MIG aplica cualquier configuración actualizada que aún no se aplicó a esa VM. Para obtener más información, consulta Vuelve a crear VM en un MIG.
Configura una actualización proactiva o una oportunista
Para aplicar la configuración nueva a las VM existentes de forma automática, configura el tipo de actualización del MIG como “proactivo”. Para aplicar la configuración nueva a las VM existentes solo cuando seleccionas una VM que se actualizará, establece el tipo de actualización del MIG como “oportunista”.
Usa la consola de Google Cloud, Google Cloud CLI o REST.
Console
gcloud
Usa el comando
rolling-action start-update
y establece la marca--type
comoopportunistic
oproactive
.gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \ --version=template=NEW_TEMPLATE \ --type=TYPE
También puedes usar el comando
update
beta y, también, incluir la marca--update-policy-type
.gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \ --update-policy-type=TYPE
Reemplaza lo siguiente:
REST
Llama al método
patch
en un recurso de MIG zonal o regional.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "updatePolicy": { "type": "TYPE" # Choose an opportunistic or proactive update }, "versions": [{ "instanceTemplate": "global/instanceTemplates/NEW_TEMPLATE", }] }
Reemplaza lo siguiente:
Para obtener más información sobre cómo configurar una plantilla nueva y, luego, aplicarla a las VM nuevas y existentes en un MIG, consulta las siguientes páginas:
Verifica el tipo de política de actualización de tu grupo
Puedes ver el tipo de política de actualización actual de tu MIG (“oportunista” o “proactivo”) y otros parámetros de configuración de la política de actualización mediante la CLI de gcloud o REST.
gcloud
Usa el comando
describe
e incluye la marca--format
para enumerar solo la configuraciónupdatePolicy
.gcloud beta compute instance-groups managed describe INSTANCE_GROUP_NAME \ --format="(updatePolicy)"
REST
Realiza una solicitud
GET
en un MIG zonal o regional y verifica el campoupdatePolicy
.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
Para cambiar el tipo de política, consulta Configura una actualización proactiva o una oportunista.
Actualizaciones de VMs suspendidas y detenidas
Si suspendiste y detuviste los grupos de VM en un MIG, puedes actualizar o detener las VM de forma selectiva (oportunista) como las actualización de otras VM en ejecución. Si configuras actualizaciones automáticas (proactivas), el MIG actualiza las VM en el siguiente orden:
Para una actualización automática, el MIG calcula la aumento máxima y la cantidad máxima no disponible según la cantidad objetivo de las VM en ejecución y no lo hace. Considera las VM en el grupo en espera.
Si la actualización automática requiere que se reemplacen las VM del grupo, el MIG hará lo siguiente:
Si la actualización automática solo requiere la actualización o reinicio de las VM en el grupo, el MIG hace lo siguiente:
Actualizaciones canary
Si deseas iniciar actualizaciones canary en un MIG que suspendió o detuvo las VM, se aplica lo siguiente:
Relación entre los campos
versions
yinstanceTemplate
Si usas REST, recomendamos usar los campos
instanceGroupManagers.versions
yregionInstanceGroupManagers.versions
a fin de configurar plantillas de instancia para MIG zonales y regionales.El campo
instanceTemplate
heredado se superpone en la funcionalidad con el campoversions
porque ambos te permiten especificar qué plantilla de instancia usará el MIG para crear instancias. Sin embargo, solo el campoversions
te permite especificar una configuración avanzada de dos plantillas (canary).Para tener retrocompatibilidad, los MIG siguen siendo compatibles con la configuración del campo
instanceTemplate
de nivel superior, aunque recomendamos que uses solo el campoversions
. Usar el campoinstanceTemplate
de nivel superior y el campoversions
al mismo tiempo puede generar ambigüedad y confusión.Si especificas el campo
instanceTemplate
y el campoversions
cuando llamas a los métodosupdate()
opatch()
, existen tres resultados posibles:El campo
versions
, el campoinstanceTemplate
y el métodoget()
Si solo especificas una plantilla de instancias, ya sea a través del campo de nivel superior
instanceTemplate
o mediante el campoversions
o mediante ambos, el métodoget()
muestra ambos campos en su respuesta. Esto hace que el nuevo campoversions
sea retrocompatible. Siempre que especifiques una plantilla de instancias única en cualquiera de estos campos, no hay cambios en lo queget()
muestre en el campoinstanceTemplate
.Si el campo
versions
tiene dos plantillas de instancias especificadas, el métodoget()
muestra un campoinstanceTemplate
vacío de nivel superior. No hay forma de expresar inequívocamente una configuración de plantilla canary de dos instancias en el campoinstanceTemplate
de nivel superior, por lo que el campo no se usa durante una actualización canary.El campo
versions
y el métodosetInstanceTemplate()
Para la retrocompatibilidad, el método
setInstanceTemplate()
se comporta como lo hacía antes, lo que te permite cambiar la plantilla que el MIG usa para crear instancias. Cuando llamas a este método, el campoversions
se anula con la plantilla de instancias especificada por el métodosetInstanceTemplate()
.El método
setInstanceTemplate()
también estableceupdatePolicy
enOPPORTUNISTIC
. Esto evita que el MIG implemente de manera activa una plantilla de instancia que no se especifica de forma explícita en el campoversions
.¿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-12-22 (UTC)
-