Saltar al contenido

¿Cómo actualizo mi clúster y mis complementos de Amazon EKS?

6 minutos de lectura
0

Deseo seguir las prácticas recomendadas para actualizar mi clúster de Amazon Elastic Kubernetes Service (Amazon EKS).

Descripción corta

Antes de actualizar el clúster, verifica la compatibilidad con la nueva versión de Kubernetes. Además, es posible que tengas que actualizar los controladores de almacenamiento y los complementos para que funcionen con las versiones más recientes.

Después de actualizar una versión de Kubernetes en el clúster de Amazon EKS, no puedes cambiar a una versión anterior. Antes de actualizar la versión de Kubernetes, consulta Descripción del ciclo de vida de las versiones de Kubernetes en EKS. Confirma que las reglas del grupo d seguridad permiten la comunicación de clúster requerida para las subredes que especificaste al crear el clúster.

Nota:

  • La versión de kubelet de un nodo no puede ser posterior a la versión de Kubernetes.
  • Cuando actualizas tu plano de control, los grupos de nodos no se actualizan automáticamente.
  • La versión de kubelet del nodo no puede ser más de dos versiones secundarias anterior a la versión de Kubernetes. Por ejemplo, para la versión 1.33 de Kubernetes, las versiones de kubelet compatibles son 1.33, 1.32 y 1.31.

Una versión secundaria recibe soporte estándar en Amazon EKS durante 14 meses a partir del lanzamiento. Luego, la versión pasa al soporte extendido durante 12 meses.

Puedes usar el soporte extendido para mantener una versión específica de Kubernetes durante más tiempo, con costes adicionales por cada hora de clúster. Si no actualizas el clúster antes de que finalice el periodo de soporte extendido, AWS actualizará automáticamente el clúster a la versión más antigua admitida actualmente.

El soporte extendido está activado de forma predeterminada. Para desactivar el soporte extendido, consulta Deshabilitación del soporte extendido de EKS para evitar el aumento de los costes del clúster. Para conocer las fechas de lanzamiento y soporte, consulta el calendario de lanzamiento de Amazon EKS Kubernetes.

Resolución

Actualización de la versión del clúster de Amazon EKS

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas de AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.

Primero, comprueba la versión actual de Kubernetes del plano de control y los nodos del clúster y tu versión actual de eksctl.

Ejecuta el siguiente comando para comprobar la versión de Kubernetes del plano de control del clúster:

kubectl version

Resultado de ejemplo:

Client Version: v1.33.2
Kustomize Version: v5.6.0
Server Version: v1.32.5-eks-5d4a308

Ejecuta el siguiente comando para obtener la versión de Kubernetes de tus nodos:

kubectl get nodes

Resultado de ejemplo:

NAME                            STATUS   ROLES    AGE    VERSION
ip-10-42-177-172.ec2.internal   Ready    <none>   132m   v1.32.3-eks-473151a
ip-10-42-177-39.ec2.internal    Ready    <none>   142m   v1.32.3-eks-473151a

Ejecuta el siguiente comando para comprobar tu versión de eksctl:

eksctl version

Nota: Debes usar la versión 0.210.0 o posterior de eksctl. La actualización tarda varios minutos en completarse.

A continuación, utiliza eksctl, la consola de Amazon EKS o la AWS CLI para actualizar el clúster.

Actualización de la versión del grupo de nodos

Para actualizar un grupo de nodos administrado, consulta Actualización de un grupo de nodos administrados para un clúster. Para actualizar tu grupo de nodos autoadministrado, debes migrar las aplicaciones a un nuevo grupo de nodos.

Actualización de los complementos de Amazon EKS

Amazon EKS no actualiza automáticamente los complementos durante una actualización del plano de control. Comprueba las versiones compatibles de tus complementos y, a continuación, actualízalos. Solo puedes actualizar una versión secundaria cada vez.

Para comprobar si la versión del complemento es compatible con la versión más reciente de Kubernetes, ejecuta el siguiente comando:

eksctl utils describe-addon-versions —kubernetes-version 1.33 —name name-of-addon | grep AddonVersion

Nota: Sustituye name-of-addon por el nombre de tu complemento y 1.33 por la versión más reciente de Kubernetes.

Comprueba que la versión actual se muestre en el resultado.

Resultado de ejemplo:

"AddonVersions": [
                    "AddonVersion": "v1.12.1-eksbuild.2",
                    "AddonVersion": "v1.11.4-eksbuild.14",
                    "AddonVersion": "v1.11.4-eksbuild.10",
                    "AddonVersion": "v1.11.4-eksbuild.2",
                    "AddonVersion": "v1.11.3-eksbuild.3",
                    "AddonVersion": "v1.11.3-eksbuild.2",

Es posible que necesites actualizar los siguientes complementos de Amazon EKS:

Para obtener más información, consulta Complementos de AWS.

Complemento CNI de Amazon VPC

Comprueba las versiones de CNI de Amazon VPC compatibles con tu clúster.

A continuación, elige una de las siguientes opciones para actualizar el complemento:

kube-proxy

Comprueba las versiones de kube-proxy compatibles con tu clúster.

A continuación, elige una de las siguientes opciones para actualizar el complemento:

CoreDNS

Comprueba las versiones de CoreDNS compatibles con tu clúster.

A continuación, elige una de las siguientes opciones para actualizar el complemento:

Controladores CSI de Amazon EBS y Amazon EFS

Para actualizar un controlador CSI de Amazon EBS o un controlador CSI de Amazon EFS, consulta Actualización de un complemento de Amazon EKS.

Actualización de AWS Load Balancer Controller

Para conocer la compatibilidad de las versiones de Kubernetes con AWS Load Balancer Controller, consulta Supported Kubernetes versions (Versiones de Kubernetes compatibles) en el sitio web de GitHub. La versión 2.5.0 o posterior de AWS Load Balancer Controller requiere la versión 1.22 o posterior de Kubernetes. Para obtener más información, consulta aws-load-balancer-controller releases (Versiones de AWS Load Balancer Controller) en el sitio web de GitHub. Para instalar AWS Load Balancer Controller, consulta Instalación del controlador.

OFICIAL DE AWSActualizada hace un año