Ayude a mejorar esta página
Para contribuir a esta guía del usuario, elija el enlace Edit this page on GitHub que se encuentra en el panel derecho de cada página.
Revisión de las notas de la versión para las versiones de Kubernetes con soporte extendido
Amazon EKS ofrece soporte para las versiones de Kubernetes durante más tiempo que el soporte ofrecido por la versión original de Kubernetes, con soporte estándar para versiones menores de Kubernetes durante 14 meses a partir de su lanzamiento en Amazon EKS y soporte extendido para versiones menores de Kubernetes por 12 meses adicionales (un total de 26 meses por versión).
En este tema se detallan cambios importantes que debe conocer sobre cada versión de Kubernetes con soporte extendido. Al actualizar, revise detenidamente los cambios que haya habido entre la versión antigua y la nueva de su clúster.
Kubernetes 1.29
Kubernetes 1.29
ya se encuentra disponible en Amazon EKS. Para obtener más información acerca de 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 la versión1.29
de Kubernetes. Si tiene manifiestos o software de cliente que utiliza el grupo de API beta en desuso, debe cambiarlos antes de actualizar a la versión1.29
.
-
El campo
.status.kubeProxyVersion
para los objetos de nodo ahora está en desuso y el proyecto de 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. -
En Kubernetes
1.29
, para reducir la posible superficie expuesta a ataques, la característicaLegacyServiceAccountTokenCleanUp
etiqueta los tokens heredados basados en secretos generados automáticamente como no válidos si no se utilizaron durante 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 completar el registro de cambios 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 se encuentra disponible en Amazon EKS. Para obtener más información acerca de 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 a 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 completar el registro de cambios 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 se encuentra disponible en Amazon EKS. Para obtener más información acerca de 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 los 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 paraStatefulSets
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 con HTTP GOAWAY, le recomendamos que actualice su cliente para manejar GOAWAY
volviendo a conectarse al finalizar la conexión.
Para completar el registro de cambios de Kubernetes 1.27
, consulte https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.27.md#changelog-since-v1260