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.
Actualización de un complemento de Amazon EKS
Amazon EKS no actualiza de forma automática el complemento cuando se lanzan versiones nuevas o después de que actualice el clúster a una nueva versión secundaria de Kubernetes. Para actualizar el complemento en un clúster existente, debe iniciar la actualización. Luego de iniciar la actualización, Amazon EKS actualiza el complemento en su nombre. Antes de actualizar un complemento, consulte la documentación actual del complemento. Para obtener una lista de los complementos disponibles, consulte Complementos de Amazon EKS disponibles desde AWS. Si el complemento requiere un rol de IAM, consulte los detalles del complemento específico en Complementos de Amazon EKS disponibles desde AWS para obtener información sobre cómo crear el rol.
Requisitos previos
Siga estos pasos antes de crear un complemento:
-
Compruebe si el complemento requiere un rol de IAM. Para obtener más información, consulte Complementos de Amazon EKS.
-
Compruebe que la versión del complemento de Amazon EKS sea compatible con el clúster. Para obtener más información, consulte Comprobación de la compatibilidad de la versión del complemento de Amazon EKS con un clúster.
Procedimiento
Puede actualizar un complemento de Amazon EKS mediante eksctl
, la AWS Management Console o la AWS CLI.
- eksctl
-
Para actualizar el complemento de Amazon EKS con
eksctl
-
Determine los complementos y las versiones actuales de los complementos instalados en su clúster. Reemplace
por el nombre del clúster.my-cluster
eksctl get addon --cluster
my-cluster
Un ejemplo de salida sería el siguiente.
NAME VERSION STATUS ISSUES IAMROLE UPDATE AVAILABLE coredns v1.8.7-eksbuild.2 ACTIVE 0 kube-proxy v1.23.7-eksbuild.1 ACTIVE 0 v1.23.8-eksbuild.2 vpc-cni v1.10.4-eksbuild.1 ACTIVE 0 v1.12.0-eksbuild.1,v1.11.4-eksbuild.1,v1.11.3-eksbuild.1,v1.11.2-eksbuild.1,v1.11.0-eksbuild.1
El resultado puede tener un aspecto diferente, según los complementos y las versiones que tenga en su clúster. Puede ver que en el resultado del ejemplo anterior, dos complementos existentes en el clúster tienen versiones más recientes disponibles en la columna
UPDATE AVAILABLE
. -
Actualice el complemento.
-
Copie el comando que sigue en su dispositivo. Realice las siguientes modificaciones en el comando según sea necesario:
-
Reemplace
por el nombre del clúster.my-cluster
-
Reemplace
por la Región de AWS en la que se encuentra el clúster.region-code
-
Reemplace
por un nombre de complemento devuelto en el paso anterior que desea actualizar.vpc-cni
-
Si quiere una versión del complemento anterior a la versión más reciente, sustitúyala por
con el número de versión que aparece en el resultado del paso anterior que desea usar. Algunos complementos tienen versiones recomendadas. Para obtener más información, consulte la documentación del complemento que está actualizando.latest
-
Si el complemento usa una cuenta de servicio de Kubernetes y un rol de IAM, reemplace
por el ID de su cuenta y el111122223333
por el nombre de un rol de IAM existente que haya creado. Para obtener instrucciones sobre cómo crear un rol, consulte la documentación del complemento que está creando. Para especificar un rol de cuenta de servicio, es necesario disponer de un proveedor OpenID Connect (OIDC) de IAM 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.role-name
Si el complemento no usa una cuenta de servicio de Kubernetes o un rol de IAM, elimine la línea
serviceAccountRoleARN: arn:aws:iam::
.111122223333
:role/role-name
-
La opción
conserva los valores existentes del complemento. Si ha establecido valores personalizados para la configuración del complemento y no utiliza esta opción, Amazon EKS sobrescribe los valores con sus valores predeterminados. Si utiliza esta opción, le recomendamos que pruebe cualquier cambio de campo y valor en un clúster que no sea de producción antes de actualizar el complemento de su clúster de producción. Si cambia este valor apreserve
overwrite
, todas las configuraciones cambiarán a los valores predeterminados de Amazon EKS. Si ha establecido valores personalizados para cualquier configuración, es posible que se sobrescriban con los valores predeterminados de Amazon EKS. Si cambia este valor anone
, Amazon EKS no cambia el valor de ninguna configuración, pero la actualización podría fallar. Si se produce un error en la actualización, recibe un mensaje de error que lo ayuda a resolver el conflicto.cat >update-addon.yaml <<EOF apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name:
my-cluster
region:region-code
addons: - name:vpc-cni
version:latest
serviceAccountRoleARN: arn:aws:iam::111122223333
:role/role-name
resolveConflicts:preserve
EOF
-
-
Ejecute el comando modificado para crear el archivo
update-addon.yaml
. -
Aplique el archivo de configuración al clúster.
eksctl update addon -f update-addon.yaml
Para obtener más información acerca de cómo actualizar complementos, consulte Updating addons
en la documentación de eksctl
. -
-
- AWS Management Console
-
Para actualizar el complemento de Amazon EKS con la AWS Management Console
Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters
. -
En el panel de navegación izquierdo, elija Clusters (Clústeres).
-
Elija el nombre del clúster para el que desea actualizar el complemento.
-
Elija la pestaña Complementos.
-
Elija el complemento que desea actualizar.
-
Elija Editar.
-
En la página Configurar
nombre del complemento
, haga lo siguiente:-
Elija la versión que desea utilizar. Es posible que el complemento tenga una versión recomendada. Para obtener más información, consulte la documentación del complemento que está actualizando.
-
En Seleccionar rol de IAM, puede utilizar el rol de IAM del nodo (No establecido) o un rol existente que haya creado para usarlo con el complemento. Si no hay ningún rol para seleccionar, no dispone de un rol existente. Independientemente de la opción que elija, consulte la documentación del complemento que está creando para crear una política de IAM y adjuntarla a un rol. Para seleccionar un rol de IAM es necesario que tenga 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 Creación de un proveedor de OIDC de IAM para su clúster.
-
Seleccione Ajustes de configuración opcionales.
-
En Valores de configuración, ingrese cualquier información de configuración específica del complemento. Para obtener más información, consulte la documentación del complemento que está actualizando.
-
En Conflict resolution method (Método de resolución de conflictos), seleccione una de las opciones. Si ha establecido valores personalizados para la configuración del complemento, le recomendamos que utilice la opción Preserve (Conservar). Si no elige esta opción, Amazon EKS sobrescribe sus valores con los valores predeterminados. Si utiliza esta opción, le recomendamos que pruebe cualquier cambio de campo y valor en un clúster que no sea de producción antes de actualizar el complemento de su clúster de producción.
-
-
Elija Guardar cambios.
- AWS CLI
-
Requisito previo
La versión
2.12.3
o posterior, o bien, la versión1.27.160
o posterior de la AWS Command Line Interface (AWS CLI) instalada y configurada en su dispositivo o AWS CloudShell. Para comprobar su versión actual, utilice
. Los administradores de paquetes tales comoaws --version | cut -d / -f2 | cut -d ' ' -f1
yum
,apt-get
o Homebrew para macOS suelen estar atrasados varias versiones respecto de la versión de la AWS CLI más reciente. Para instalar la versión más reciente, consulte Instalar, actualizar y desinstalar la AWS CLI y Configuración rápida con aws configure en la Guía del usuario de AWS Command Line Interface. La versión de AWS CLI instalada en AWS CloudShell también puede estar atrasada varias versiones respecto de la versión más reciente. Para actualizarla, consulte Instalación de la AWS CLI en el directorio de inicio en la Guía del usuario de AWS CloudShell.Para actualizar el complemento de Amazon EKS con la AWS CLI
-
Consulte la lista de complementos instalados. Reemplace
por el nombre del clúster.my-cluster
aws eks list-addons --cluster-name
my-cluster
Un ejemplo de salida sería el siguiente.
{ "addons": [ "coredns", "kube-proxy", "vpc-cni" ] }
-
Vea la versión actual del complemento que desea actualizar. Reemplace
por el nombre de su clúster ymy-cluster
por el nombre del complemento que desea actualizar.vpc-cni
aws eks describe-addon --cluster-name
my-cluster
--addon-namevpc-cni
--query "addon.addonVersion" --output textUn ejemplo de salida sería el siguiente.
v1.10.4-eksbuild.1
-
Determine qué versiones del complemento se encuentran disponibles para la versión de su clúster. Reemplace
por la versión de su clúster y1.31
por el nombre del complemento que desea actualizar.vpc-cni
aws eks describe-addon-versions --kubernetes-version
--addon-name1.31
vpc-cni
\ --query 'addons[].addonVersions[].{Version: addonVersion, Defaultversion: compatibilities[0].defaultVersion}' --output tableUn ejemplo de salida sería el siguiente.
------------------------------------------ | DescribeAddonVersions | +-----------------+----------------------+ | Defaultversion | Version | +-----------------+----------------------+ | False | v1.12.0-eksbuild.1 | | True | v1.11.4-eksbuild.1 | | False | v1.10.4-eksbuild.1 | | False | v1.9.3-eksbuild.1 | +-----------------+----------------------+
La versión con
True
que aparece en la columnaDefaultversion
es la versión con la que se creó el complemento, de forma predeterminada. -
Actualice su 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. Para obtener más información sobre este comando, consulte
update-addon
en la Referencia de la línea de comandos de Amazon EKS.-
Reemplace
por el nombre del clúster.my-cluster
-
Reemplace
por el nombre del complemento que desea actualizar y que se ha devuelto en el resultado de un paso anterior.vpc-cni
-
Reemplace
por una versión devuelta en el resultado del paso anterior que a la que desea actualizar. Algunos complementos tienen versiones recomendadas. Para obtener más información, consulte la documentación del complemento que está actualizando.version-number
-
Si el complemento usa una cuenta de servicio de Kubernetes y un rol de IAM, reemplace
por el ID de su cuenta y el111122223333
por el nombre de un rol de IAM existente que haya creado. Para obtener instrucciones sobre cómo crear un rol, consulte la documentación del complemento que está creando. Para especificar un rol de cuenta de servicio, es necesario disponer de un proveedor OpenID Connect (OIDC) de IAM 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.role-name
Si el complemento no usa una cuenta de servicio de Kubernetes o un rol de IAM, elimine la línea
serviceAccountRoleARN: arn:aws:iam::
.111122223333
:role/role-name
-
La opción
--resolve-conflicts
PRESERVE
(CONSERVAR) conserva los valores existentes del complemento. Si ha establecido valores personalizados para la configuración del complemento y no utiliza esta opción, Amazon EKS sobrescribe los valores con sus valores predeterminados. Si utiliza esta opción, le recomendamos que pruebe cualquier cambio de campo y valor en un clúster que no sea de producción antes de actualizar el complemento de su clúster de producción. Si cambia este valor aOVERWRITE
, todas las configuraciones cambiarán a los valores predeterminados de Amazon EKS. Si ha establecido valores personalizados para cualquier configuración, es posible que se sobrescriban con los valores predeterminados de Amazon EKS. Si cambia este valor aNONE
, Amazon EKS no cambia el valor de ninguna configuración, pero la actualización podría fallar. Si se produce un error en la actualización, recibe un mensaje de error que lo ayuda a resolver el conflicto.
-
Si desea eliminar toda la configuración personalizada, realice la actualización mediante la opción
. Esto vuelve a establecer toda la configuración personalizada a los valores predeterminados. Si no quiere cambiar su configuración personalizada, no proporcione el indicador--configuration-values '{}'
. Si desea ajustar una configuración personalizada, sustituya--configuration-values
por los nuevos parámetros.{}
aws eks update-addon --cluster-name
my-cluster
--addon-namevpc-cni
--addon-versionversion-number
\ --service-account-role-arn arn:aws:iam::111122223333
:role/role-name
--configuration-values '{}'
--resolve-conflictsPRESERVE
-
-
Compruebe el estado de la actualización. Reemplace
por el nombre de su clúster ymy-cluster
por el nombre del complemento que está actualizando.vpc-cni
aws eks describe-addon --cluster-name
my-cluster
--addon-namevpc-cni
Un ejemplo de salida sería el siguiente.
{ "addon": { "addonName": "
vpc-cni
", "clusterName": "my-cluster
", "status": "UPDATING", [...]Cuando la actualización se completa, el estado cambia a
ACTIVE
.
-