Actualizar el complemento autoadministrado Amazon VPC CNI plugin for Kubernetes
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
Requisitos previos
-
Un clúster de Amazon EKS existente. Para implementar uno, consulte Introducción a Amazon EKS.
-
Si su clúster es
1.21
o posterior, asegúrese de que sukube-proxy
y los complementos CoreDNS se encuentran en las versiones mínimas enumeradas en Tokens de cuenta de servicio. -
Un proveedor de AWS Identity and Access Management (IAM) OpenID Connect (OIDC) existente para el clúster. Para determinar si ya tiene un proveedor o para crear uno, consulte Creación de un proveedor de OIDC de IAM para su clúster.
-
Un rol de IAM con la política de IAM AmazonEKS_CNI_Policy
(si el clúster utiliza la familia IPv4
) o una política de IPv6 (si el clúster utiliza la familiaIPv6
) adjuntas. Para obtener más información, consulte Configuración del Amazon VPC CNI plugin for Kubernetes para utilizar los roles de IAM en las cuentas de servicio. -
Si utiliza la versión
1.7.0
o posterior del complemento CNI y utiliza políticas de seguridad del pod personalizadas, consulte Eliminar la política de seguridad predeterminada del pod de Amazon EKSPolítica de seguridad del pod.
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 a1.12
, primero debe actualizar a1.11
y, a luego, actualizar a1.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
-
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 textSi 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.
-
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
-
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
-
Consulte
releases
en GitHub para ver las versiones disponibles y familiarizarse con los cambios efectuados en la versión a la que desea actualizar. -
Si no tiene ninguna configuración personalizada, ejecute el comando que aparece debajo del encabezado
To apply this release:
en GitHub para la versióna 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.yamlSi 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
-
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