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.
Siga los siguientes pasos para crear el complemento CNI de Amazon VPC para 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 CNI de Amazon VPC para Kubernetes en Amazon EKS.
-
Un clúster existente de Amazon EKS. Para implementar uno, consulte Introducción a Amazon EKS.
-
Un proveedor existente de OpenID Connect (OIDC) de AWS Identity and Access Management (IAM) para su clúster. Para determinar si ya tiene un proveedor o para crear uno, consulte Crear 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 acerca de los roles de CNI de VPC, consulte Configuración del complemento de CNI de Amazon VPC para utilizar IRSA. Para obtener más información acerca de la política IPv6, consulte Cree una política de IAM para clústeres que utilizan la familia IPv6. -
Si utiliza la versión
1.7.0
o posterior del complemento CNI de Amazon VPC para Kubernetes y utiliza políticas de seguridad del pod personalizadas, consulte Eliminación de la política de seguridad predeterminada del pod de Amazon EKS y Descripción de las políticas de seguridad de los pods (PSP) creadas por Amazon EKS.
importante
Las versiones de la v1.16.0
a la v1.16.1
del complemento CNI de Amazon VPC para Kubernetes elimina la compatibilidad con la versión 1.23
y anteriores de Kubernetes. La versión v1.16.2
de CNI de VPC restaura la compatibilidad con la versión 1.23
y anteriores de Kubernetes y las especificaciones de CNI v0.4.0
.
Las versiones de la v1.16.0
a la v1.16.1
del complemento CNI de Amazon VPC para Kubernetes implementan la versión de especificación de CNI v1.0.0
. La especificación de CNI v1.0.0
es compatible con los clústeres de EKS que ejecutan la versión v1.24
o posteriores de Kubernetes. Las versiones de la v1.16.0
a la v1.16.1
de CNI de VPC y la especificación de CNI v1.0.0
no son compatibles en la versión v1.23
o anteriores de Kubernetes. Para obtener más información sobre la especificación de CNI v1.0.0
, consulte Container Network Interface (CNI) Specification
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 text
Si 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 la AWS CLI. Si desea utilizar AWS Management Console o
eksctl
para crear el complemento, consulteCómo crear 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
my-cluster
por el nombre de su clúster. -
Sustituya
v1.19.2-eksbuild.1
por la versión más reciente que aparece en la tabla de versiones más recientes correspondiente a la versión del clúster. Para obtener la tabla de la última versión, consulte Versiones de CNI de Amazon VPC. -
Sustituya
111122223333
por el ID de la cuenta yAmazonEKSVPCCNIRole
por el nombre del rol de IAM existente que creó. Para especificar un rol, es necesario disponer de un proveedor de OpenID Connect (OIDC) de IAM para el clúster. Para determinar si ya tiene uno para su clúster o si debe crearlo, consulte Crear un proveedor de OIDC de IAM para su clúster.aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.19.2-eksbuild.1 \ --service-account-role-arn arn:aws:iam::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 versión de su clúster de Kubernetes se haya agregado al 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 text
Es posible que la creación del complemento tarde varios segundos en completarse.
Un ejemplo de salida sería el siguiente.
v1.19.2-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 EKS con su configuración personalizada. Siga los pasos de Cómo actualizar la CNI de Amazon VPC (complemento de Amazon EKS).
-
(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.