La fundación Cloud Native Computing Foundation (CNCF) ha anunciado recientemente el lanzamiento de la versión 1.29 del proyecto Kubernetes de código abierto, con el nombre en código Mandala.
El hito Kubernetes 1.29 es la última versión de 2023 para esta tecnología cloud native de código abierto, e introduce una variedad de nuevas características y mejoras. Esta versión sigue a la actualización Kubernetes 1.28, lanzada en agosto de este año.
Denominada la versión «Mandala» en referencia a la obra de arte cósmica y circular, Kubernetes v1.29 refleja la comunidad interconectada de contribuyentes del proyecto. La versión fue liderada por un equipo de lanzamiento de 40 personas y contó con la participación de 888 empresas y 1,422 individuos a lo largo de 14 semanas.
Entre las principales adiciones en esta versión, se encuentran 11 características promovidas al estado de lanzamiento estable para disponibilidad general. Esto incluye el nuevo modo de acceso de volumen ReadWriteOncePod, que garantiza que solo un pod pueda leer/escribir en un volumen, soporte secreto de expansión de volumen de nodo para controladores de la interfaz de almacenamiento de contenedores (CSI) y cifrado en reposo mediante KMS v2.
Diecinueve características han entrado en la fase beta, destacando mejoras en la programación, gestión del ciclo de vida del nodo y limpieza de tokens de cuentas de servicio heredadas. Algunas de las nuevas funcionalidades alfa incluyen reglas de afinidad de pods mejoradas, un backend nftables para la red kube-proxy y la gestión de rangos de direcciones IP para los servicios de Kubernetes.
Impulso a la Preparación para la Producción en el Desarrollo de Kubernetes
El proyecto de código abierto también se enfocó específicamente en el ciclo de lanzamiento de Kubernetes 1.29 para ayudar a garantizar la estabilidad y la preparación para la producción.
«En esta versión, hemos dado pasos significativos para mejorar la capacidad de las Revisiones de Preparación para la Producción (PRR) al introducir un nuevo programa sombra», dijo Priyanka Saggu, líder de lanzamiento de Kubernetes 1.29, a SDxCentral. «Esta iniciativa tiene como objetivo poner al día a los nuevos contribuyentes, lo que resulta en revisiones PRR más sólidas para Propuestas de Mejoras de Kubernetes (KEP) en las que han optado participar».
El proceso de lanzamiento para Kubernetes 1.29 tuvo algunos problemas durante el ciclo de desarrollo. Saggu señaló que durante las fases de lanzamiento 1.29.0-alpha.x y 1.29.0-beta.x, hubo desafíos relacionados con los tiempos de compilación de paquetes, lo que llevó a retrasos. Esto se vio agravado por el hecho de que el conocimiento sobre estos cambios en las herramientas de lanzamiento estaba inicialmente limitado a unas pocas personas en la comunidad, lo que ralentizó la resolución de problemas.
«Afortunadamente, identificamos estos desafíos al comienzo del ciclo de lanzamiento y tomamos medidas correctivas de inmediato», dijo. «Estamos documentando activamente estas experiencias para mejorar nuestros procesos en futuros ciclos de lanzamiento».
Seguridad y Estabilidad en Kubernetes 1.29
Karena Angell, gerente principal de productos de OpenShift Commons y OpenShift Foundations en Red Hat, ve mucho para destacar en Kubernetes 1.29.
«Kubernetes v1.29 proporciona algunas características clave de estabilidad que estábamos esperando ver», dijo Angell a SDxCentral.
Citó algunas menciones notables que se graduaron como estables en Kubernetes 1.29, incluido el Lenguaje de Expresión de Validación CRD, que brinda soporte para una validación más compleja de las definiciones de recursos personalizados (CRDs).
Otra característica graduada que mejorará la estabilidad es la equidad de prioridad para las solicitudes del servidor API, que, según Angell, ayudará a filtrar el «ruido» de la carga de trabajo y priorizar las solicitudes y el rendimiento críticos.
Angell también señaló que la Configuración de Autenticación Estructurada ha pasado a la fase beta, necesaria para la integración externa de OpenID Connect (OIDC).
«Es un ejemplo de una serie de mejoras de seguridad que llegarán en futuras versiones», dijo.
Mejoras de Red en Kubernetes 1.29
Kubernetes 1.29 presenta varias mejoras de red. La nueva versión de Kubernetes será la primera en beneficiarse de la nueva API de puerta de enlace que ayuda a mejorar la conectividad en general.
Los contenedores auxiliares también reciben un impulso importante. Lee Calcote, fundador de Layer5 y colaborador de CNCF, le dijo a SDxCentral que Kubernetes 1.28 introdujo el concepto de un contenedor auxiliar, un contenedor de inicio reiniciable. El concepto de un contenedor auxiliar ha sido parte de Kubernetes casi desde el principio. Señaló que los contenedores auxiliares se han convertido en un patrón común de implementación de Kubernetes y se utilizan frecuentemente para proxies de red en mallas de servicios o para registro o ejecución de otros servicios auxiliares al contenedor principal.
«Hasta la versión 1.28, los contenedores auxiliares eran un concepto que los usuarios de Kubernetes aplicaban sin soporte nativo, y a partir de ahora en Kubernetes 1.29, si tu Pod incluye uno o más contenedores auxiliares, el kubelet (agente de nodo Kubernetes) retrasará el envío de una señal de terminación a estos contenedores auxiliares hasta que el último contenedor principal se haya cerrado por completo», dijo Calcote. «También es nuevo en 1.29 el comportamiento de terminación de los contenedores auxiliares en orden inverso al que fueron inicializados, para que puedan seguir ofreciendo sus servicios hasta el final del ciclo de vida del Pod».






