Como administrador de la plataforma, puedes configurar una estrategia de actualización de nodos para ajustar la forma en que GKE actualiza los nodos en tus clústeres de Google Kubernetes Engine (GKE). Para obtener más información sobre las estrategias de actualización de nodos, consulta las estrategias de actualización de nodos.
Antes de comenzar
Antes de comenzar, asegúrate de haber realizado las siguientes tareas:
- Habilita la API de Google Kubernetes Engine. Habilitar la API de Google Kubernetes Engine
- Si deseas usar Google Cloud CLI para esta tarea, instala y, luego, inicializa gcloud CLI. Si ya instalaste gcloud CLI, ejecuta
gcloud components update
para obtener la versión más reciente.
Configura una estrategia de actualización de nodos
Cuando configuras los grupos de nodos del clúster, puedes seleccionar y configurar una de las estrategias de actualización de nodos compatibles, es decir, aumento o azul-verde. Usar estas estrategias de actualización te permite optimizar el proceso de actualización del grupo de nodos según las necesidades del entorno del clúster.
Configura las actualizaciones de aumento
Las actualizaciones de aumento te permiten cambiar la cantidad de nodos que GKE actualiza a la vez y la cantidad de interrupciones que una actualización genera en tus cargas de trabajo.
Las marcas max-surge-upgrade
y max-unavailable-upgrade
se definen para cada grupo de nodos. Para obtener más información sobre cómo elegir los parámetros adecuados, consulta Optimiza la configuración de la actualización de aumento.
Puedes cambiar esta configuración cuando crees o actualices un clúster o un grupo de nodos.
Las siguientes variables se usan en los comandos que se mencionan a continuación:
CLUSTER_NAME
: el nombre del clúster para el grupo de nodos.COMPUTE_ZONE
: la zona del clúster.NODE_POOL_NAME
: el nombre del grupo de nodosNUMBER_NODES
: la cantidad de nodos del grupo de nodos en cada una de las zonas del clúster.SURGE_NODES
: la cantidad de nodos adicionales (aumento) que se crearán en cada actualización del grupo de nodos.UNAVAILABLE_NODES
: la cantidad de nodos que pueden no estar disponibles simultáneamente en cada actualización del grupo de nodos.
Crea un clúster con diferentes parámetros de aumento
A fin de crear un clúster con una configuración específica para actualizaciones de aumento, usa las marcas max-surge-upgrade
y max-unavailable-upgrade
.
gcloud container clusters create CLUSTER_NAME \ --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES
Crea un clúster con las actualizaciones de aumento inhabilitadas
Para crear un clúster sin actualizaciones de aumento, establece el valor de la marca max-surge-upgrade
en 0
.
gcloud container clusters create CLUSTER_NAME \ --max-surge-upgrade=0 --max-unavailable-upgrade=1
Crea un grupo de nodos con diferentes parámetros de aumento
A fin de crear un grupo de nodos en un clúster existente con una configuración específica para actualizaciones de aumento, usa las marcas max-surge-upgrade
y max-unavailable-upgrade
.
gcloud container node-pools create NODE_POOL_NAME \ --num-nodes=NUMBER_NODES --cluster=CLUSTER_NAME \ --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES
Cambia la configuración de actualización de aumento para un grupo de nodos existente
Para actualizar la configuración de actualización de un grupo de nodos existente, usa las marcas max-surge-upgrade
y max-unavailable-upgrade
. Si estableces max-surge-upgrade
en un valor mayor a 0
, GKE crea nodos de aumento. Si estableces max-surge-upgrade
en 0
, GKE no creará nodos de aumento.
gcloud container node-pools update NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES
Comprueba si las actualizaciones de aumento están habilitadas en un grupo de nodos
A fin de ver si las actualizaciones de aumento están habilitadas en un grupo de nodos, usa gcloud
para describir los parámetros del clúster:
gcloud container node-pools describe NODE_POOL_NAME \ --cluster=CLUSTER_NAME
Si las actualizaciones de aumento están habilitadas en el grupo de nodos, la estrategia que se enumera es SURGE
.
Configura actualizaciones azul-verde
Con las actualizaciones azul-verde de grupos de nodos, puedes controlar lo siguiente:
BATCH_NODE_COUNT
oBATCH_PERCENT
: el tamaño de los lotes de nodos que GKE vacía a la vez, lo que significa que los Pods se quitan de los nodos. El valor predeterminado esBATCH_NODE_COUNT=1
. Si alguna de estas opciones de configuración se establece en 0, GKE omite esta fase y continúa con la fase de grupo de nodos de prueba.BATCH_SOAK_DURATION
: el tiempo entre cada lote de nodos que se vacía.NODE_POOL_SOAK_DURATION
: la cantidad de tiempo de prueba para validar tu carga de trabajo en la configuración de nodo nueva.
Para obtener más información sobre cómo funcionan las fases de las actualizaciones azul-verde, consulta Las fases de las actualizaciones azul-verde.
Las siguientes variables se usan en los comandos que aparecen en las siguientes secciones:
CLUSTER_NAME
: el nombre del clúster para el grupo de nodos.NODE_POOL_NAME
: el nombre del grupo de nodosNUMBER_NODES
: la cantidad de nodos del grupo de nodos en cada una de las zonas del clúster.BATCH_NODE_COUNT
: la cantidad de nodos azules que se vaciarán en un lote durante la fase de vaciado del grupo azul. El valor predeterminado es 1. Si se establece en 0, se omitirá la fase de vaciado del grupo azul.BATCH_PERCENT
: el porcentaje de nodos azules que se vaciarán en un lote durante la fase de vaciado del grupo azul, expresado como un decimal entre 0 y 1, inclusive. GKE se redondea hacia abajo al nodo más cercano, a un valor mínimo de 1 nodo, si el porcentaje no es una cantidad entera de nodos. Si se establece en 0, se omitirá la fase de vaciado del grupo azul.BATCH_SOAK_DURATION
: la duración en segundos de la espera después de vaciar cada lote. El valor predeterminado es 0.NODE_POOL_SOAK_DURATION
: la duración en segundos que se espera después de completar el vaciado de todos los lotes. El valor predeterminado es de 3600 segundos.
Crea un grupo de nodos con una estrategia de actualización azul-verde
Crea un grupo de nodos con parámetros predeterminados de actualización azul-verde
Para crear un grupo de nodos en un clúster existente con la estrategia de actualización azul-verde con los parámetros predeterminados, usa el siguiente comando:
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade
Crea un grupo de nodos con una actualización azul-verde mediante tamaños de lote con recuento absoluto de nodos
Para crear un grupo de nodos con una configuración de actualización personalizada azul-verde, usa las marcas de parámetros con el comando de creación de grupos de nodos.
Con este comando, se crea un grupo de nodos con la siguiente configuración azul-verde personalizada, con un recuento absoluto de nodos para el vaciado por lotes:
BATCH_NODE_COUNT
= 2BATCH_SOAK_DURATION
= 10sNODE_POOL_SOAK_DURATION
= 600s
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
--node-pool-soak-duration=600s
Crea un grupo de nodos con una actualización azul-verde mediante tamaños de lotes basados en porcentajes
Este comando crea un grupo de nodos con la siguiente configuración azul-verde personalizada, con un porcentaje para el vaciado por lotes:
BATCH_PERCENTAGE
= 25% (del tamaño del grupo de nodos)BATCH_SOAK_DURATION
= 10sNODE_POOL_SOAK_DURATION
= 1800s
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
--node-pool-soak-duration=1800s
Actualiza una estrategia existente de actualización azul-verde de un grupo de nodos
Actualiza un grupo de nodos con parámetros predeterminados de actualización azul-verde
Para actualizar un grupo de nodos existente a la estrategia de actualización azul-verde, usa el siguiente comando:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade
Actualiza un grupo de nodos con una actualización azul-verde mediante tamaños de lote con recuento absoluto de nodos
Para actualizar un grupo de nodos existente a la estrategia de actualización azul-verde con una configuración personalizada, usa las marcas de parámetros con el comando de creación del grupo de nodos.
Este comando actualiza un grupo de nodos a fin de usar la siguiente configuración azul-verde personalizada, con un recuento de nodos absoluto para el vaciado por lotes:
BATCH_NODE_COUNT
= 2BATCH_SOAK_DURATION
= 10sNODE_POOL_SOAK_DURATION
= 600s
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
--node-pool-soak-duration=600s
Actualizar un grupo de nodos con una actualización azul-verde mediante tamaños de lotes basados en porcentajes
Este comando crea un grupo de nodos con la siguiente configuración azul-verde personalizada, con un porcentaje para el vaciado por lotes:
BATCH_PERCENTAGE
= 25% (del tamaño del grupo de nodos)BATCH_SOAK_DURATION
= 10sNODE_POOL_SOAK_DURATION
= 1800s
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-blue-green-upgrade \
--standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
--node-pool-soak-duration=1800s
Vuelve a las actualizaciones de aumento
Puedes cambiar el comportamiento de las actualizaciones azul-verde con configuración y controlar el proceso de actualización con comandos.
Sin embargo, si deseas usar actualizaciones de aumento, ejecuta el siguiente comando para volver a las actualizaciones de aumento:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--enable-surge-upgrade
Inspecciona la configuración de actualización de un grupo de nodos
A fin de inspeccionar la configuración de actualización actual de un grupo de nodos, puedes usar el siguiente comando para describirlo:
gcloud container node-pools describe NODE_POOL_NAME \
--cluster=CLUSTER_NAME
El siguiente fragmento es un resultado de ejemplo del comando. El campo strategy
indica la estrategia de actualización en uso: SURGE indica que la estrategia de actualización de aumento está habilitada, y BLUE_GREEN indica que la estrategia de actualización azul-verde está habilitada.
upgradeSettings:
blueGreenSettings:
nodePoolSoakDuration: 1800s
standardRolloutPolicy:
batchNodeCount: 1
batchSoakDuration: 10s
strategy: BLUE_GREEN
Este comando también te muestra la fase actual de una actualización azul-verde en progreso. Obtén más información sobre cómo verificar la configuración de actualización de un grupo de nodos.
¿Qué sigue?
- Obtén más información sobre las estrategias de actualización de nodos.
- Obtén más información sobre cómo actualizar tus grupos de nodos de forma manual.