¿Qué hay de nuevo en Kubernetes v1.22?

Kubernetes v1.22 es una nueva versión de funciones que agrega más de 50 mejoras a la plataforma de orquestación de contenedores. También desaprueba algunas funciones y elimina varias API que han sido reemplazadas por versiones de reemplazo.

Aquí están las últimas noticias sobre los cambios más importantes, comenzando con las adiciones de funciones.

→ Índice de contenidos

Aplicación del lado del servidor

La aplicación del lado del servidor ahora está fuera de versión beta y generalmente está disponible para todos los usuarios. Es un nuevo mecanismo para facilitar la gestión declarativa de recursos por parte de usuarios y controladores de clústeres.

El uso de Server-Side Apply permite a los desarrolladores iniciar cambios en los recursos describiendo sus intenciones. El servidor de la API de Kubernetes realiza un seguimiento de los cambios en los objetos campo por campo. Este sistema de "gestión de campo" crea un modelo de propiedad en el que los cambios a un campo agregado por otro administrador se rechazan automáticamente. Esto evita que deshaga involuntariamente una operación iniciada por otro administrador.

Antes de la aplicación del lado del servidor, la lógica para identificar los campos de recursos que necesitaban actualización era parte del lado del cliente kubectl apply mando. Ahora esto se eleva al servidor, lo que facilita a los controladores aplicar sus propios cambios de configuración y facilita las nuevas funciones de control de acceso. Se registran los cambios en los campos individuales, no solo el estado más reciente aplicado por cada usuario.

Los recursos obtienen uno nuevo managedFields cuando la opción Aplicar servidor con administración de campo está habilitada. Registre cada campo, los datos asociados a él y la hora de la última actualización. Edición manual managedFields es posible pero fuertemente desaconsejado; se pretende que solo el servidor de la API de Kubernetes escriba estos valores.

La gestión de campo incluye apoyo a la resolución de conflictos y cuatro estrategias sindicales diferentes. Estos le permiten personalizar lo que sucede cuando intenta editar un campo que ya ha sido editado por otro usuario. Puede forzar la aplicación de los cambios si es necesario transfiriendo la propiedad al usuario entrante.

Proveedores de credenciales externos

Los proveedores de credenciales externos también han avanzado hacia la estabilidad. Estos le permiten utilizar complementos para obtener credenciales como tokens de autenticación y certificados TLS desde fuera del clúster.

La función le permite integrar el control de acceso de Kubernetes con los proveedores de autenticación existentes. Los proveedores pueden autenticarlo mediante los sistemas OAuth2, LDAP y SAML, para que pueda iniciar sesión con sus credenciales existentes para servicios populares.

Los proveedores se implementan como un complemento con un componente del lado del servidor que se ejecuta en el clúster. Esto utiliza un webhook especial para convertir tokens específicos del cliente en un formato que el servidor de la API de Kubernetes puede interpretar.

Ejecutar sin root

Los entornos de alta seguridad pueden lograr una mayor protección al ejecutar el plano de control de Kubernetes como un usuario no root. Esta es una función alfa disponible para nuevas implementaciones de clústeres. Ayude a mitigar los riesgos de un compromiso exitoso del plan de control al proporcionar acceso ilimitado a su host.

Iniciar un clúster como usuario no root requiere habilitar el RootlessControlPlane característica de la puerta. Entonces, el plano de control debe comenzar sin usar sudo.

Existe un soporte similar para ejecutar componentes individuales a nivel de nodo en un entorno no root. Kubelet, kube-proxy y el tiempo de ejecución del contenedor ahora tienen esta capacidad, lo que lo ayuda a fortalecer la seguridad de su instalación.

Eliminaciones de API

Como nueva versión menor, la v1.22 desaprueba algunas funciones existentes en varios componentes de Kubernetes. Se trata principalmente de comandos, indicadores y algunos complementos de autenticación y almacenamiento. Las funciones afectadas siguen estando disponibles, pero es posible que se eliminen gradualmente en el futuro.

v1.22 también elimina 12 API anteriormente obsoletas en total. Las API eliminadas son todas versiones beta que han sido reemplazadas por nuevas alternativas estables.

La lista incluye i Ingress Y IngressClass recursos utilizados para exponer servicios con reglas de enrutamiento. El networking.k8s.io/v1beta1 Las versiones de estos objetos deben ser reemplazadas por las suyas. networking.k8s.io/v1 contrapartes que siguen siendo compatibles.

Otras API eliminadas incluyen versiones beta de APIService, CertificateSigningRequest, CustomResourceDefinition, Y Lease, así como diversos objetos relacionados con el control de acceso, el archivo y la planificación. Revise la guía de migración antes de aplicar la actualización a su clúster. Deberá modificar los recursos utilizando las API eliminadas para que apunten a las nuevas versiones estables.

La próxima versión de Kubernetes que incluirá las eliminaciones será la v1.25. Actualmente, esto está programado para eliminar cuatro API beta: CronJob, EndpointSlice, Event, Y PodDisruptionBudget.

Otros cambios

Esta versión ofrece muchas otras adiciones y mejoras menores, incluida la compatibilidad alfa para la memoria de intercambio, una experiencia mejorada al ejecutar Kubernetes en Windows y la capacidad de usar cgroups v2 para establecer la asignación de memoria y las restricciones de aislamiento en los pods.

Etcd, el repositorio de configuración utilizado por el servidor de la API de Kubernetes, se ha actualizado a la v3.5.0. Esto mejora las capacidades de grabación con un nuevo formato estructurado y rotación de archivos integrada. El proyecto también proporcionó importantes mejoras de rendimiento para acelerar algunas operaciones comunes de Kubernetes.

Varias API beta ahora están marcadas como estables, incluidos los tokens de cuenta de servicio asociados y el PodDisruptionBudget objeto para especificar recuentos mínimos de réplicas simultáneas. Kubernetes ha ganado la capacidad de notificarle cuando también usa una API obsoleta, lo que facilita mantenerse en la ruta estable. Verá estos mensajes cuando aplique los recursos a su clúster.

Nueva cadencia de lanzamiento

La v1.22 marca el comienzo de una nueva cadencia de lanzamiento regular para las actualizaciones de Kubernetes. Las funciones ahora llegarán cuatro veces al año en lugar de tres, creando un ciclo de desarrollo un poco más largo que le brinda más oportunidades para optimizar y mantener la calidad de la publicación. También ofrece más espacio para los administradores de clústeres que ahora tienen un mes adicional entre migraciones.

De acuerdo con este cronograma, se espera que Kubernetes v1.23 llegue a principios de diciembre de 2021. Cada ciclo tiene un tiempo de desarrollo estimado de 15 semanas. Las actualizaciones de parches regulares se seguirán publicando mensualmente, y las correcciones de errores críticos llegarán antes cuando sea necesario.

Resumen

Kubernetes v1.22 es una actualización fundamental que hace que el proyecto se mueva a una nueva cadencia de lanzamiento. Esto ayudará a los administradores del clúster a planificar futuras actualizaciones, proporcionando más tiempo de migración antes de que llegue la siguiente.

En términos de nuevas características, la adición más significativa es probablemente la aplicación del lado del servidor. Esto simplifica el uso de configuraciones de recursos declarativos, aliviando la lógica de kubectl en su clúster. Esto eventualmente debería reemplazar el original kubectl apply implementación del conjunto.

La actualización a v1.22 puede requerir una acción si todavía está utilizando una de las API beta eliminadas. Debería poder reemplazarlos con sus versiones estables, aunque en algunos casos esto puede significar modificar sus activos. Tomarse un tiempo para abordar las nuevas obsoletas en v1.22 lo ayudará a prepararse para la llegada de v1.23, facilitando el proceso de migración para esa versión.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir Change privacy settings