
El servicio Managed Kubernetes Service (DOKS) de DigitalOcean hace que sea más fácil y rápido ejecutar clústeres listos para producción en la nube. Al crear un clúster, puede elegir entre las tres versiones menores más recientes de Kubernetes. A continuación, le mostramos cómo administrar las actualizaciones para que no se quede atrás en las nuevas funciones y parches de seguridad.
Tipos de actualizaciones
CONTENIDOS DE LA PAGINA
Mientras usa el clúster, encontrará dos tipos diferentes de actualizaciones de Kubernetes:
- Lanzamientos de parches – Estos aumentan el número de parches en el esquema de control de versiones semántico, como 1.20.1 a 1.20.2. Las actualizaciones de parches siempre deben ser seguras para actualizar, sin obsolescencias o cambios importantes.
- Lanzamientos menores – Una versión menor da como resultado un aumento de la funcionalidad, por ejemplo, de 1.20 a 1.21. Estos cambios deben seguir siendo compatibles con versiones anteriores, por lo que no se producirán problemas inmediatos. Algunas funciones pueden quedar obsoletas en una versión secundaria para eliminarlas en una versión principal futura (1.xa 2.x).
Tanto para los parches como para las versiones menores, DigitalOcean ofrece un servicio de actualización automática que intervendrá en su nombre. Las actualizaciones se instalarán durante una ventana de mantenimiento preestablecida. Las actualizaciones menores no se aplican a menos que primero habilite manualmente una opción a nivel de clúster.
En ocasiones, DigitalOcean puede forzar una actualización en caso de un problema de seguridad urgente. Esto puede suceder incluso si ha desactivado las actualizaciones automáticas. Además, su clúster eventualmente se actualizará si permanece en la versión de Kubernetes compatible más antigua durante tanto tiempo que DigitalOcean lo detiene por completo.
Las actualizaciones son un proceso de dos pasos. Primero, se actualiza el plano de control de Kubernetes, durante el cual sus cargas de trabajo permanecen disponibles. Luego, sus nodos trabajadores se actualizan a la nueva versión. Esto puede provocar un tiempo de inactividad según el tamaño del clúster y sus cargas de trabajo.
Configuración del programa de actualización
El programa de actualización automática de su clúster se configura en el panel de control de DigitalOcean. Inicie sesión en su cuenta y haga clic en su clúster en la página de inicio. También puede hacer clic en «Kubernetes» en la barra lateral izquierda y elegir su clúster desde allí.
Una vez que esté en la página de su clúster, haga clic en la pestaña «Configuración» en la parte superior. Haga clic en el botón «Editar» junto a la categoría «Ventana de actualización». Utilice los dos menús desplegables para elegir un día y una hora. Haga clic en «Guardar» para confirmar su selección. DigitalOcean programará la instalación de actualizaciones automáticas durante un período de cuatro horas a partir de la hora establecida.
Si también desea que las versiones secundarias de Kubernetes se apliquen automáticamente, haga clic en el botón «Editar» junto a «Actualizar automáticamente los parches de la versión secundaria». Cuando se selecciona la casilla de verificación, su clúster cambiará a nuevas versiones menores sin ninguna intervención manual. Debe sopesar esta decisión frente a la estabilidad mínima necesaria para sus cargas de trabajo.
Actualización manual
Siempre puede actualizar su clúster manualmente desde el panel de control de la nube. Deberá hacer esto cuando realice una actualización de versión menor y no haya habilitado la opción automática. Una actualización manual también es útil si desea instalar un parche antes de su horario habitual.
Vaya a su clúster en el panel de control. Desplácese hacia abajo en la pestaña «Descripción general» y haga clic en el botón azul «Ver actualización disponible». Si este botón no aparece, su clúster ya está actualizado y no hay más parches disponibles.
Si está actualizando a una nueva versión menor, DigitalOcean le informará a los recursos de su clúster para averiguar cualquier problema de compatibilidad. Esta comprobación puede tardar unos minutos en completarse. Verá los resultados que se muestran en la ventana emergente.
Cualquier problema de pelusa debe resolverse antes de continuar con la actualización. Si bien las actualizaciones menores de Kubernetes no deberían tener problemas graves de compatibilidad con versiones anteriores, las actualizaciones también implican cambios en la plataforma DOKS subyacente. DigitalOcean a veces ajusta la configuración de DOKS de manera que podría introducir bloqueos de actualización para versiones anteriores.
Si la pelusa falla, debe consultar la documentación de DigitalOcean, ya que los pasos de resolución diferirán de un grupo a otro. La referencia de pelusa de DigitalOcean incluye instrucciones detalladas sobre cómo resolver problemas comunes. Cuando termine, haga clic en «Volver a ejecutar» para confirmar que las correcciones son efectivas.
Una vez que haya superado el problema, haga clic en el botón azul «Actualizar ahora» para iniciar la actualización. Esto puede tardar varios minutos dependiendo del tamaño del clúster. El progreso se muestra en la interfaz de usuario del panel de control. El plano de control se actualiza primero, seguido de cada nodo trabajador en su clúster.
Actualización desde la CLI
Puede automatizar las actualizaciones dentro de su infraestructura utilizando la CLI de DigitalOcean, Doctl. Asegúrese de tener Doctl instalado y conectado a su cuenta.
Primero obtenga los detalles de su clúster:
doctl kubernetes cluster list
Este comando muestra todos sus clústeres. Anote el ID del clúster que desea actualizar.
A continuación, busque las versiones de Kubernetes a las que su clúster puede migrar:
doctl kubernetes cluster get-upgrades <ID>
Reemplazar <ID>
con el ID de clúster indicado anteriormente. Ahora que conoce las versiones que puede usar, ejecute el upgrade
comando para iniciar el parche:
doctl kubernetes cluster upgrade <ID> --version 1.20.8
Si desea ir directamente a la última versión, puede omitir la --version
bandera.
El proceso de actualización puede tardar varios minutos en completarse, al igual que una instalación iniciada a través de la interfaz de usuario web.
Actualizaciones pico
La actualización de un clúster con un solo nodo se usa para causar tiempo de inactividad. Los nodos se reemplazan con nuevas instancias durante el proceso de actualización, por lo que habría un período en el que sus cargas de trabajo se desconectaron. Cuando su clúster tiene varios nodos, el programador de Kubernetes moverá los pods de cada nodo de actualización para mantener la disponibilidad. Es posible que aún experimente tiempo de inactividad si la capacidad de su clúster no puede admitir todas sus cargas de trabajo mientras ejecuta «un nodo hacia abajo».
Las actualizaciones de sobretensión son una característica opcional que le permite garantizar la disponibilidad durante las actualizaciones, incluso en clústeres de un solo nodo. Cuando las actualizaciones de sobretensión están activas, DigitalOcean iniciará nodos de trabajo adicionales antes de instalar el parche. Los pods se moverán a nodos temporales de «aumento» mientras se completa la actualización del clúster.
Se agregarán un máximo de 10 nodos de aumento a su cuenta. Estos se facturarán a la tasa de gota normal. Para la mayoría de los clústeres, el impacto en el costo debería ser insignificante, ya que las caídas adicionales solo se mantendrán mientras dure la actualización.
Puede activar Surge Upgrade en la página de configuración de su clúster. Una vez encendidos, se utilizarán para todas las actualizaciones futuras, ya sean automáticas o manuales. La opción Surge Upgrades también se muestra en el mensaje de confirmación cuando está a punto de iniciar una actualización manual.
Conclusión
Tiene varias opciones para actualizar los clústeres de DigitalOcean Kubernetes. Por lo general, es mejor dejar que las actualizaciones de parches se apliquen automáticamente, mientras que las versiones menores se pueden automatizar o instalar manualmente con el Panel de control de la nube o Doctl.
Las actualizaciones no deberían causar tiempo de inactividad a sus usuarios siempre que haya habilitado Surge Upgrade. DigitalOcean creará automáticamente nuevos nodos trabajadores para mantener la disponibilidad del servicio mientras se actualizan los nodos principales. Si no está usando Surge Upgrade, puede experimentar un tiempo de inactividad si está usando un clúster de un solo nodo o si se queda con capacidad insuficiente ya que cada nodo pierde la actualización.