Ayude a mejorar esta página
¿Quiere contribuir a esta guía del usuario? Desplácese hasta el final de esta página y seleccione Editar esta página en GitHub. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.
Revisión de las notas de la versión estándar de Kubernetes con soporte extendido
En este tema se detallan cambios importantes que debe conocer sobre cada versión de Kubernetes con soporte estándar. Al actualizar, revise detenidamente los cambios que haya habido entre la versión antigua y la nueva de su clúster.
nota
En el caso de 1.24
y clústeres sucesivos, las AMI de Amazon EKS publicadas oficialmente incluyen containerd
como único tiempo de ejecución. Las versiones de Kubernetes inferiores a la 1.24
usan Docker como tiempo de ejecución predeterminado. Estas versiones tienen una opción de marca de arranque que puede utilizar para probar sus cargas de trabajo en cualquier clúster compatible con containerd
. Para obtener más información, consulte Migración de dockershim a containerd.
Kubernetes 1.31
Kubernetes 1.31
ya está disponible en Amazon EKS. Para obtener más información sobre Kubernetes 1.31
, consulte el anuncio del lanzamiento oficial
importante
-
La marca kubelet de
--keep-terminated-pod-volumes
, obsoleta desde 2017, se ha eliminado como parte de la versiónv1.31
. Este cambio afecta a la forma en que el kubelet gestiona los volúmenes de pods terminados. Si utiliza esta marca en las configuraciones de nodo, debe actualizar los scripts de arranque y las plantillas de lanzamiento para eliminarla antes de actualizar.
-
La puerta y el recurso de la API de la característica
VolumeAttributesClass
en su versión beta están habilitados en Amazon EKSv1.31
. Esta característica permite a los operadores de clústeres modificar las propiedades mutables de los volúmenes persistentes (PV) administrados por controladores de CSI compatibles, incluido el controlador de CSI de Amazon EBS. Para aprovechar esta característica, asegúrese de que el controlador de CSI es compatible con la característicaVolumeAttributesClass
(para el controlador de CSI de Amazon EBS, actualice a la versión v1.35.0 o a una posterior para habilitar automáticamente la característica). Podrá crear objetosVolumeAttributesClass
para definir los atributos de volumen deseados, como el tipo de volumen y el rendimiento, y asociarlos a las solicitudes de volumen persistente (PVC). Consulte la documentación oficial de Kubernetes, así como la documentación del controlador de CSI para obtener más información. -
La compatibilidad de Kubernetes con AppArmor
ha pasado a estable y ahora se encuentra disponible de forma general para uso público. Esta característica permite proteger a los contenedores con AppArmor al configurar el campo appArmorProfile.type
en elsecurityContext
del contenedor. Antes de Kubernetesv1.30
, AppArmor se controlaba mediante anotaciones. A partir de la versiónv1.30
, se controla mediante campos. Para aprovechar esta característica, recomendamos dejar de utilizar anotaciones y, en su lugar, utilizar el campoappArmorProfile.type
con el objetivo de garantizar que las cargas de trabajo sean compatibles. -
La característica de tiempo de transición de la última fase de PersistentVolume ha pasado a estable y ahora se encuentra disponible de forma general para uso público en Kubernetes v1.31. Esta característica introduce un nuevo campo,
.status.lastTransitionTime
, en el PersistentVolumeStatus, que proporciona una marca de tiempo de la última vez que un PersistentVolume pasó a una fase diferente. Esta mejora permite realizar un mejor seguimiento y gestión de los PersistentVolumes, especialmente en situaciones en las que es importante comprender el ciclo de vida de los volúmenes.
Para ver el registro de cambios completo de Kubernetes 1.31
, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md
Kubernetes 1.30
Kubernetes 1.30
ya está disponible en Amazon EKS. Para obtener más información sobre Kubernetes 1.30
, consulte el anuncio del lanzamiento oficial
importante
-
A partir de la versión
1.30
o posterior de Amazon EKS, todos los grupos de nodos administrados recién creados utilizarán automáticamente Amazon Linux 2023 (AL2023) como sistema operativo de nodos de forma predeterminada. Anteriormente, los nuevos grupos de nodos utilizaban Amazon Linux 2 (AL2) de forma predeterminada. Puede seguir utilizando AL2 si lo elige como tipo de AMI cuando crea un nuevo grupo de nodos.-
Para obtener más información sobre Amazon Linux, consulte Comparación de Amazon Linux 2 y Amazon Linux 2023 en la Guía del Usuario de Amazon Linux.
-
Para obtener más información sobre cómo especificar el sistema operativo de un grupo de nodos administrado, consulte Creación de un grupo de nodos administrados para un clúster.
-
-
Con Amazon EKS
1.30
, la etiquetatopology.k8s.aws/zone-id
se añade a los nodos de trabajo. Puede usar IDs de zona de disponibilidad (AZ IDs) para determinar la ubicación de los recursos de una cuenta respecto de los recursos de otra. Para obtener más información, consulte ID de zona de disponibilidad para los recursosAWS en la Guía del usuario de AWS RAM. -
A partir de la versión
1.30
, Amazon EKS ya no incluye la anotacióndefault
en el recursogp2 StorageClass
aplicado a los clústeres recién creados. Esto no tiene ningún impacto si hace referencia a esta clase de almacenamiento por su nombre. Debe tomar medidas si confiaba en tener unStorageClass
predeterminado en el clúster. Debe hacer referencia aStorageClass
por su nombregp2
. Como alternativa, puede implementar la clase de almacenamiento predeterminada recomendada por Amazon EBS configurando el parámetrodefaultStorageClass.enabled
en true al instalarv1.31.0
o posteriormente elaws-ebs-csi-driver add-on
. -
La política de IAM mínima requerida para el rol de IAM del clúster de Amazon EKS ha cambiado. La acción
ec2:DescribeAvailabilityZones
es obligatoria. Para obtener más información, consulte Rol de IAM del clúster de Amazon EKS.
Para ver el registro de cambios completo de Kubernetes 1.30
, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.30.md
Kubernetes 1.29
Kubernetes 1.29
ya está disponible en Amazon EKS. Para obtener más información sobre Kubernetes 1.29
, consulte el anuncio del lanzamiento oficial
importante
-
La versión de la API
flowcontrol.apiserver.k8s.io/v1beta2
en desuso deFlowSchema
y dePriorityLevelConfiguration
ya no se ofrece en Kubernetesv1.29
. Si tiene manifiestos o software cliente que utiliza el grupo de API beta en desuso, debe cambiarlos antes de actualizar a la versiónv1.29
.
-
El campo
.status.kubeProxyVersion
para los objetos de nodo ahora está en desuso y el proyecto Kubernetes propone eliminarlo en una versión futura. El campo obsoleto no es preciso e históricamente ha sido administrado porkubelet
, el cual, en realidad, no conoce la versiónkube-proxy
ni si se ejecutakube-proxy
. Si utilizó este campo en un software cliente, deje de hacerlo; la información no es fiable y el campo está en desuso. -
Para reducir la posible superficie expuesta a ataque, la función
LegacyServiceAccountTokenCleanUp
en Kubernetes1.29
etiqueta los tokens heredados basados en secretos generados automáticamente como no válidos si no se utilizaron por mucho tiempo (1 año de forma predeterminada) y los elimina automáticamente si no se intenta usarlos por mucho tiempo después de marcarlos como no válidos (1 año adicional de forma predeterminada). Para identificar estos tokens, puede ejecutar lo siguiente:kubectl get cm kube-apiserver-legacy-service-account-token-tracking -n kube-system
Para ver el registro de cambios completo de Kubernetes 1.29
, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.29.md#changelog-since-v1280
Kubernetes 1.28
Kubernetes 1.28
ya está disponible en Amazon EKS. Para obtener más información sobre Kubernetes 1.28
, consulte el anuncio del lanzamiento oficial
-
Kubernetes
v1.28
amplió el sesgo admitido entre los componentes del nodo principal y el plano de control en una versión secundaria, den-2
an-3
, de modo que los componentes del nodo (kubelet
ykube-proxy
) de la versión secundaria compatible más antigua puedan funcionar con los componentes del plano de control (kube-apiserver
,kube-scheduler
kube-controller-manager
,cloud-controller-manager
) para la versión secundaria compatible más reciente. -
Las métricas
force_delete_pods_total
yforce_delete_pod_errors_total
dePod GC Controller
se han mejorado para que tengan en cuenta todas las eliminaciones forzosas de pods. Se ha agregado un motivo a la métrica para indicar si el pod se ha eliminado forzosamente porque se ha finalizado, ha quedado huérfano, va a finalizar con la taint fuera de servicio, o va finalizar y quedar sin programar. -
El controlador
PersistentVolume (PV)
se ha modificado para que asigne automáticamente un valor predeterminado deStorageClass
a cualquierPersistentVolumeClaim
que no tenga definido un valor parastorageClassName
. Además, el mecanismo de validación de admisión dePersistentVolumeClaim
del servidor de API se ha ajustado para que permita cambiar los valores de un estado no establecido a un nombre deStorageClass
real.
Para ver el registro de cambios completo de Kubernetes 1.28
, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.28.md#changelog-since-v1270