|
Este documento ha sido traducido utilizando tecnología de traducción automática. Si bien nos esforzamos por proporcionar traducciones precisas, no ofrecemos garantías sobre la integridad, precisión o confiabilidad del contenido traducido. En caso de discrepancia, la versión original en inglés prevalecerá y constituirá el texto autorizado. |
Actualización y reversión de Kubernetes
Tras una actualización a la última versión de Rancher, los clústeres de Kubernetes en sentido descendente pueden actualizarse para utilizar la última versión compatible de Kubernetes.
Rancher llama a RKE (Rancher Kubernetes Engine) como una librería al aprovisionar y editar clústeres RKE. Para más información sobre cómo configurar la estrategia de actualización para clústeres RKE, consulta la documentación de RKE.
Versiones de Kubernetes probadas
Antes de que se publique una nueva versión de Rancher, se prueba con las últimas versiones menores de Kubernetes para garantizar la compatibilidad. Para detalles sobre qué versiones de Kubernetes se probaron en cada versión de Rancher, consulta los términos de mantenimiento de soporte.
Cómo funcionan las actualizaciones
RKE v1.1.0 cambió la forma en que se actualizan los clústeres.
En esta sección de la documentación de RKE, aprenderás qué sucede cuando editas o actualizas tu clúster de Kubernetes RKE.
Mejor práctica recomendada para actualizaciones
Al actualizar la versión de Kubernetes de un clúster, te recomendamos que:
-
Toma una instantánea.
-
Inicia una actualización de Kubernetes.
-
Si la actualización falla, revierte el clúster a la versión de Kubernetes anterior a la actualización. Esto se logra seleccionando la opción Restaurar la versión de etcd y Kubernetes. Esto devolverá tu clúster a la versión de Kubernetes anterior a la actualización antes de restaurar la instantánea de etcd.
La operación de restauración funcionará en un clúster que no esté en un estado saludable o activo.
Actualizando la versión de Kubernetes
|
Requisitos previos:
|
-
En la esquina superior izquierda, haz clic en ☰ > Gestión de Clústeres.
-
En la página Clústeres, ve al clúster que deseas actualizar y haz clic en ⋮ > Editar Configuración.
-
En el menú desplegable Versión de Kubernetes, elige la versión de Kubernetes que deseas usar para el clúster.
-
Haz clic en Guardar.
Resultado: Kubernetes comienza a actualizarse para el clúster.
Reversión
Un clúster puede ser restaurado a una copia de seguridad en la que se utilizó la versión anterior de Kubernetes. Para obtener más información, consulta las siguientes secciones:
Configurando la estrategia de actualización
A partir de RKE v1.1.0, se han hecho disponibles opciones de actualización adicionales para ofrecer un control más granular sobre el proceso de actualización. Estas opciones pueden utilizarse para mantener la disponibilidad de tus aplicaciones durante una actualización de clúster si se cumplen ciertas condiciones y requisitos.
La estrategia de actualización se puede configurar en la interfaz de usuario de Rancher, o editando el cluster.yml. Opciones más avanzadas están disponibles editando el cluster.yml.
Configurando el Máximo de Nodos de Trabajo No Disponibles en la Interfaz de Usuario de Rancher
Desde la interfaz de usuario de Rancher, se puede configurar el número máximo de nodos de trabajo no disponibles. Durante una actualización de clúster, los nodos de trabajo se actualizarán en lotes de este tamaño.
Por defecto, el número máximo de nodos de trabajo no disponibles se define como el 10 por ciento de todos los nodos de trabajo. Este número se puede configurar como un porcentaje o como un entero. Cuando se define como un porcentaje, el tamaño del lote se redondea hacia abajo al nodo más cercano, con un mínimo de un nodo.
Para cambiar el número o porcentaje predeterminado de nodos de trabajo,
-
En la esquina superior izquierda, haz clic en ☰ > Gestión de Clústeres.
-
En la página Clústeres, ve al clúster que deseas actualizar y haz clic en ⋮ > Editar Configuración.
-
En la pestaña Estrategia de Actualización, introduce el Concurrencia de Trabajadores como un número fijo o porcentaje. Para obtener este número, puedes tomar el número de nodos en tu clúster y restar los nodos no disponibles máximos.
-
Haz clic en Guardar.
Resultado: El clúster se actualiza para utilizar la nueva estrategia de actualización.
Habilitando el Drenaje de Nodos Durante las Actualizaciones desde la Interfaz de Usuario de Rancher
Por defecto, RKE cordona cada nodo antes de actualizarlo. Drenar está deshabilitado durante las actualizaciones por defecto. Si el drenaje está habilitado en la configuración del clúster, RKE tanto cordona como drena el nodo antes de que sea actualizado.
Para habilitar el drenaje de cada nodo durante una actualización de clúster,
-
En la esquina superior izquierda, haz clic en ☰ > Gestión de Clústeres.
-
En la página Clústeres, ve al clúster al que deseas habilitar el drenaje de nodos y haz clic en ⋮ > Editar Configuración.
-
Haz clic en ⋮ > Editar.
-
En la pestaña Estrategia de Actualización, ve al campo Drenar nodos y haz clic en Sí. El drenaje de nodos se configura por separado para los nodos del plano de control y los nodos de trabajo.
-
Configura las opciones sobre cómo se eliminan los pods. Para más información sobre cada opción, consulta esta sección.
-
Opcionalmente, configura un período de gracia. El período de gracia es el tiempo de espera dado a cada pod para limpiar las cosas, de modo que tengan la oportunidad de salir de forma ordenada. Los pods pueden necesitar terminar cualquier solicitud pendiente, revertir transacciones o guardar el estado en algún almacenamiento externo. Si este valor es negativo, se utilizará el valor predeterminado especificado en el pod.
-
Opcionalmente, configura un tiempo de espera, que es la cantidad de tiempo que el drenaje debe continuar esperando antes de rendirse.
-
Haz clic en Guardar.
Resultado: El clúster se actualiza para utilizar la nueva estrategia de actualización.
|
Mantener la disponibilidad de las aplicaciones durante las actualizaciones
En esta sección de la documentación de RKE, aprenderás los requisitos para prevenir el tiempo de inactividad de tus aplicaciones al actualizar el clúster.
Configurando la Estrategia de Actualización en el cluster.yml
Opciones más avanzadas de configuración de la estrategia de actualización están disponibles editando el cluster.yml.
Para más detalles, consulta Configurando la Estrategia de Actualización en la documentación de RKE. La sección también incluye un ejemplo cluster.yml para configurar la estrategia de actualización.
Solución de problemas
Si un nodo no se inicia después de una actualización, el comando rke up genera un error.
No se procederá con la actualización si el número de nodos no disponibles supera el máximo configurado.
Si una actualización se detiene, puede que necesites arreglar un nodo no disponible o eliminarlo del clúster antes de que la actualización pueda continuar.
Un nodo fallido podría estar en muchos estados diferentes:
-
Apagado
-
No disponible
-
El usuario drena un nodo mientras la actualización está en proceso, por lo que no hay kubelets en el nodo
-
La actualización en sí ha fallado
Si se alcanza el número máximo de nodos no disponibles durante una actualización, los clústeres de usuarios de Rancher quedarán atascados en estado de actualización y no avanzarán con la actualización de ningún otro nodo del plano de control. Continuará evaluando el conjunto de nodos no disponibles en caso de que uno de los nodos se vuelva disponible. Si no se puede arreglar el nodo, debes eliminarlo para poder actualizar la versión.