Actualizar el complemento autoadministrado Amazon VPC CNI plugin for Kubernetes - Amazon EKS

Actualizar el complemento autoadministrado Amazon VPC CNI plugin for Kubernetes

importante

Este tema se eliminará de esta guía el 1 de julio de 2023. Recomendamos agregar el tipo de complemento de Amazon EKS al clúster en lugar de utilizar el tipo de complemento autoadministrado. Si no está familiarizado con la diferencia entre los tipos, consulte Complementos de Amazon EKS. Para obtener más información acerca de cómo agregar un complemento de Amazon EKS al clúster, consulte Creación de un complemento.

El complemento Amazon VPC CNI plugin for Kubernetes se implementa en cada nodo de Amazon EC2 del clúster de Amazon EKS. El complemento crea interfaces de red elástica (interfaces de red) y las asocia a los nodos de Amazon EC2. El complemento también asigna una dirección IPv4 o IPv6 privada de la VPC a cada pod y servicio. Sus pods y servicios tienen la misma dirección IP en el pod que en la red de VPC.

Se implementa una versión del complemento con cada nodo de Fargate del clúster, pero no se actualiza en los nodos de Fargate. Para obtener más información sobre la versión del complemento implementada en los nodos de Amazon EC2, consulte amazon-vpc-cni-k8s y Proposal: CNI plugin for Kubernetes networking over Amazon VPC (Propuesta: complemento de CNI para redes de Kubernetes a través de Amazon VPC) en GitHub. Varias de las variables de configuración del complemento se amplían en Elección de casos de uso de redes de pod. Hay otros complementos de CNI compatibles disponibles para su uso en los clústeres de Amazon EKS, pero este es el único complemento de CNI compatible con Amazon EKS.

Requisitos previos
Consideraciones
  • Las versiones se especifican como major-version.minor-version.patch-version-eksbuild.build-number.

  • Le recomendamos actualizar solo una versión secundaria a la vez. Por ejemplo, si su versión secundaria actual es 1.10 y desea actualizar a 1.12, primero debe actualizar a 1.11 y, a luego, actualizar a 1.12.

  • Todas las versiones funcionan con todas las versiones de Kubernetes compatibles con Amazon EKS, aunque no todas las funciones de cada versión funcionan con todas las versiones de Kubernetes. Cuando se utilizan distintas funciones de Amazon EKS, si se requiere una versión específica del complemento, se indica en la documentación de funciones. A menos que tenga un motivo específico para ejecutar una versión anterior, le recomendamos elegir la versión más reciente.

Para actualizar el complemento autoadministrado Amazon VPC CNI plugin for Kubernetes
  1. Confirme que tiene instalado en el clúster el tipo de complemento autoadministrado. Sustituya my-cluster por el nombre de su clúster.

    aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query addon.addonVersion --output text

    Si se devuelve un mensaje de error, tiene el tipo de complemento autoadministrado instalado en el clúster. Los pasos restantes de este tema son para actualizar el tipo de complemento autoadministrado. Si se devuelve el número de versión, tiene el tipo de complemento de Amazon EKS instalado en el clúster. Para actualizarlo, siga el procedimiento que aparece en Actualización de un complemento, en lugar del procedimiento descrito en este tema. Si no está familiarizado con las diferencias entre los tipos de complementos, consulte Complementos de Amazon EKS.

  2. Consulte qué versión de la imagen del contenedor está instalada actualmente en el clúster.

    kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3
  3. Haga una copia de seguridad de la configuración actual para poder aplicar la misma configuración una vez que haya actualizado la versión.

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
  4. Consulte releases en GitHub para ver las versiones disponibles y familiarizarse con los cambios efectuados en la versión a la que desea actualizar.

  5. Si no tiene ninguna configuración personalizada, ejecute el comando que aparece debajo del encabezado To apply this release: en GitHub para la versión a la que desea actualizar.

    Si tiene una configuración personalizada, descargue el archivo de manifiesto con el siguiente comando, en lugar de aplicarlo. Cambie url-of-manifest-from-github por la URL de la versión de GitHub que está instalando.

    curl -O url-of-manifest-from-github/aws-k8s-cni.yaml

    Si es necesario, modifique el archivo con la configuración personalizada de la copia de seguridad que hizo y, a continuación, aplique el archivo modificado al clúster. Si los nodos no tienen acceso a los repositorios privados de Amazon ECR de Amazon EKS de donde se extraen las imágenes (consulte las líneas que comienzan con image: en el manifiesto), tendrá que descargar las imágenes, copiarlas en su propio repositorio y modificar el manifiesto para que extraiga las imágenes de su repositorio. Para obtener más información, consulte Copiar una imagen de contenedor de un repositorio en otro repositorio.

    kubectl apply -f aws-k8s-cni.yaml
  6. Confirme que la nueva versión ya esté instalada en el clúster.

    kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3