Cómo crear un complemento de Amazon EKS - Amazon EKS

Ayude a mejorar esta página

¿Quiere contribuir a esta guía del usuario? Elija el enlace Editar esta página en GitHub que se encuentra en el panel derecho de cada página. Sus contribuciones ayudarán a que nuestra guía del usuario sea mejor para todos.

Cómo crear un complemento de Amazon EKS

Los complementos de Amazon EKS son software de complementos para clústeres de Amazon EKS. Todos los complementos de Amazon EKS:

  • Incluyen las revisiones de seguridad y correcciones de errores más recientes.

  • Están validados por AWS para poder usarse con Amazon EKS.

  • Reducen la cantidad de trabajo necesaria para administrar el software de complementos.

Puede crear un complemento de Amazon EKS mediante eksctl, la AWS Management Console o la CLI de AWS. Si el complemento requiere un rol de IAM, consulte los detalles del complemento específico en Complementos de Amazon EKS para obtener más información sobre cómo crear el rol.

Requisitos previos

Siga estos pasos antes de crear un complemento:

Procedimiento

Puede crear un complemento de Amazon EKS mediante eksctl, la AWS Management Console o la CLI de AWS. Si el complemento requiere un rol de IAM, consulte los detalles del complemento específico en Complementos de Amazon EKS disponibles de AWS para obtener más detalles sobre cómo crear el rol.

Creación de complemento (eksctl)

  1. Visualización de los nombres de los complementos disponibles para una versión de clúster. Reemplace 1.30 por la versión del clúster.

    eksctl utils describe-addon-versions --kubernetes-version 1.30 | grep AddonName

    Un ejemplo de salida sería el siguiente.

    "AddonName": "aws-ebs-csi-driver", "AddonName": "coredns", "AddonName": "kube-proxy", "AddonName": "vpc-cni", "AddonName": "adot", "AddonName": "dynatrace_dynatrace-operator", "AddonName": "upbound_universal-crossplane", "AddonName": "teleport_teleport", "AddonName": "factorhouse_kpow", [...]
  2. Visualización de las versiones disponibles para el complemento que le gustaría crear. Reemplace 1.30 por la versión del clúster. Reemplace name-of-addon por el nombre del complemento para el que desea ver las versiones. El nombre debe ser uno de los nombres que obtuvo en el paso anterior.

    eksctl utils describe-addon-versions --kubernetes-version 1.30 --name name-of-addon | grep AddonVersion

    El siguiente resultado es un ejemplo de lo que se devuelve para el complemento denominado vpc-cni. Puede ver que el complemento tiene varias versiones disponibles.

    "AddonVersions": [ "AddonVersion": "v1.12.0-eksbuild.1", "AddonVersion": "v1.11.4-eksbuild.1", "AddonVersion": "v1.10.4-eksbuild.1", "AddonVersion": "v1.9.3-eksbuild.1",
    1. Determine si el complemento que desea crear es uno de Amazon EKS o de AWS Marketplace. AWS Marketplace tiene complementos de terceros que requieren que complete pasos adicionales para crear el complemento.

      eksctl utils describe-addon-versions --kubernetes-version 1.30 --name name-of-addon | grep ProductUrl

      Si no se devuelve ningún resultado, el complemento es de Amazon EKS. Si se devuelve algún resultado, significa que el complemento es un complemento de AWS Marketplace. El siguiente resultado corresponde a un complemento denominado teleport_teleport.

      "ProductUrl": "https://aws.amazon.com/marketplace/pp?sku=3bda70bb-566f-4976-806c-f96faef18b26"

      Puede obtener más información sobre el complemento en AWS Marketplace con la URL devuelta. Si el complemento requiere una suscripción, puede suscribirse al complemento a través de AWS Marketplace. Si va a crear un complemento desde AWS Marketplace, la entidad principal de IAM que utilice para crear el complemento debe tener permiso para crear el rol vinculado al servicio AWSServiceRoleForAWSLicenseManagerRole. Para obtener información sobre cómo asignar los permisos a una entidad principal de IAM, consulte Adición y eliminación de permisos de identidad de IAM en la Guía del usuario de IAM.

  3. Creación de un complemento de Amazon EKS. Copie el comando y sustituya user-data de la siguiente manera:

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

    • Reemplace name-of-addon por el nombre del complemento que desea crear.

    • Si quiere una versión del complemento anterior a la más reciente, reemplace más recientes por el número de versión que quiera utilizar, tomando como referencia la salida del paso anterior.

    • Si el complemento usa un rol de cuenta de servicio, reemplace 111122223333 por el ID de la cuenta y role-name por el nombre del rol. Para obtener instrucciones sobre cómo crear un rol para su cuenta de servicio, consulte la documentación del complemento que está creando. Para obtener una lista de los complementos, consulte Complementos de AWS. 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 un rol de cuenta de servicio, elimine --service-account-role-arnarn:aws:iam::111122223333:role/role-name.

    • Este comando de ejemplo sobrescribe la configuración de cualquier versión autoadministrada existente del complemento, si la hay. Si no quiere sobrescribir la configuración de un complemento autoadministrado existente, elimine la opción --force. Si lo hace, y el complemento de Amazon EKS necesita sobrescribir la configuración existente de un complemento autoadministrado, se produce un error en la creación del complemento de Amazon EKS y recibe un mensaje para ayudarlo a resolver el conflicto. Antes de especificar esta opción, asegúrese de que el complemento de Amazon EKS no administra la configuración que necesita administrar, ya que dicha configuración se sobrescribe con esta opción.

      eksctl create addon --cluster my-cluster --name name-of-addon --version latest \ --service-account-role-arn arn:aws:iam::111122223333:role/role-name --force

      Puede ver una lista completa de las opciones disponibles para el comando.

      eksctl create addon --help

      Para obtener más información acerca de otras opciones, consulte Addons (Complementos) en la documentación de eksctl.

Creación de complemento (consola de AWS)

  1. Abra la consola de Amazon EKS.

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

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

  4. Elija la pestaña Complementos.

  5. Escoja Obtener más complementos.

  6. En la página Seleccionar complementos, elija los complementos que desea agregar al clúster. Puede agregar tantos complementos de Amazon EKS y complementos de AWS Marketplace como necesite.

    En el caso de los complementos de AWS Marketplace, la entidad principal de IAM que se utilice para crear un complemento debe tener permisos para leer los derechos del complemento desde AWS LicenseManager. AWS LicenseManager requiere el rol vinculado al servicio (SLR) AWSServiceRoleForAWSLicenseManagerRole que permite que los recursos de AWS administren las licencias en su nombre. El SLR es obligatorio una sola vez, por cuenta, y no tendrá que crear SLR independientes para cada complemento ni para cada clúster. Para obtener información sobre cómo asignar los permisos a una entidad principal de IAM, consulte Adición y eliminación de permisos de identidad de IAM en la Guía del usuario de IAM.

    Si los complementos de AWS Marketplace que desea instalar no aparecen en la lista, puede hacer clic en la numeración de páginas para ver resultados de páginas adicionales o buscar en el cuadro de búsqueda. En las Opciones de filtrado, también puede buscar por categoría, proveedor o modelo de precios y, a continuación, seleccionar los complementos en los resultados de la búsqueda. Una vez que haya seleccionado los complementos que desee instalar, seleccione Siguiente.

  7. En la página Configurar las opciones de complementos seleccionados, haga lo siguiente:

    1. Seleccione Ver opciones de suscripción para abrir el formulario Opciones de suscripción. Revise las secciones Detalles de precios y Legal y, a continuación, pulse el botón Suscribirse para continuar.

    2. En Versión, seleccione la versión que desee instalar. Recomendamos la versión marcada como la más reciente, a menos que el complemento individual que está creando recomiende una versión diferente. Para determinar si un complemento tiene una versión recomendada, consulte la documentación del complemento que está creando. Para obtener una lista de los complementos, consulte Complementos de AWS.

    3. Tiene dos opciones para configurar roles para complementos: rol de IAM de EKS Pod Identities y roles de IAM para cuentas de servicio (IRSA). Siga el paso correspondiente a la opción que prefiera. Si todos los complementos que seleccionó tienen la opción Requiere suscripción en Estado, elija Siguiente. No podrá continuar con la configuración de esos complementos hasta que se haya suscrito a estos después de crear el clúster. Para los complementos que no tienen Requiere suscripción en Estado, haga lo siguiente:

      1. En el caso del rol de IAM de Pod Identity para la cuenta de servicio, puede utilizar un rol de IAM de EKS Pod Identity existente o crear uno mediante el botón Crear rol recomendado. Este campo solo proporcionará opciones con la política de confianza adecuada. Si no hay ningún rol que seleccionar, significa que no existe ningún rol con la misma política de confianza. Para configurar un rol de IAM de EKS Pod Identity para las cuentas de servicio del complemento seleccionado, seleccione Crear rol recomendado. El asistente de creación de roles se abre en una ventana independiente. El asistente completará automáticamente la información del rol de la siguiente manera. Para cada complemento en el que desee crear el rol de IAM de EKS Pod Identity, complete los pasos del asistente de IAM como se indica a continuación.

        • En el paso Seleccionar entidad de confianza, la opción de servicio de AWS para EKS y el caso de uso para EKS: Pod Identity están preseleccionados, y la política de confianza adecuada se completará automáticamente para el complemento. Por ejemplo, el rol se creará con la política de confianza adecuada que contenga la entidad principal de IAM pods.eks.amazonaws.com, tal y como se detalla en Ventajas de las Pod Identities de EKS. Elija Siguiente.

        • En el paso Agregar permisos, se preselecciona la política administrada adecuada para la política de roles para el complemento. Por ejemplo, para el complemento CNI de Amazon VPC, el rol se creará con la política administrada “AmazonEKS_CNI_Policy” como se detalla en Complemento CNI de Amazon VPC para Kubernetes. Elija Siguiente.

        • En el paso Nombrar, revisar y crear, en Nombre de rol, el nombre de rol predeterminado se completa automáticamente para el complemento. Por ejemplo, para el complemento de CNI de Amazon VPC, el rol se creará con el nombre AmazonEKSPodIdentityAmazonVPCCNIRole. En Descripción, la descripción predeterminada se completa automáticamente con la descripción adecuada para el complemento. Por ejemplo, para el complemento CNI de Amazon VPC, el rol se creará con la descripción Permite que los pods que se ejecutan en el clúster de Amazon EKS accedan a los recursos de AWS. En Política de confianza, podrá ver la política de confianza completada para el complemento. Elija Creación de rol.

          NOTA: Al conservar el nombre predeterminado del rol, EKS puede preseleccionar el rol para complementos en nuevos clústeres o al agregar complementos a clústeres existentes. Puede sobrescribir este nombre y el rol estará disponible para el complemento en todos los clústeres, pero se tendrá que seleccionar manualmente en el menú desplegable.

      2. Para los complementos que no muestran Requiere suscripción en el Estado y en los que desea configurar roles mediante IRSA, consulte la documentación del complemento que va a crear para definir una política de IAM y asociarla a un rol. Para obtener una lista de los complementos, consulte Complementos de AWS. 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 Valores de configuración opcionales.

      4. Si el complemento requiere configuración, introdúzcala en el cuadro Configuration values (Valores de configuración). Para determinar si el complemento requiere información de configuración, consulte la documentación del complemento que está creando. Para obtener una lista de los complementos, consulte Complementos de AWS.

      5. En Método de resolución de conflictos, elija una de las opciones disponibles. Si elije Anular en Método de resolución de conflictos, una o varias de las configuraciones del complemento existente pueden sobrescribirse con la configuración del complemento de Amazon EKS. Si no habilita esta opción y hay un conflicto con la configuración existente, la operación fallará. Puede utilizar el mensaje de error resultante para solucionar el conflicto. Antes de elegir esta opción, asegúrese de que el complemento de Amazon EKS no administra las configuraciones que debe autoadministrar.

      6. Elija Siguiente.

  8. En la página Revisar y añadir, elija Crear. Una vez finalizada la instalación del complemento, verá los complementos instalados.

  9. Si alguno de los complementos que ha instalado requiere una suscripción, siga estos pasos:

    1. Selecciona el botón Subscribe (Suscribirse) en la esquina inferior derecha del complemento. Se lo redirigirá a la página del complemento en AWS Marketplace. Lea la información sobre el complemento, como Product Overview (Descripción general del producto) y Pricing Information (Información sobre precios).

    2. Seleccione el botón Continue to Subscribe (Continuar con la suscripción) en la parte superior derecha de la página del complemento.

    3. Lea la sección Terms and Conditions (Condiciones generales). Si está de acuerdo con ellas, seleccione Accept Terms (Aceptar las condiciones). La suscripción puede tardar varios minutos en procesarse. Mientras se procesa la suscripción, el botón Return to Amazon EKS Console (Volver a la consola de Amazon EKS) aparece en gris.

    4. Una vez que la suscripción haya terminado de procesarse, el botón Return to Amazon EKS Console (Volver a la consola de Amazon EKS) ya no aparecerá en gris. Elija el botón para volver a la pestaña Add-ons (Complementos) de la consola de Amazon EKS de su clúster.

    5. Para el complemento al que se suscribió, seleccione Remove and reinstall (Eliminar y volver a instalar) y, a continuación, elija Reinstalar el complemento (Reinstall add-on). La instalación del complemento puede tardar varios minutos. Cuando finalice la instalación, podrá configurar el complemento.

Creación de complemento (AWS CLI)

  1. Necesita una versión 2.12.3 o posterior, o bien una versión 1.27.160 o posterior de la Interfaz de la línea de comandos de AWS (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 Instalación y Configuración rápida con aws configure en la Guía del usuario de la interfaz de la línea de comandos de AWS. 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 CLI de AWS en su directorio principal en la Guía del usuario de AWS CloudShell.

  2. Determine qué complementos están disponibles. Puede ver todos los complementos disponibles, su tipo y su editor. También puede ver la URL de los complementos que están disponibles a través de AWS Marketplace. Reemplace 1.30 por la versión del clúster.

    aws eks describe-addon-versions --kubernetes-version 1.30 \ --query 'addons[].{MarketplaceProductUrl: marketplaceInformation.productUrl, Name: addonName, Owner: owner Publisher: publisher, Type: type}' --output table

    Un ejemplo de salida sería el siguiente.

    --------------------------------------------------------------------------------------------------------------------------------------------------------- | DescribeAddonVersions | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+ | MarketplaceProductUrl | Name | Owner | Publisher | Type | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+ | None | aws-ebs-csi-driver | aws | eks | storage | | None | coredns | aws | eks | networking | | None | kube-proxy | aws | eks | networking | | None | vpc-cni | aws | eks | networking | | None | adot | aws | eks | observability | | https://aws.amazon.com/marketplace/pp/prodview-brb73nceicv7u | dynatrace_dynatrace-operator | aws-marketplace | dynatrace | monitoring | | https://aws.amazon.com/marketplace/pp/prodview-uhc2iwi5xysoc | upbound_universal-crossplane | aws-marketplace | upbound | infra-management | | https://aws.amazon.com/marketplace/pp/prodview-hd2ydsrgqy4li | teleport_teleport | aws-marketplace | teleport | policy-management | | https://aws.amazon.com/marketplace/pp/prodview-vgghgqdsplhvc | factorhouse_kpow | aws-marketplace | factorhouse | monitoring | | [...] | [...] | [...] | [...] | [...] | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+

    El resultado puede ser diferente. En el resultado de este ejemplo, hay tres complementos diferentes disponibles de tipo networking y cinco complementos con un editor de tipo eks. Es posible que los complementos con aws-marketplace, que aparecen en la columna Owner, requieran una suscripción antes de poder instalarlos. Puede visitar la URL para obtener más información sobre el complemento y suscribirse a él.

  3. Puede ver qué versiones están disponibles para cada complemento. Reemplace 1.30 por la versión de su clúster y reemplace vpc-cni por el nombre de un complemento devuelto en el paso anterior.

    aws eks describe-addon-versions --kubernetes-version 1.30 --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. (Opcional) Busque las opciones de configuración del complemento elegido ejecutando el siguiente comando:

    aws eks describe-addon-configuration --addon-name vpc-cni --addon-version v1.12.0-eksbuild.1
    { "addonName": "vpc-cni", "addonVersion": "v1.12.0-eksbuild.1", "configurationSchema": "{\"$ref\":\"#/definitions/VpcCni\",\"$schema\":\"http://json-schema.org/draft-06/schema#\",\"definitions\":{\"Cri\":{\"additionalProperties\":false,\"properties\":{\"hostPath\":{\"$ref\":\"#/definitions/HostPath\"}},\"title\":\"Cri\",\"type\":\"object\"},\"Env\":{\"additionalProperties\":false,\"properties\":{\"ADDITIONAL_ENI_TAGS\":{\"type\":\"string\"},\"AWS_VPC_CNI_NODE_PORT_SUPPORT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_ENI_MTU\":{\"format\":\"integer\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CONFIGURE_RPFILTER\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOGLEVEL\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_RANDOMIZESNAT\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_VETHPREFIX\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_LEVEL\":{\"type\":\"string\"},\"DISABLE_INTROSPECTION\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_METRICS\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_NETWORK_RESOURCE_PROVISIONING\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_POD_ENI\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_PREFIX_DELEGATION\":{\"format\":\"boolean\",\"type\":\"string\"},\"WARM_ENI_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"WARM_PREFIX_TARGET\":{\"format\":\"integer\",\"type\":\"string\"}},\"title\":\"Env\",\"type\":\"object\"},\"HostPath\":{\"additionalProperties\":false,\"properties\":{\"path\":{\"type\":\"string\"}},\"title\":\"HostPath\",\"type\":\"object\"},\"Limits\":{\"additionalProperties\":false,\"properties\":{\"cpu\":{\"type\":\"string\"},\"memory\":{\"type\":\"string\"}},\"title\":\"Limits\",\"type\":\"object\"},\"Resources\":{\"additionalProperties\":false,\"properties\":{\"limits\":{\"$ref\":\"#/definitions/Limits\"},\"requests\":{\"$ref\":\"#/definitions/Limits\"}},\"title\":\"Resources\",\"type\":\"object\"},\"VpcCni\":{\"additionalProperties\":false,\"properties\":{\"cri\":{\"$ref\":\"#/definitions/Cri\"},\"env\":{\"$ref\":\"#/definitions/Env\"},\"resources\":{\"$ref\":\"#/definitions/Resources\"}},\"title\":\"VpcCni\",\"type\":\"object\"}}}" }

    El resultado es un esquema JSON estándar.

    Este es un ejemplo de valores de configuración válidos, en formato JSON, que funcionan con el esquema anterior.

    { "resources": { "limits": { "cpu": "100m" } } }

    Este es un ejemplo de valores de configuración válidos, en formato YAML, que funcionan con el esquema anterior.

    resources: limits: cpu: 100m
  5. Determine si el complemento requiere permisos de IAM. Si es así, debe (1) determinar si desea utilizar las Pod Identity de EKS o los roles de IAM para las cuentas de servicio (IRSA), (2) determinar el ARN de la función de IAM que se va a utilizar con el complemento y (3) determinar el nombre de la cuenta de servicio de Kubernetes que utiliza el complemento. Para obtener más información, consulte Obtención de información de IAM sobre un complemento de Amazon EKS.

    • Amazon EKS sugiere usar las Pod Identity de EKS si el complemento lo admite. Esto requiere que el agente de Pod Identity esté instalado en el clúster. Para obtener más información sobre el uso de las Pod Identity con los complementos, consulte Roles de IAM para los complementos de Amazon EKS.

    • Si el complemento o el clúster no están configurados para las Pod Identity de EKS, utilice IRSA. Confirme que IRSA esté configurado en su clúster.

    • Consulte la documentación de complementos de Amazon EKS para determinar si el complemento requiere permisos de IAM y el nombre de la cuenta de servicio de Kubernetes asociada.

      1. Creación de un complemento de Amazon EKS. 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.

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

    • Reemplace version-number por una versión devuelta en el paso anterior que desee utilizar.

    • Si el complemento no requiere permisos de IAM, elimine <service-account-configuration>.

    • Realice una de las siguientes acciones:

      • Si el complemento (1) requiere permisos de IAM y (2) su clúster utiliza Pod Identities de EKS, reemplace <service-account-configuration> por la siguiente asociación de Pod Identity. Reemplace <service-account-name> por el nombre de la cuenta de servicio que utiliza el complemento. Reemplace <role-arn> con el ARN de un rol de IAM. El rol debe tener la política de confianza requerida por las Pod Identity de EKS.

        --pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'
      • Si el complemento (1) requiere permisos de IAM y (2) su clúster utiliza IRSA, reemplace <service-account-configuration> por la siguiente configuración de IRSA. Reemplace 111122223333 por el ID de su cuenta y role-name por el nombre del rol de IAM existente que creó. Para obtener instrucciones sobre cómo crear un rol, consulte la documentación del complemento que está creando. Para obtener una lista de los complementos, consulte Complementos de AWS. 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.

        --service-account-role-arn arn:aws::iam::111122223333:role/role-name
    • Estos comandos de ejemplo sobrescriben la opción --configuration-values de cualquier versión autoadministrada existente del complemento, si la hay. Sustitúyalo por los valores de configuración que desee, como una cadena o una entrada de archivo. Si no desea proporcionar valores de configuración, elimine la opción --configuration-values. Si no quiere que la CLI de AWS sobrescriba la configuración de un complemento autoadministrado existente, elimine la opción --resolve-conflicts OVERWRITE. Si lo hace, y el complemento de Amazon EKS necesita sobrescribir la configuración existente de un complemento autoadministrado, se produce un error en la creación del complemento de Amazon EKS y recibe un mensaje para ayudarlo a resolver el conflicto. Antes de especificar esta opción, asegúrese de que el complemento de Amazon EKS no administra la configuración que necesita administrar, ya que dicha configuración se sobrescribe con esta opción.

      aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \ <service-account-configuration> --configuration-values '{"resources":{"limits":{"cpu":"100m"}}}' --resolve-conflicts OVERWRITE
      aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \ <service-account-configuration> --configuration-values 'file://example.yaml' --resolve-conflicts OVERWRITE

      Para ver una lista completa de las opciones ‎disponibles, consulte create-addon ‎ en la Referencia de los comandos de Amazon EKS. Si el complemento que ha creado aparece en aws-marketplace en la columna Owner de un paso anterior, es posible que no se pueda crear y que reciba un mensaje de error similar al siguiente.

      { "addon": { "addonName": "addon-name", "clusterName": "my-cluster", "status": "CREATE_FAILED", "addonVersion": "version", "health": { "issues": [ { "code": "AddonSubscriptionNeeded", "message": "You are currently not subscribed to this add-on. To subscribe, visit the AWS Marketplace console, agree to the seller EULA, select the pricing type if required, then re-install the add-on" } ] } } }

      Si recibe un error similar al del resultado anterior, visite la URL del resultado del paso anterior para suscribirse al complemento. Una vez suscrito, vuelva a ejecutar el comando create-addon.