Hoy, el equipo de Kubernetes lanzó oficialmente la versión 1.19 del sistema de orquestación de contenedores de código abierto más popular. La versión 1.19 cuenta con 34 mejoras a pesar de la interrupción causada por COVID-19. 9 de las mejoras son mejoras Alpha, 15 están en etapa Beta y las 10 restantes son Estables. El borrador de las notas de la versión desde unas horas antes del lanzamiento oficial, incluye notas y acciones requeridas de una página marcadas con una advertencia encantadoramente enfática: "(No, de verdad, DEBES leer esto antes de actualizar)". Cualquiera que busque actualizar a la nueva versión probablemente debería leer primero al menos esa sección de las notas de la versión, especialmente si está utilizando la función Flex Volumes. La primera versión de Kubernetes se lanzó hace cinco años, en julio de 2015. Un gran porcentaje de los colaboradores originales del proyecto de código abierto eran de Google y el software está escrito en Go. Go, a veces llamado Golang, es un lenguaje imperativo, simultáneo, orientado a objetos y de tipo estático que incluye seguridad de la memoria y recolección de elementos no utilizados.
Hoy, el equipo de Kubernetes lanzó oficialmente la versión 1.19 del sistema de orquestación de contenedores de código abierto más popular. La versión 1.19 cuenta con 34 mejoras a pesar de la interrupción causada por COVID-19. 9 de las mejoras son mejoras Alpha, 15 están en etapa Beta y las 10 restantes son Estables. El borrador de las notas de la versión desde unas horas antes del lanzamiento oficial, incluye notas y acciones requeridas de una página marcadas con una advertencia encantadoramente enfática: "(No, de verdad, DEBES leer esto antes de actualizar)". Cualquiera que busque actualizar a la nueva versión probablemente debería leer primero al menos esa sección de las notas de la versión, especialmente si está utilizando la función Flex Volumes. La primera versión de Kubernetes se lanzó hace cinco años, en julio de 2015. Un gran porcentaje de los colaboradores originales del proyecto de código abierto eran de Google y el software está escrito en Go. Go, a veces llamado Golang, es un lenguaje imperativo, simultáneo, orientado a objetos y de tipo estático que incluye seguridad de la memoria y recolección de elementos no utilizados.
Posiblemente, el cambio más crítico que viene con Kubernetes 1.19 no está en el software. El equipo de Kubernetes ha decidido extender el soporte del período de soporte anterior de nueve meses a un año completo. Este cambio fue motivado por una encuesta del año pasado que indicó que solo la mitad de los usuarios de Kubernetes tenían una versión compatible. El equipo espera que aumentar la duración del soporte a un año completo signifique que el 80 % de los usuarios utilicen una versión compatible. Desafortunadamente, ese objetivo del 80 % solo se alcanzará si los usuarios y los equipos de TI continúan con sus prácticas de actualización actuales en lugar de tomar la ventana de soporte más larga como una excusa para retrasar aún más su próxima actualización.
Una de las nuevas mejoras de la etapa 9 Alpha brinda soporte para una mejor administración del almacenamiento. 1.19 introduce una nueva API para informar la capacidad de almacenamiento de un nodo. El programador luego usará esta información de capacidad cuando elija un nodo para un nuevo contenedor para garantizar que solo se seleccionen los nodos con espacio adecuado para el nuevo contenedor. De manera similar, otra de las mejoras de 9 Alpha permite a los operadores definir una regla de distribución predeterminada y aplicarla a cualquier grupo que no tenga una. Inicialmente, esta característica tan esperada estaba destinada a ser lanzada el año pasado como parte de 1.17, pero el compromiso del equipo de proporcionar un software estable, confiable y de calidad retrasó su lanzamiento hasta ahora.
Continuando con el tema del manejo mejorado del almacenamiento, otra característica nueva de Alpha amplía el soporte existente para volúmenes efímeros. Los volúmenes efímeros son complementos de volumen cuyo ciclo de vida está vinculado a un pod y se pueden usar como espacio temporal (p. ej., el tipo de volumen integrado "directorio vacío") o para cargar algunos datos en un pod (p. ej., el mapa de configuración integrado y los tipos de volumen secreto o "CSI volúmenes en línea”). La nueva función Alpha amplía esto al permitir que los controladores de almacenamiento de aprovisionamiento dinámico se utilicen como un volumen efímero con el ciclo de vida del volumen vinculado al Pod. La nueva función es compatible con todos los parámetros de StorageClass para el aprovisionamiento de volúmenes. También se admiten todos los PersistentVolumeClaims, como el seguimiento de la capacidad de almacenamiento, las instantáneas y la restauración, y el cambio de tamaño del volumen. Ya que estamos en el tema de las alertas, cabe señalar que también se está intentando mejorar el registro en general. Se agregaron nuevos métodos para estructurar los mensajes de klog como una mejora Alpha en Kubernetes 1.19. El plan actual exige agregar gradualmente soporte para un registro más estructurado además del sistema existente para que los usuarios tengan suficiente tiempo para adaptarse al nuevo y, con suerte, mejorado sistema a su propio ritmo.
Como conclusión de las mejoras de Alpha en la gestión del almacenamiento, la supervisión del estado de CSI se lanzará con Kubernetes 1.19. La nueva característica eleva las alertas de los controladores CSI al informarlas como eventos en PVC o Pods. Esta característica sirve como un trampolín hacia la detección programática y la resolución de problemas de salud de volúmenes individuales por parte de Kubernetes.
De las 15 mejoras de la etapa Beta en Kubernetes 1.19, 2 están marcadas como cambios importantes y una como nueva neta. Los dos cambios principales son una mejora en la API de puntos finales para agregar un concepto de duplicación y la adición de dos nuevas llamadas de funciones para mejorar la API de topología de nodo. El mecanismo de advertencia para el uso de API en desuso también se actualizó.
La más destacada de las mejoras que pasan a Estable es la API de Ingress. Este cambio tan esperado hace poco más que reconocer el status quo de su uso generalizado en la industria. Sin embargo, leyendo entre líneas, parece que algunos miembros del equipo todavía tienen mejoras que quieren hacer que podrían incluirse como API paralela o de reemplazo en el futuro. La otra cara de este cambio es que 1.19 también automatizó la desaprobación (tres lanzamientos más tarde) y la eliminación (tres lanzamientos después de eso) de las funciones Beta que no se están desarrollando activamente o que no están graduándose a Estable para reducir el desorden de código. El objetivo principal de la nueva automatización es reducir el trabajo pesado y permitir que los contribuyentes del software de código abierto se centren en mejorar las nuevas funciones en lugar de limpiar las que no funcionan.
Disponibilidad
Immediately
Interactuar con StorageReview
Boletín | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | RSS Feed