Cómo actualizar automáticamente los nodos

En esta página se muestra cómo configurar las actualizaciones automáticas de nodo en Google Kubernetes Engine.

Descripción general

Las actualizaciones automáticas de nodos te ayudarán a mantener los nodos de tu clúster actualizados a la versión más reciente del plano de control (principal) del clúster cuando se actualiza el plano de control por ti. Cuando creas un clúster o un grupo de nodos nuevo con Google Cloud Console o el comando de gcloud, se habilita la actualización automática de nodos de forma predeterminada.

Para obtener más información sobre las actualizaciones de clústeres y nodos, consulta la página Actualiza un clúster.

Las actualizaciones automáticas de nodo proporcionan varios beneficios:

  • Reducción de la sobrecarga de administración: No tienes que realizar un seguimiento y actualizar los nodos de forma manual cuando el plano de control se actualiza en tu nombre.
  • Mejor seguridad: En ocasiones, se lanzan objetos binarios nuevos para corregir problemas de seguridad. Con las actualizaciones automáticas, GKE asegura automáticamente que las actualizaciones de seguridad se apliquen y permanezcan siempre al día.
  • Facilidad de uso: Proporciona una manera simple de mantener actualizados los nodos con las funciones más recientes de Kubernetes.

Los grupos de nodos con actualizaciones automáticas habilitadas se programan para actualizaciones cuando cumplen los criterios de selección (que figuran en las notas de la versión). Los lanzamientos se realizan en etapas durante varias semanas para garantizar la estabilidad del clúster y de la flota. Cuando se realiza la actualización, los nodos se desvían y se vuelven a crear para que coincidan con la versión actual del plano de control. Las modificaciones en el disco de arranque de la VM de un nodo no se mantienen en las recreaciones de nodos. Para conservar las modificaciones después de volver a crear el nodo, usa un DaemonSet.

La actualización automática de nodos no está disponible para clústeres Alfa. Si usas un clúster con grupos de nodos de Windows Server, consulta Actualiza grupos de nodos de Windows Server antes de habilitar la actualización automática de nodos.

Verifica el estado de la actualización automática para un grupo de nodos existente

Puedes verificar si la actualización automática está habilitada o no para un grupo de nodos mediante Google Cloud Console o el comando de gcloud.

gcloud

Para verificar el estado de la actualización automática de un grupo de nodos, ejecuta el siguiente comando:

gcloud container node-pools describe node-pool-name \
  --cluster cluster-name \
  --zone compute-zone

En el ejemplo anterior, se ilustra lo siguiente:

  • node-pool-name es el nombre del grupo de nodos.
  • cluster-name es el nombre del clúster que contiene el grupo de nodos.
  • compute-zone es la zona del clúster.

Console

Para verificar el estado de la actualización automática de un grupo de nodos, realiza lo siguiente:

  1. Visita el menú de Google Kubernetes Engine en Cloud Console.

    Ir al menú Google Kubernetes Engine

  2. Haz clic en el botón Editar del clúster, que tiene forma de lápiz.

  3. En la sección Grupos de nodos, selecciona el grupo de nodos que deseas examinar.

  4. En la sección Administración, consulta el valor del campo Actualización automática.

Habilita las actualizaciones automáticas de nodo para grupos de nodos existentes

Cuando creas un clúster nuevo con Google Cloud Console o el comando de gcloud, la actualización automática de nodo se habilita de forma predeterminada.

Puedes habilitar la actualización automática de nodo si está inhabilitada en ese momento.

gcloud

Para habilitar las actualizaciones automáticas de un grupo de nodos existente, ejecuta el siguiente comando:

gcloud container node-pools update node-pool-name --cluster cluster-name \
    --zone compute-zone --enable-autoupgrade

En el ejemplo anterior, se ilustra lo siguiente:

  • node-pool-name es el nombre del grupo de nodos.
  • cluster-name es el nombre del clúster que contiene el grupo de nodos.
  • compute-zone es la zona del clúster.

Console

Para habilitar las actualizaciones automáticas de un grupo de nodos existente, realiza los siguientes pasos:

  1. Visita el menú de Google Kubernetes Engine en Cloud Console.

    Ir al menú Google Kubernetes Engine

  2. Haz clic en el botón Editar del clúster, que tiene forma de lápiz.

  3. En la sección Grupos de nodos, haz clic en el nombre del grupo de nodos que deseas modificar y, luego, en Editar.

  4. Selecciona Habilitar actualización automática.

  5. Haz clic en Guardar para modificar el clúster.

Para tener más control sobre cuándo se pueden actualizar los nodos de forma automática, considera configurar los períodos de mantenimiento y las exclusiones.

Cómo inhabilitar las actualizaciones automáticas de nodo para grupos de nodos existentes

Puedes inhabilitar la actualización automática de nodo para un grupo de nodos existente. Si lo haces, eres responsable de garantizar que los nodos del clúster ejecuten una versión compatible con la versión del clúster.

gcloud

Para inhabilitar las actualizaciones automáticas de un grupo de nodos existente, ejecuta el siguiente comando:

gcloud container node-pools update node-pool-name --cluster cluster-name \
    --zone compute-zone --no-enable-autoupgrade

Console

Para inhabilitar las actualizaciones automáticas de un grupo de nodos existente, realiza los siguientes pasos:

  1. Visita el menú de Google Kubernetes Engine en Cloud Console.

    Ir al menú Google Kubernetes Engine

  2. Haz clic en el botón Editar del clúster, que tiene forma de lápiz.

  3. En la sección Grupos de nodos, haz clic en el nombre del grupo de nodos que deseas modificar y, luego, en Editar.

  4. Borra Habilitar actualización automática.

  5. Haz clic en Guardar para modificar el clúster.

Crea un clúster o grupo de nodos con las actualizaciones automáticas de nodos habilitadas

gcloud

A fin de crear un clúster con actualizaciones automáticas habilitadas para el grupo de nodos predeterminado, especifica la marca --enable-autoupgrade en el comando gcloud container clusters create:

gcloud container clusters create cluster-name --zone compute-zone \
    --enable-autoupgrade

Para crear un grupo de nodos con la actualización automática habilitada, usa lo siguiente:

gcloud container node-pools create node-pool-name --cluster cluster-name \
    --zone compute-zone --enable-autoupgrade

Console

Los clústeres y los grupos de nodos creados con Cloud Console tienen las actualizaciones automáticas habilitadas de forma predeterminada. Consulta Crea un clúster o Agrega y administra grupos de nodos a fin de obtener instrucciones para crear clústeres y grupos de nodos.

Puedes inhabilitar las actualizaciones automáticas para los grupos de nodos nuevos. En la página de creación de clústeres, haz clic en el nombre del grupo de nodos que deseas modificar y, luego, borra Habilitar actualización automática.

Cambia los parámetros de actualización 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 Determina la configuración de aumento óptima.

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 es el nombre del clúster para el grupo de nodos.
  • compute-zone es la zona del clúster.
  • node-pool-name es el nombre del grupo de nodos.
  • number-nodes es la cantidad de nodos en el grupo de nodos de cada una de las zonas del clúster.
  • surge-nodes es la cantidad de nodos adicionales (aumento) que se crearán en cada actualización del grupo de nodos.
  • unavailable-nodes es la cantidad de nodos que pueden no estar disponibles al mismo tiempo 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

Activa o desactiva la 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 beta 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

Recibe notificaciones de actualización

GKE publica notificaciones de actualización en Pub/Sub, lo que te brinda un canal para recibir información de GKE sobre tus clústeres.

Para obtener más información, consulta Recibe notificaciones de actualización del clúster.

Próximos pasos