Actualizaciones de clústeres de Autopilot


En esta página, se explica cómo funcionan las actualizaciones automáticas en los clústeres de Autopilot de Google Kubernetes Engine (GKE), incluidos los vínculos a 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. Google inicia actualizaciones automáticas, observa las actualizaciones automáticas 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. Los clústeres creados en el modo Autopilot son clústeres regionales. 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

Tu clúster de Autopilot y sus grupos de nodos ejecutan la misma versión de GKE. En esta sección, se explica qué sucederá cuando Google actualice tu grupo de nodos de forma automática.

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.

Este proceso puede tardar varias horas según la cantidad de nodos y sus configuraciones de carga de trabajo. Las opciones de configuración que pueden disminuir la velocidad de las actualizaciones de nodos incluyen las siguientes:

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. Debido a que las actualizaciones de aumento están habilitadas de forma predeterminada, GKE crea un nodo de aumento nuevo con la versión actualizada y espera a que el nodo se registre con el plano de control.
  2. GKE selecciona un nodo existente (que denominaremos “nodo de destino”) para actualizarlo. GKE acordona y comienza a desviar el tráfico del nodo de destino. En este punto, GKE no puede programar nuevos pods en el nodo de destino.
  3. Los pods en el nodo de destino se reprograman en otros nodos. Si un pod no se puede reprogramar, ese pod permanece como PENDING hasta que se pueda reprogramar.
  4. Se borra el nodo de destino.
  5. 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 de Autopilot, la actualización automática se habilita en el clúster y en sus grupos de nodos de forma predeterminada. Google actualiza tus clústeres cuando una versión nueva de GKE se selecciona para la actualización automática.

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.

Como tu clúster de Autopilot se inscribe automáticamente en un canal de versiones, los nodos siempre ejecutan la misma versión de GKE que el clúster, excepto durante un breve período mientras se completa la actualización del plano de control del clúster y el comienzo de la actualización de un grupo de nodos determinado.

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. 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.

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 de aumento

Las actualizaciones de aumento controlan la cantidad de nodos que GKE puede actualizar a la vez y controlan cuánta interrupción generan las actualizaciones en las cargas de trabajo. Los clústeres de Autopilot se configuran automáticamente para usar actualizaciones de aumento y no se pueden anular.

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. La configuración predeterminada es 1.
max-unavailable-upgrade

La cantidad de nodos que pueden no estar disponibles de forma simultánea durante una actualización. La configuración predeterminada es 0.

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

La actualización de aumento predeterminada se establece en maxSurge=1 maxUnavailable=0., lo que significa que solo se puede agregar 1 nodo de aumento al grupo de nodos durante una actualización, por lo que solo se actualizará 1 nodo a la vez.

Relación con la cuota

Si bien la recreación de nodos no requiere recursos adicionales de Compute Engine, los nodos de actualizaciones de aumento sí los necesitan. La asignación de recursos está sujeta a la Cuota de Compute Engine. Según la configuración que uses, esta cuota puede limitar la cantidad de actualizaciones paralelas o incluso hacer que la actualización falle.

Si deseas obtener más información sobre la cuota, consulta Actualizaciones y cuotas de los nodos.

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 la sección sobre cómo recibir notificaciones de actualización del clúster.

¿Qué sigue?