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.
Creación del complemento Amazon VPC CNI plugin for Kubernetes en Amazon EKS
Siga los siguientes pasos para crear el complemento Amazon VPC CNI plugin for Kubernetes en Amazon EKS.
Antes de empezar, revise las consideraciones. Para obtener más información, consulte Consideraciones.
Requisitos previos
Los siguientes son requisitos previos para el complemento Amazon VPC CNI plugin for Kubernetes en Amazon EKS.
-
Un clúster existente de Amazon EKS. Para implementar uno, consulte Introducción a Amazon EKS.
-
Un proveedor OpenID Connect (OIDC) de AWS Identity and Access Management (IAM) 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 complemento de CNI de Amazon VPC para utilizar IRSA. -
Si utiliza la versión
1.7.0
o posterior del Amazon VPC CNI plugin for Kubernetes y utiliza políticas de seguridad del Pod personalizadas, consulte Eliminar la política de seguridad predeterminada del Pod de Amazon EKSComprensión de las políticas de seguridad de los pods (PSP) creadas por Amazon EKS. -
importante
Las versiones
v1.16.0
av1.16.1
de Amazon VPC CNI plugin for Kubernetes eliminaron la compatibilidad con versiones1.23
y anteriores de Kubernetes. La versiónv1.16.2
de VPC CNI restaura la compatibilidad con las versiones1.23
y anteriores de Kubernetes y las especificacionesv0.4.0
de CNI.Las versiones
v1.16.0
av1.16.1
de Amazon VPC CNI plugin for Kubernetes implementan la versiónv1.0.0
de la especificación CNI. La especificaciónv1.0.0
de CNI es compatibles con los clústeres de EKS que ejecutan las versionesv1.24
o posteriores de Kubernetes. Las versionesv1.16.0
av1.16.1
de VPC CNI y la especificaciónv1.0.0
de CNI no son compatibles en las versionesv1.23
o anteriores de Kubernetes. Para obtener más información sobre la versiónv1.0.0
de la especificación CNI, consulte la Container Network Interface (CNI) Specificationen .
Procedimiento
Después de completar los requisitos previos, siga los siguientes pasos para crear el complemento.
-
Consulte qué versión del complemento está instalada en el clúster.
kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3
Un ejemplo de salida sería el siguiente.
v1.16.4-eksbuild.2
-
Consulte qué tipo del complemento está instalado en el clúster. Según la herramienta con la que haya creado el clúster, es posible que actualmente no tenga instalado el tipo de complemento Amazon EKS en el clúster. Reemplace
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 el número de versión, tiene el tipo de complemento de Amazon EKS instalado en el clúster y no es necesario que complete los pasos restantes del procedimiento. Si se devuelve un error, no tiene el tipo de complemento de Amazon EKS instalado en el clúster. Complete los pasos restantes de este procedimiento para instalarlo.
-
Guarde la configuración del complemento instalado actualmente.
kubectl get daemonset aws-node -n kube-system -o yaml >
aws-k8s-cni-old.yaml
-
Cree el complemento mediante el AWS CLI. Si desea utilizar AWS Management Console o
eksctl
para crear el complemento, consulteCreación de un complemento de Amazon EKS y especifiquevpc-cni
para el nombre del complemento. Copie el comando que sigue en su dispositivo. Realice las siguientes modificaciones en el comando según sea necesario y, a continuación, ejecute el comando modificado.-
Reemplace
por el nombre del clúster.my-cluster
-
Reemplace
por la versión más reciente que aparece en la tabla de versiones más recientes de la versión de su clúster.v1.18.5-eksbuild.1
-
Reemplace
111122223333
por el ID de su cuenta yAmazonEKSVPCCNIRole
por el nombre del rol de IAM existente que creó. Para especificar un rol, es necesario disponer de un proveedor de IAM OpenID Connect (OIDC) para el clúster. Para determinar si ya tiene uno para su clúster o si debe crearlo, consulte Creación de un proveedor de OIDC de IAM para su clúster.
aws eks create-addon --cluster-name
my-cluster
--addon-name vpc-cni --addon-version
\ --service-account-role-arn arn:aws:iam::v1.18.5-eksbuild.1
111122223333
:role/AmazonEKSVPCCNIRole
Si ha aplicado una configuración personalizada al complemento actual que entra en conflicto con la configuración predeterminada del complemento de Amazon EKS, es posible que se produzca un error en la creación. Si se produce un error en la creación, recibe un error que puede serle de utilidad para resolver el problema. Como alternativa, puede añadir
--resolve-conflicts OVERWRITE
al comando anterior. Esto permite que el complemento sobrescriba cualquier configuración personalizada existente. Una vez que haya creado el complemento, puede actualizarlo con la configuración personalizada. -
-
Confirme que la versión más reciente del complemento de la Kubernetes versión de su clúster se haya agregado al clúster. Reemplace
por el nombre del clúster.my-cluster
aws eks describe-addon --cluster-name
my-cluster
--addon-name vpc-cni --query addon.addonVersion --output textEs posible que la creación del complemento tarde varios segundos en completarse.
Un ejemplo de salida sería el siguiente.
v1.18.5-eksbuild.1
-
Si ha realizado ajustes personalizados en el complemento original, antes de crear el complemento de Amazon EKS, utilice la configuración que guardó en el paso anterior para actualizar el complemento de Amazon EKS con su configuración personalizada.
(Opcional) Instale el
cni-metrics-helper
en su clúster. Extrae información de la interfaz de red elástica y la dirección IP, agrega métricas en todo el clúster y publica las métricas en Amazon CloudWatch. Para obtener más información, consulte cni-metrics-helperen GitHub.