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.
Notas de la versión para las versiones con soporte estándar
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 Amazon EKS dejó de ser compatible con Dockershim.
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 gestionado, consulte. Creación de un grupo de nodos administrados
-
-
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
aplicada 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 en desuso no es preciso e históricamente ha sido gestionado 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 -nkube-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
Kubernetes 1.27
Kubernetes 1.27
ya está disponible en Amazon EKS. Para obtener más información sobre Kubernetes 1.27
, consulte el anuncio del lanzamiento oficial
importante
-
Se ha eliminado la compatibilidad con las anotaciones de
seccomp.security.alpha.kubernetes.io/pod
deseccomp
alfa y se eliminaron las anotaciones decontainer.seccomp.security.alpha.kubernetes.io
. Las anotacionesseccomp
alfa quedaron en desuso en1.19
, y con su eliminación en1.27
, los campos deseccomp
ya no se rellenarán automáticamente paraPods
con las anotaciones deseccomp
. En su lugar, utilice el camposecurityContext.seccompProfile
paraPods
o contenedores para configurar los perfiles deseccomp
. Para comprobar si está utilizando las anotaciones deseccomp
alfa en desuso en su clúster, ejecute el siguiente comando:kubectl get pods --all-namespaces -o json | grep -E 'seccomp.security.alpha.kubernetes.io/pod|container.seccomp.security.alpha.kubernetes.io'
-
Se quitó el argumento de la línea de comandos
--container-runtime
parakubelet
. El tiempo de ejecución predeterminado del contenedor para Amazon EKS escontainerd
desde la versión1.24
, lo que elimina la necesidad de especificar el tiempo de ejecución del contenedor. A partir de1.27
en adelante, Amazon EKS ignorará el argumento de--container-runtime
que se pase a los scripts de arranque. Es importante que no pase este argumento a--kubelet-extra-args
para evitar errores durante el proceso de arranque del nodo. Debe eliminar el argumento de--container-runtime
de todos tus flujos de trabajo de creación de nodos y scripts de compilación.
-
El
kubelet
en Kubernetes1.27
aumentó el valor predeterminado dekubeAPIQPS
a50
y dekubeAPIBurst
a100
. Estas mejoras permiten quekubelet
gestione un mayor volumen de consultas de API, lo que mejora los tiempos de respuesta y el rendimiento. Cuando las demandas dePods
aumentan, debido a los requisitos de escalamiento, los valores predeterminados revisados garantizan quekubelet
pueda administrar de manera eficiente el aumento de la carga de trabajo. Como resultado, los lanzamientos dePod
son más rápidos y las operaciones del clúster son más eficaces. -
Puede utilizar una topología de
Pod
más detallada para difundir políticas comominDomain
. Este parámetro le permite especificar el número mínimo de dominios en los que losPods
deben estar repartidos.nodeAffinityPolicy
ynodeTaintPolicy
permiten un nivel adicional de granularidad en la regulación de la distribución dePod
. Esto se realiza de acuerdo con las afinidades de los nodos, taints y el campomatchLabelKeys
en eltopologySpreadConstraints
de su especificación dePod's
. Esto permite seleccionar losPods
para la dispersión de los cálculos tras una actualización progresiva. -
Kubernetes
1.27
promovió al estado beta un nuevo mecanismo de políticas deStatefulSets
que controla la vida útil de susPersistentVolumeClaims
(PVCs
). La nueva política de retención dePVC
le permite especificar si losPVCs
generados a partir de la plantilla de especificaciones deStatefulSet
se eliminará o retendrá automáticamente cuando se elimineStatefulSet
o si se reducen verticalmente las réplicas que contieneStatefulSet
. -
La opción
goaway-chance
del servidor de API de Kubernetes ayuda a evitar que las conexiones de los clientes HTTP/2
se bloqueen en una única instancia del servidor de API, al cerrar una conexión de forma aleatoria. Cuando se cierre la conexión, el cliente intentará volver a conectarse y es probable que aterrice en un servidor de API diferente como resultado del equilibrador de carga. La versión1.27
de Amazon EKS tiene el indicadorgoaway-chance
activado. Si su carga de trabajo que se ejecuta en el clúster de Amazon EKS utiliza un cliente que no es compatible conHTTP GOAWAY
, le recomendamos que actualice su cliente para manejar GOAWAY
volviendo a conectarse al finalizar la conexión.
Para ver el registro de cambios completo de Kubernetes 1.27
, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.27.md#changelog-since-v1260
Kubernetes 1.26
Kubernetes 1.26
ya está disponible en Amazon EKS. Para obtener más información sobre Kubernetes 1.26
, consulte el anuncio del lanzamiento oficial
importante
Kubernetes 1.26
ya no es compatible con CRI v1alpha2
. Esto hace que el kubelet
deje de registrar el nodo si el tiempo de ejecución del contenedor no admite CRI v1
. Esto también significa que Kubernetes 1.26
no es compatible con la versión secundaria 1.5
y anteriores de containerd. Si usa containerd, debe actualizar a la versión containerd 1.6.0
o posterior antes de actualizar cualquier nodo para Kubernetes 1.26
. También debe actualizar cualquier otro entorno de ejecución de contenedor que solo admita v1alpha2
. Para obtener más información, consulte al proveedor de tiempo de ejecución del contenedor. De forma predeterminada, las AMI de Amazon Linux y Bottlerocket incluyen la versión containerd 1.6.6
.
-
Antes de actualizar a Kubernetes
1.26
, actualice su versión Amazon VPC CNI plugin for Kubernetes a1.12
o posterior. Si no actualiza a la versión de Amazon VPC CNI plugin for Kubernetes1.12
o posterior, el Amazon VPC CNI plugin for Kubernetes se bloqueará. Para obtener más información, consulte Trabajar con el complemento Amazon VPC CNI plugin for Kubernetes de Amazon EKS. -
La opción
goaway-chance
del servidor de API de Kubernetes ayuda a evitar que las conexiones de los clientes HTTP/2
se bloqueen en una única instancia del servidor de API, al cerrar una conexión de forma aleatoria. Cuando se cierre la conexión, el cliente intentará volver a conectarse y es probable que aterrice en un servidor de API diferente como resultado del equilibrador de carga. La versión1.26
de Amazon EKS tiene el indicadorgoaway-chance
activado. Si su carga de trabajo que se ejecuta en el clúster de Amazon EKS utiliza un cliente que no es compatible conHTTP GOAWAY
, le recomendamos que actualice su cliente para manejar GOAWAY
volviendo a conectarse al finalizar la conexión.
Para ver el registro de cambios completo de Kubernetes 1.26
, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.26.md#changelog-since-v1250