Actualizaciones de clústeres

En esta página, se explica cómo funcionan las actualizaciones automáticas y manuales en los clústeres de GKE. También se incluyen vínculos con más información sobre opciones de configuración y tareas relacionadas. Puedes usar esta información a fin de mantener tus clústeres actualizados para lograr una mayor estabilidad y seguridad con interrupciones mínimas en tus cargas de trabajo.

Cómo funcionan las actualizaciones de clúster y grupo de nodos

En esta sección, se explica qué sucede en tu clúster durante las actualizaciones automáticas o manuales. En el caso de las actualizaciones automáticas, Google inicia la actualización automática. Google supervisa las actualizaciones automáticas y manuales en todos los clústeres de GKE y solo interviene si se encuentran problemas.

El clúster se actualiza antes que sus nodos.

Actualizaciones de clústeres

En esta sección, se explica qué sucederá cuando Google actualice tu clúster de forma automática o inicies una actualización manual.

  • Los clústeres zonales y multizonales tienen un solo plano de control (instancia principal). Durante la actualización, tus cargas de trabajo continúan ejecutándose, pero no puedes implementar cargas de trabajo nuevas, modificar cargas de trabajo existentes ni realizar otros cambios en la configuración del clúster hasta que se complete la actualización.

  • Los clústeres regionales tienen varias réplicas del plano de control, y solo se actualiza una réplica a la vez, en orden aleatorio. Durante la actualización, el clúster sigue teniendo alta disponibilidad, y las réplicas del plano de control no están disponibles solo mientras se están actualizando.

Si configuras una exclusión o un período de mantenimiento, se respetará cuando sea posible.

Actualizaciones de grupo de nodos

El clúster y los grupos de nodos no siempre ejecutan la misma versión de GKE. En esta sección, se analiza qué sucede cuando Google actualiza tu grupo de nodos de forma automática o cuando inicias una actualización manual del grupo de nodos.

Los grupos de nodos se actualizan de a uno. Dentro de un grupo de nodos, los nodos se actualizan de a uno, en orden aleatorio. Puedes cambiar la cantidad de nodos que se actualizan a la vez.

Si configuras una exclusión o un período de mantenimiento, se respetará cuando sea posible.

Cuando se actualiza un nodo, sucede lo siguiente:

  1. Si están habilitadas las actualizaciones de aumento, GKE crea uno o más nodos a los que se transferirán las cargas de trabajo. Luego, GKE seleccionará uno o más nodos para actualizar.
  2. Los nodos están acordonados y desviados. Ya no se pueden programar para ejecutar pods nuevos.
  3. Los pods del nodo se reprograman para otros nodos. Si no se puede reprogramar un pod, ese pod permanecerá en el estado PENDING hasta que se vuelva a crear el nodo.
  4. El nodo se borra y, luego, se vuelve a crear en la versión nueva.
  5. Si el nodo nuevo no se registra en buen estado, se inhabilita la actualización automática de todo el grupo de nodos.
  6. Si una cantidad significativa de actualizaciones automáticas de nodos a una versión determinada da como resultado nodos en mal estado en toda la flota de GKE, las actualizaciones a esa versión se suspenden mientras se investiga el problema.

Actualizaciones automáticas

Cuando creas un clúster con Google Cloud Console, la actualización automática está habilitada en el clúster y en sus grupos de nodos de forma predeterminada, y Google actualiza los clústeres cuando se selecciona para la actualización automática una versión nueva de GKE.

Cuando creas un clúster con el comando de gcloud o la API de GKE, la actualización automática de nodos está habilitada de forma predeterminada por el momento. Para inhabilitarla de forma manual, consulta Cómo actualizar automáticamente los nodos.

Si quieres supervisar cuándo puede ocurrir una actualización automática (o cuándo no debe ocurrir), puedes configurar las exclusiones y los períodos de mantenimiento.

Los grupos de nodos de un clúster no pueden tener más de dos versiones secundarias anteriores a la versión del plano de control para mantener la compatibilidad con la API del clúster. La versión del grupo de nodos también determina las versiones de los paquetes de software que se instalan en cada nodo. Se recomienda mantener los grupos de nodos actualizados a la versión del clúster.

Si inscribes tu clúster en un canal de versiones, los nodos siempre ejecutan la misma versión de GKE que el clúster mismo, excepto durante un breve período entre que se completa la actualización del plano de control del clúster y se comienza a actualizar cierto grupo de nodos.

Cómo se seleccionan las versiones para la actualización automática

Las nuevas versiones de GKE se lanzan con regularidad, pero no se selecciona una versión para la actualización automática de inmediato. Cuando una versión de GKE ya acumuló suficiente uso del clúster para demostrar la estabilidad en el tiempo, Google la selecciona como la actualización automática que se asignará a clústeres que ejecutan un subconjunto de versiones anteriores.

Estas asignaciones de actualización automática nuevas se anuncian en las notas de la versión. Hasta que se seleccione una versión disponible para la actualización automática, puedes actualizarla de forma manual. A veces, se selecciona una versión para la actualización automática de clústeres y la actualización automática de nodos en diferentes semanas.

Por lo general, poco tiempo después de que una versión secundaria cuente con disponibilidad general, la versión secundaria disponible más antigua deja de ser compatible. Los clústeres que ejecutan versiones secundarias que dejan de ser compatibles se actualizan de forma automática a la siguiente versión secundaria.

En una versión secundaria (como v1.14.x), los clústeres pueden actualizarse a una versión de parche nueva de forma automática.

Los canales de versiones te permiten supervisar la versión de tu grupo de nodos y clúster en función de la estabilidad de la versión en vez de administrarla directamente.

Configura cuándo ocurren las actualizaciones automáticas

De forma predeterminada, las actualizaciones automáticas pueden ocurrir en cualquier momento. Las actualizaciones automáticas ocasionan muy pocas molestias, en especial en los clústeres regionales. Sin embargo, algunas cargas de trabajo pueden requerir una supervisión más detallada. Puedes configurar las exclusiones y los períodos de mantenimiento para que administren cuándo pueden ocurrir las actualizaciones automáticas y cuándo no.

Actualizaciones manuales

Puedes solicitar actualizar tu clúster o sus grupos de nodos de forma manual a una versión disponible y compatible en cualquier momento. Las actualizaciones manuales omiten los períodos de mantenimiento configurados y las exclusiones de mantenimiento.

Cuando actualizas un clúster de forma manual, su disponibilidad depende de si el clúster es regional o no:

  • Para clústeres zonales y multizonales, el plano de control no está disponible mientras se realiza la actualización. Por lo general, las cargas de trabajo se ejecutan con normalidad, pero no pueden modificarse durante la actualización.

  • Para los clústeres regionales, no hay una réplica del plano de control disponible mientras se realiza la actualización, pero el clúster permanece con alta disponibilidad.

Puedes iniciar una actualización de nodo de forma manual a una versión compatible con el plano de control.

Cambia la configuración de actualizaciones para equilibrar la velocidad y la interrupción

Para cambiar la cantidad de nodos que GKE intenta actualizar, solo debes modificar los parámetros de actualización de aumento en un grupo de nodos. Las actualizaciones de aumento reducen la cantidad de interrupciones a tus cargas de trabajo durante el mantenimiento del clúster y, también, te permiten controlar la cantidad de nodos que se actualizan en paralelo. Las actualizaciones de aumento también funcionan con el escalador automático del clúster para evitar que se realicen cambios en los nodos que se están actualizando.

El comportamiento de la actualización de aumento se determina mediante dos parámetros de configuración:

max-surge-upgrade

La cantidad de nodos adicionales que se pueden agregar al grupo de nodos durante la actualización. Si aumentas max-surge-upgrade, también aumenta la cantidad de nodos que se pueden actualizar de forma simultánea. El valor predeterminado es 1. Se puede establecer en 0 o más.

max-unavailable-upgrade

La cantidad de nodos que pueden no estar disponibles de forma simultánea durante una actualización. El valor predeterminado es 0. Si aumentas max-unavailable-upgrade, también aumenta la cantidad de nodos que se pueden actualizar en paralelo.

La cantidad de nodos actualizados de forma simultánea es la suma de max-surge-upgrade y max-unavailable-upgrade. La cantidad máxima de nodos actualizados de forma simultánea es 20.

Por ejemplo, se crea un grupo de 5 nodos con max-surge-upgrade establecido en 2 y max-unavailable-upgrade establecido en 1. Durante una actualización del grupo de nodos, GKE crea dos nodos actualizados. GKE desactiva como máximo tres (la suma de max-surge-upgrade y max-unavailable-upgrade) nodos existentes después de que los nodos actualizados estén listos. GKE hará que solo haya un nodo no disponible (max-unavailable-upgrade) a la vez. Durante el proceso de la actualización, el grupo de nodos incluirá entre cuatro y siete nodos.

Puedes configurar parámetros de actualización de aumento para grupos de nodos que usan actualizaciones automáticas y actualizaciones manuales.

Próximos pasos