Actualización de un complemento de Amazon EKS - Amazon EKS

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:

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
  1. Determine los complementos y las versiones actuales de los complementos instalados en su clúster. Reemplace my-cluster por el nombre del clúster.

    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.

  2. Actualice el complemento.

    1. Copie el comando que sigue en su dispositivo. Realice las siguientes modificaciones en el comando según sea necesario:

      • Reemplace my-cluster por el nombre del clúster.

      • Reemplace region-code por la Región de AWS en la que se encuentra el clúster.

      • Reemplace vpc-cni por un nombre de complemento devuelto en el paso anterior que desea actualizar.

      • Si quiere una versión del complemento anterior a la versión más reciente, sustitúyala por latest 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.

      • Si el complemento usa una cuenta de servicio de Kubernetes y un rol de IAM, reemplace 111122223333 por el ID de su cuenta y el role-name 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.

        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 preserve 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 a 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 a none, 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
    2. Ejecute el comando modificado para crear el archivo update-addon.yaml.

    3. 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
  1. Abra la consola de Amazon EKS en https://console.aws.amazon.com/eks/home#/clusters.

  2. En el panel de navegación izquierdo, elija Clusters (Clústeres).

  3. Elija el nombre del clúster para el que desea actualizar el complemento.

  4. Elija la pestaña Complementos.

  5. Elija el complemento que desea actualizar.

  6. Elija Editar.

  7. En la página Configurar nombre del complemento, haga lo siguiente:

    1. 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.

    2. 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.

    3. Seleccione Ajustes de configuración opcionales.

    4. 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.

    5. 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.

  8. Elija Guardar cambios.

AWS CLI
Requisito previo

La versión 2.12.3 o posterior, o bien, la versión 1.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 aws --version | cut -d / -f2 | cut -d ' ' -f1. Los administradores de paquetes tales como 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
  1. Consulte la lista de complementos instalados. Reemplace my-cluster por el nombre del clúster.

    aws eks list-addons --cluster-name my-cluster

    Un ejemplo de salida sería el siguiente.

    { "addons": [ "coredns", "kube-proxy", "vpc-cni" ] }
  2. Vea la versión actual del complemento que desea actualizar. Reemplace my-cluster por el nombre de su clúster y vpc-cni por el nombre del complemento que desea actualizar.

    aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query "addon.addonVersion" --output text

    Un ejemplo de salida sería el siguiente.

    v1.10.4-eksbuild.1
  3. Determine qué versiones del complemento se encuentran disponibles para la versión de su clúster. Reemplace 1.31 por la versión de su clúster y vpc-cni por el nombre del complemento que desea actualizar.

    aws eks describe-addon-versions --kubernetes-version 1.31 --addon-name vpc-cni \ --query 'addons[].addonVersions[].{Version: addonVersion, Defaultversion: compatibilities[0].defaultVersion}' --output table

    Un 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 columna Defaultversion es la versión con la que se creó el complemento, de forma predeterminada.

  4. 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 my-cluster por el nombre del clúster.

    • Reemplace vpc-cni por el nombre del complemento que desea actualizar y que se ha devuelto en el resultado de un paso anterior.

    • Reemplace version-number 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.

    • Si el complemento usa una cuenta de servicio de Kubernetes y un rol de IAM, reemplace 111122223333 por el ID de su cuenta y el role-name 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.

      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 a 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 a NONE, 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 --configuration-values '{}'. 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 {} por los nuevos parámetros.

    aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \ --service-account-role-arn arn:aws:iam::111122223333:role/role-name --configuration-values '{}' --resolve-conflicts PRESERVE
  5. Compruebe el estado de la actualización. Reemplace my-cluster por el nombre de su clúster y vpc-cni por el nombre del complemento que está actualizando.

    aws eks describe-addon --cluster-name my-cluster --addon-name vpc-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.