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.
Actualización del complemento autoadministrado kube-proxy de Kubernetes
importante
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 Cómo crear un complemento de Amazon EKS. Si no puede usar el complemento de Amazon EKS, le recomendamos que envíe una pregunta sobre los motivos por los que no puede hacerlo al repositorio de GitHub de la hoja de ruta de contenedores
Requisitos previos
-
Un clúster existente de Amazon EKS. Para implementar uno, consulte Introducción a Amazon EKS.
Consideraciones
-
Kube-proxyen un clúster de Amazon EKS tiene la misma política de compatibilidad y sesgo que Kubernetes. Aprenda cómo realizar la Comprobación de la compatibilidad de la versión del complemento de Amazon EKS con un clúster. -
Confirme que tiene instalado en el clúster el tipo de complemento autoadministrado. Reemplace
my-clusterpor el nombre de su clúster.aws eks describe-addon --cluster-name my-cluster --addon-name kube-proxy --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 del complemento de Amazon EKS, en lugar del procedimiento de 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 kube-proxy -n kube-system | grep ImageUn ejemplo de salida sería el siguiente.
Image: 602401143452.dkr.ecr.region-code.amazonaws.com/eks/kube-proxy:v1.29.1-eksbuild.2En el ejemplo de resultado,
v1.29.1-eksbuild.2es la versión instalada en el clúster. -
Para actualizar el complemento de
kube-proxy, sustituya602401143452yregion-codepor los valores obtenidos en el paso anterior. Sustituyav1.30.6-eksbuild.3por la versión dekube-proxyque aparece en la tabla Versión de imagen de contenedor kube-proxy autoadministrada más reciente disponible para cada versión de clúster de Amazon EKS.importante
Los manifiestos de cada tipo de imagen son diferentes y no son compatibles entre los tipos de imagen predeterminados o mínimos. Debe utilizar el mismo tipo de imagen que la imagen anterior para que el punto de entrada y los argumentos coincidan.
kubectl set image daemonset.apps/kube-proxy -n kube-system kube-proxy=602401143452.dkr.ecr.region-code.amazonaws.com/eks/kube-proxy:v1.30.6-eksbuild.3Un ejemplo de salida sería el siguiente.
daemonset.apps/kube-proxy image updated -
Confirme que la nueva versión ya esté instalada en el clúster.
kubectl describe daemonset kube-proxy -n kube-system | grep Image | cut -d ":" -f 3Un ejemplo de salida sería el siguiente.
v1.30.0-eksbuild.3 -
Si utiliza nodos
x86yArmen el mismo clúster y su clúster se implementó antes del 17 de agosto de 2020. A continuación, edite el manifiesto dekube-proxya fin de incluir un selector de nodos para varias arquitecturas de hardware con el siguiente comando. Esta es una operación que se realiza una vez. Después de agregar el selector al manifiesto, no es necesario que lo agregue cada vez que realiza una actualización del complemento. Si el clúster se implementó a partir del 17 de agosto de 2020,kube-proxyya cuenta con capacidad de varias arquitecturas.kubectl edit -n kube-system daemonset/kube-proxyAgregue el siguiente selector de nodos al archivo en el editor y guárdelo. Para ver un ejemplo de dónde incluir este texto en el editor, consulte el archivo de manifiesto de CNI
en GitHub. Esto permite a Kubernetes extraer la imagen de hardware correcta según la arquitectura de hardware del nodo. - key: "kubernetes.io/arch" operator: In values: - amd64 - arm64 -
Si su clúster se creó inicialmente con la versión de Kubernetes
1.14o posterior, puede omitir este paso porquekube-proxyya incluye estaAffinity Rule. Si creó inicialmente un clúster de Amazon EKS con versión1.13o anterior de Kubernetes y tiene la intención de utilizar nodos de Fargate en el clúster, edite su manifiesto dekube-proxypara incluir una reglaNodeAffinitya fin de evitar que los pods dekube-proxyprogramen en los nodos de Fargate. Esta es una edición que se realiza una vez. Después de agregar elAffinity Ruleal manifiesto, no es necesario que lo agregue cada vez que realiza una actualización del complemento. Edite el DaemonSet dekube-proxy.kubectl edit -n kube-system daemonset/kube-proxyAgregue la siguiente
Affinity Rulea la secciónspecdel DaemonSet del archivo en el editor y guárdelo. Para ver un ejemplo de dónde incluir este texto en el editor, consulte el archivo de manifiesto de CNIen GitHub. - key: eks.amazonaws.com/compute-type operator: NotIn values: - fargate
-