

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

# Complementos de Amazon EKS
<a name="eks-add-ons"></a>

Un complemento es un software que proporciona capacidades operativas de soporte para aplicaciones de Kubernetes, pero no es específico de la aplicación. Esto incluye software como agentes de observabilidad o controladores de Kubernetes que permiten al clúster interactuar con recursos subyacentes de AWS para redes, informática y almacenamiento. La comunidad de Kubernetes, proveedores de nube como AWS o proveedores de terceros suelen crear y mantener este tipo de software. Amazon EKS instala de forma automática complementos autoadministrados como CNI de Amazon VPC para Kubernetes, `kube-proxy` y CoreDNS para cada clúster. Tenga en cuenta que el complemento de CNI de la VPC no es compatible con los Nodos híbridos de Amazon EKS y no se implementa en nodos híbridos. Puede cambiar la configuración predeterminada de los complementos y actualizarlos cuando lo desee.

Los complementos de Amazon EKS proporcionan la instalación y administración de un conjunto seleccionado de complementos para clústeres de Amazon EKS. Todos los complementos de Amazon EKS incluyen los parches de seguridad más recientes, correcciones de errores y están validados por AWS para trabajar con Amazon EKS. Los complementos de Amazon EKS permiten garantizar de forma coherente que los clústeres de Amazon EKS sean seguros y estables, así como reducir la cantidad de trabajo necesario para instalar, configurar y actualizar complementos. Si un complemento autoadministrado, como `kube-proxy`, ya se ejecuta en su clúster y está disponible como complemento de Amazon EKS, a continuación, puede instalar el complemento `kube-proxy` de Amazon EKS para comenzar a beneficiarse de las capacidades de los complementos de Amazon EKS.

Puede actualizar campos de configuración administrados de Amazon EKS específicos para complementos de Amazon EKS a través de la API de Amazon EKS. Además, puede modificar los campos de configuración no administrados por Amazon EKS directamente en el clúster de Kubernetes una vez que se inicie el complemento. Esto incluye la definición de campos de configuración específicos para un complemento cuando corresponda. Amazon EKS no anulará estos cambios una vez realizados. Esto es posible mediante la característica de aplicación del lado del servidor de Kubernetes. Para obtener más información, consulte [Determinación de los campos que se pueden personalizar para los complementos de Amazon EKS](kubernetes-field-management.md).

Puede usar complementos de Amazon EKS con cualquier tipo de nodos de Amazon EKS. Para obtener más información, consulte [Administración de los recursos de computación mediante nodos](eks-compute.md).

Puede agregar, actualizar o eliminar complementos de Amazon EKS mediante la API de Amazon EKS, la Consola de administración de AWS, la CLI de AWS y `eksctl`. También puede crear complementos de Amazon EKS mediante [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html).

## Consideraciones
<a name="eks-add-ons-considerations"></a>

Tenga en cuenta lo siguiente cuando utilice los complementos de Amazon EKS:
+ Para configurar complementos para el clúster, la [entidad principal de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) debe tener permisos de IAM para trabajar con complementos. Para obtener más información, consulte las acciones con `Addon` en su nombre en [Acciones definidas por Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-actions-as-permissions).
+ Los complementos de Amazon EKS se ejecutan en los nodos que aprovisiona o configura para el clúster. Los tipos de nodo incluyen instancias de Amazon EC2, Fargate y nodos híbridos.
+ Puede modificar campos que no estén administrados por Amazon EKS para personalizar la instalación de un complemento de Amazon EKS. Para obtener más información, consulte [Determinación de los campos que se pueden personalizar para los complementos de Amazon EKS](kubernetes-field-management.md).
+ Si crea un clúster con la Consola de administración de AWS, el `kube-proxy` de Amazon EKS, los complementos CNI de Amazon VPC para Kubernetes y CoreDNS de Amazon EKS se agregan automáticamente al clúster. Si utiliza `eksctl` para crear el clúster con un archivo de `config`, `eksctl` también puede crear el clúster con complementos de Amazon EKS. Si crea el clúster con `eksctl` sin un archivo de `config` o con cualquier otra herramienta, el `kube-proxy` autoadministrado y los complementos CNI de Amazon VPC para Kubernetes y CoreDNS están instalados, en lugar de los complementos de Amazon EKS. Puede administrarlos o agregar los complementos de Amazon EKS de forma manual después de crear el clúster. Independientemente del método que utilice para crear el clúster, el complemento de CNI de la VPC no se instala en los nodos híbridos.
+ El `ClusterRoleBinding` `eks:addon-cluster-admin` une el `ClusterRole` `cluster-admin` a la identidad de Kubernetes `eks:addon-manager`. El rol tiene los permisos necesarios para que la identidad de `eks:addon-manager` cree espacios de nombres de Kubernetes e instale complementos en los espacios de nombres. Si el `ClusterRoleBinding` `eks:addon-cluster-admin` se elimina, el clúster de Amazon EKS seguirá funcionando; sin embargo, Amazon EKS ya no podrá administrar ningún complemento. Todos los clústeres que comiencen con las siguientes versiones de plataforma utilizan el nuevo `ClusterRoleBinding`.
+ Se ha validado la compatibilidad de un subconjunto de complementos de EKS de AWS con los Nodos híbridos de Amazon EKS. Para obtener más información, consulte la tabla de compatibilidad que se encuentra en [Complementos de AWS](workloads-add-ons-available-eks.md).

## Espacio de nombres personalizado para complementos
<a name="custom-namespace"></a>

Para los complementos de AWS y de la comunidad, tiene la opción de especificar un espacio de nombres personalizado durante la creación del complemento. Una vez que instale un complemento en un espacio de nombres específico, debe eliminarlo y volver a crearlo para cambiar su espacio de nombres.

Si no especifica ningún espacio de nombres, se utilizará el espacio de nombres predefinido para el complemento.

Utilice espacios de nombres personalizados para una mejor organización y aislamiento de los objetos de complementos dentro del clúster de EKS. Esta flexibilidad le ayuda a alinear los complementos con sus necesidades operativas y la estrategia de espacios de nombres existente.

Puede configurar un espacio de nombres personalizado al crear un complemento. Para obtener más información, consulte [Cómo crear un complemento de Amazon EKS](creating-an-add-on.md).

### Obtención de un espacio de nombres predefinido para un complemento
<a name="_get_predefined_namespace_for_add_on"></a>

El espacio de nombres predefinido para un complemento es el espacio de nombres en el que se instalará si no se especifica ninguno.

Para obtener el espacio de nombres predefinido para un complemento, utilice el siguiente comando:

```
aws eks describe-addon-versions --addon-name <addon-name> --query "addons[].defaultNamespace"
```

Ejemplo de código de salida:

```
[
    "kube-system"
]
```

## Consideraciones para el modo automático de Amazon EKS
<a name="addon-consider-auto"></a>

El modo automático de Amazon EKS incluye capacidades que ofrecen funcionalidades esenciales del clúster, entre las que se incluyen:
+ Conexión de pods en red
+ Conexión de servicios en red
+ DNS de clúster
+ Escalado automático
+ Almacenamiento en bloque
+ Controlador del equilibrador de carga
+ Agente de Pod Identity
+ Agente de supervisión de nodos

Con la computación del modo automático, muchos complementos de EKS de uso común se vuelven redundantes, como:
+ CNI de Amazon VPC
+ kube-proxy
+ CoreDNS
+ Controlador de CSI de Amazon EBS
+ Agente de Pod Identity de EKS

Sin embargo, si el clúster combina el modo automático con otras opciones de computación, como instancias de EC2 autoadministradas, grupos de nodos administrados o AWS Fargate, aún se necesitarán estos complementos. AWS ha mejorado los complementos de EKS con reglas antiafinidad que garantizan automáticamente que los pods complementarios se programen solo en los tipos de computación compatibles. Además, ahora los usuarios pueden aprovechar la API `DescribeAddonVersions` de complementos de EKS para verificar los computeTypes admitidos para cada complemento y sus versiones específicas. Además, con el modo automático de EKS, los controladores mencionados anteriormente se ejecutan en la infraestructura propiedad de AWS. Por lo tanto, es posible que ni siquiera los vea en las cuentas, a menos que utilice el modo automático de EKS con otros tipos de computación, en cuyo caso verá los controladores instalados en el clúster.

Si tiene previsto habilitar el modo automático de EKS en un clúster existente, es posible que deba actualizar la versión de determinados complementos. Para obtener más información, consulte [Versiones del complemento requeridas](auto-enable-existing.md#auto-addons-required) para el modo automático de EKS.

## Soporte
<a name="addon-support"></a>

 AWS publica varios tipos de complementos con diferentes niveles de soporte.
+  **Complementos de AWS:** estos complementos son creados por AWS y cuentan con pleno soporte.
  + Utilice un complemento de AWS para trabajar con otros servicios de AWS, como Amazon EFS.
  + Para obtener más información, consulte [Complementos de AWS](workloads-add-ons-available-eks.md).
+  **Complementos de AWS Marketplace:** estos complementos son analizados por AWS y cuentan con el soporte de un socio de AWS independiente.
  + Utilice un complemento del Marketplace para aportar características valiosas y sofisticadas al clúster, como la supervisión con Splunk.
  + Para obtener más información, consulte [Complementos de AWS Marketplace](workloads-add-ons-available-vendors.md).
+  **Complementos de la comunidad**: AWS analiza estos complementos, pero el soporte está a cargo de la comunidad de código abierto.
  + Utilice un complemento de la comunidad para reducir la complejidad que supone instalar software común de código abierto, como el Servidor de métricas de Kubernetes.
  + El origen de los paquetes de complementos de la comunidad es AWS. AWS solo valida los complementos de la comunidad para la compatibilidad de versiones.
  + Para obtener más información, consulte [Complementos de la comunidad](community-addons.md).

En la tabla siguiente se indica el alcance del soporte para cada tipo de complemento:


| Categoría | Característica |  Complementos de AWS |  Complementos de AWS Marketplace | Complementos de la comunidad | 
| --- | --- | --- | --- | --- | 
|  Desarrollo  |  Creado por AWS   |  Sí  |  No  |  Sí  | 
|  Desarrollo  |  Validado por AWS   |  Sí  |  No  |  Sí\$1  | 
|  Desarrollo  |  Validado por un socio de AWS  |  No  |  Sí  |  No  | 
|  Mantenimiento  |  Analizado por AWS   |  Sí  |  Sí  |  Sí  | 
|  Mantenimiento  |  Revisado por AWS   |  Sí  |  No  |  Sí  | 
|  Mantenimiento  |  Revisado por un socio de AWS  |  No  |  Sí  |  No  | 
|  Distribución  |  Publicado por AWS   |  Sí  |  No  |  Sí  | 
|  Distribución  |  Publicado por un socio de AWS  |  No  |  Sí  |  No  | 
|  Soporte  |  Soporte de instalación básico proporcionado por AWS   |  Sí  |  Sí  |  Sí  | 
|  Soporte  |  Soporte pleno por parte de AWS  |  Sí  |  No  |  No  | 
|  Soporte  |  Soporte pleno por parte de un socio de AWS  |  No  |  Sí  |  No  | 

 `*`: la validación de los complementos de la comunidad solo incluye la compatibilidad de las versiones de Kubernetes. Por ejemplo, si instala un complemento comunitario en un clúster, AWS comprueba si es compatible con la versión de Kubernetes del clúster.

 Los complementos de AWS Marketplace pueden descargar dependencias de software adicionales desde fuentes de terceros fuera de AWS. AWS no analiza ni válida estas dependencias de terceros. Tenga en cuenta los requisitos de seguridad al implementar complementos de AWS Marketplace que obtienen dependencias externas.

# Complementos de AWS
<a name="workloads-add-ons-available-eks"></a>

Los siguientes complementos de Amazon EKS están disponibles para crearlos en el clúster. Puede ver la lista más actualizada de complementos disponibles mediante `eksctl`, la Consola de administración de AWS o la AWS CLI. Para ver todos los complementos disponibles o instalar un complemento, consulte [Cómo crear un complemento de Amazon EKS](creating-an-add-on.md). Si un complemento requiere permisos de IAM, debe tener un proveedor de OpenID Connect (OIDC) de IAM para el clúster. Para determinar si ya tiene uno o si debe crearlo, consulte [Crear un proveedor de OIDC de IAM para su clúster](enable-iam-roles-for-service-accounts.md). Puede crear o eliminar un complemento una vez que lo haya instalado. Para obtener más información, consulte [Actualización de un complemento de Amazon EKS](updating-an-add-on.md) o [Cómo eliminar un complemento de Amazon EKS de un clúster](removing-an-add-on.md). Para obtener más información sobre las consideraciones específicas al ejecutar complementos de EKS con Nodos híbridos de Amazon EKS, consulte [Cómo configurar complementos para nodos híbridos](hybrid-nodes-add-ons.md).

Puede utilizar cualquiera de los siguientes complementos de Amazon EKS.


| Descripción | Más información | Tipos de computación compatibles | 
| --- | --- | --- | 
|  Proporcione redes de VPC nativas para su clúster.  |   [Complemento CNI de Amazon VPC para Kubernetes](#add-ons-vpc-cni)   |  EC2  | 
|  Un servidor de DNS flexible y extensible que puede servir como el DNS del clúster de Kubernetes  |   [CoreDNS](#add-ons-coredns)   |  EC2, Fargate, Modo automático de EKS, Nodos híbridos de EKS  | 
|  Mantenga las reglas de red en cada nodo de Amazon EC2.  |   [`Kube-proxy`](#add-ons-kube-proxy)   |  EC2, Nodos híbridos de EKS  | 
|  Proporcione almacenamiento de Amazon EBS para su clúster.  |   [Controlador CSI de Amazon EBS](#add-ons-aws-ebs-csi-driver)   |  EC2  | 
|  Proporcione almacenamiento de Amazon EFS para el clúster.  |   [Controlador CSI de Amazon EFS](#add-ons-aws-efs-csi-driver)   |  EC2, Modo automático de EKS  | 
|  Proporcione almacenamiento de Amazon FSx para Lustre para su clúster  |   [Controlador CSI de Amazon FSx](#add-ons-aws-fsx-csi-driver)   |  EC2, Modo automático de EKS  | 
|  Proporcione almacenamiento de Amazon S3 para el clúster.  |   [Controlador CSI del Mountpoint para Amazon S3](#mountpoint-for-s3-add-on)   |  EC2, Modo automático de EKS  | 
|  Detecte otros problemas de estado de los nodos  |   [Agente de supervisión de nodos](#add-ons-eks-node-monitoring-agent)   |  EC2, Nodos híbridos de EKS  | 
|  Habilite el uso de la funcionalidad de captura de instantáneas en controladores de CSI compatibles, como el controlador de CSI de Amazon EBS.  |   [Controlador de instantáneas CSI](#addons-csi-snapshot-controller)   |  EC2, Fargate, Modo automático de EKS, Nodos híbridos de EKS  | 
|  La gobernanza de tareas de SageMaker HyperPod optimiza la asignación y el uso de los recursos de computación entre los equipos de los clústeres de Amazon EKS, abordando así las ineficiencias en la priorización de tareas y el uso compartido de recursos.  |   [Gobernanza de tareas de Amazon SageMaker HyperPod](#addons-hyperpod)   |  EC2, Modo automático de EKS,  | 
|  El complemento de observabilidad de Amazon SageMaker HyperPod proporciona capacidades integrales de supervisión y observabilidad para los clústeres de HyperPod.  |   [Complemento de observabilidad para Amazon SageMaker HyperPod](#addons-hyperpod-observability)   |  EC2, Modo automático de EKS,  | 
|  El operador de entrenamiento de Amazon SageMaker HyperPod permite un entrenamiento distribuido eficiente en los clústeres de Amazon EKS con capacidades avanzadas de administración de recursos y programación.  |   [Operador de entrenamiento de Amazon SageMaker HyperPod](#addons-hyperpod-training-operator)   |  EC2, Modo automático de EKS  | 
|  El operador de inferencia de Amazon SageMaker HyperPod permite la implementación y la administración de cargas de trabajo de inferencia de IA de alto rendimiento con utilización optimizada de recursos y eficiencia de costos.  |   [Operador de inferencia de Amazon SageMaker HyperPod](#addons-hyperpod-inference-operator)   |  EC2, Modo automático de EKS  | 
|  Un agente de Kubernetes que recopila datos de flujo de red y los reporta a Amazon CloudWatch, permitiendo una supervisión integral de las conexiones TCP en los nodos del clúster.  |   [Agente del monitor de flujo de red de AWS](#addons-network-flow)   |  EC2, Modo automático de EKS  | 
|  Distribución segura, lista para la producción y compatible con AWS del proyecto OpenTelemetry.  |   [AWS Distro para OpenTelemetry](#add-ons-adot)   |  EC2, Fargate, Modo automático de EKS, Nodos híbridos de EKS  | 
|  Servicio de supervisión de seguridad que analiza y procesa los orígenes de datos fundacionales, incluidos los eventos de administración de AWS CloudTrail y los registros de flujo de Amazon VPC. Amazon GuardDuty también procesa características, como los registros de auditoría de Kubernetes y la supervisión del tiempo de ejecución.  |   [Agente Amazon GuardDuty](#add-ons-guard-duty)   |  EC2, Modo automático de EKS  | 
|  Servicio de supervisión y observabilidad proporcionado por AWS. Este complemento instala el agente de CloudWatch y habilita tanto CloudWatch Application Signals como Información de contenedores de Amazon CloudWatch con una observabilidad mejorada para Amazon EKS  |   [Agente de Amazon CloudWatch Observability](#amazon-cloudwatch-observability)   |  EC2, Modo automático de EKS, Nodos híbridos de EKS  | 
|  Ofrece la posibilidad de administrar las credenciales de las aplicaciones, de un modo similar a cómo los perfiles de instancia de EC2 proporcionan credenciales a instancias de EC2.  |   [Agente de Pod Identity de EKS](#add-ons-pod-id)   |  EC2, Nodos híbridos de EKS  | 
|  Active cert-manager para emitir certificados X.509 desde AWS Private CA. Requiere cert-manager.  |   [Conector de AWS Private CA para Kubernetes](#add-ons-aws-privateca-connector)   |  EC2, Fargate, Modo automático de EKS, Nodos híbridos de EKS  | 
|  Generación de métricas de Prometheus sobre el rendimiento de los dispositivos de red SR-IOV  |   [Exportador de métricas de red SR-IOV](#add-ons-sriov-network-metrics-exporter)   |  EC2  | 
|  Recupere los secretos desde AWS Secrets Manager y los parámetros del Almacén de parámetros de AWS Systems Manager y móntelos como archivos en los pods de Kubernetes.  |   [Proveedor de AWS para el controlador CSI del Almacén de secretos](#add-ons-aws-secrets-store-csi-driver-provider)   |  EC2, Modo automático de EKS, Nodos híbridos de EKS  | 
|  Con Espacios, puede crear y administrar aplicaciones de JupyterLab y el Editor de código para ejecutar cargas de trabajo de ML interactivas.  |   [Espacios de Amazon SageMaker](#add-ons-amazon-sagemaker-spaces)   |  HyperPod  | 

## Complemento CNI de Amazon VPC para Kubernetes
<a name="add-ons-vpc-cni"></a>

El complemento CNI de Amazon VPC para Kubernetes de Amazon EKS es un complemento de interfaz de red de contenedores (CNI) de Kubernetes que proporciona redes de VPC nativas para el clúster. El tipo autoadministrado o administrado de este complemento se instala en cada nodo de Amazon EC2 de forma predeterminada. Para obtener más información, consulte [Complemento de Interfaz de red de contenedores (CNI) de Kubernetes](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/).

**nota**  
No es necesario instalar este complemento en los clústeres del modo automático de Amazon EKS. Para obtener más información, consulte [Consideraciones para el modo automático de Amazon EKS](eks-add-ons.md#addon-consider-auto).

El nombre del complemento de Amazon EKS es `vpc-cni`.

### Permisos de IAM necesarios
<a name="add-ons-vpc-cni-iam-permissions"></a>

Este complemento utiliza la capacidad de roles de IAM para cuentas de servicio de Amazon EKS. Para obtener más información, consulte [Roles de IAM para cuentas de servicio](iam-roles-for-service-accounts.md).

Si el clúster usa la familia `IPv4`, se requieren los permisos de la [AmazonEKS\$1CNI\$1Policy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKS_CNI_Policy.html). Si el clúster utiliza la familia `IPv6`, entonces debe [crear una política de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) con los permisos del [modo IPv6](https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/iam-policy.md#ipv6-mode). Puede crear un rol de IAM, adjuntarle una de las políticas y anotar la cuenta de servicio de Kubernetes utilizada por el complemento con el siguiente comando.

Reemplace *my-cluster* por el nombre del clúster y *AmazonEKSVPCCNIRole* por el nombre del rol. Si el clúster usa la familia `IPv6`, reemplace *AmazonEKS\$1CNI\$1Policy* por el nombre de la política que creó. Este comando requiere que tenga [eksctl](https://eksctl.io) instalado en su dispositivo. Si necesita usar una herramienta diferente para crear el rol, adjuntarle la política y anotar la cuenta de servicio de Kubernetes, consulte [Asignación de roles de IAM a cuentas de servicio de Kubernetes](associate-service-account-role.md).

```
eksctl create iamserviceaccount --name aws-node --namespace kube-system --cluster my-cluster --role-name AmazonEKSVPCCNIRole \
    --role-only --attach-policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy --approve
```

### Actualización de la información
<a name="add-ons-vpc-cni-update-information"></a>

Solo puede actualizar una versión secundaria a la vez. Por ejemplo, si su versión actual es la `1.28.x-eksbuild.y ` y desea actualizarla a la `1.30.x-eksbuild.y `, primero debe actualizarla a la `1.29.x-eksbuild.y ` y luego a la `1.30.x-eksbuild.y `. Para obtener más información acerca de la actualización de complementos, consulte [Cómo actualizar la CNI de Amazon VPC (complemento de Amazon EKS)](vpc-add-on-update.md).

## CoreDNS
<a name="add-ons-coredns"></a>

El complemento de CoreDNS de Amazon EKS es un servidor de DNS flexible y extensible que puede servir como el DNS del clúster de Kubernetes. El tipo autoadministrado o administrado de este complemento se instaló de forma predeterminada cuando se creó el clúster. Al lanzar un clúster de Amazon EKS con al menos un nodo, se implementan dos réplicas de la imagen de CoreDNS de forma predeterminada, independientemente del número de nodos implementados en el clúster. Los pods de CoreDNS proporcionan resolución de nombres para todos los pods del clúster. Los pods de CoreDNS se pueden implementar en los nodos de Fargate si el clúster incluye un perfil de Fargate con un espacio de nombres que coincida con el espacio de nombres para la implementación de CoreDNS. Para obtener más información, consulte [Cómo definir los pods que deben lanzarse en AWS Fargate](fargate-profile.md) 

**nota**  
No es necesario instalar este complemento en los clústeres del modo automático de Amazon EKS. Para obtener más información, consulte [Consideraciones para el modo automático de Amazon EKS](eks-add-ons.md#addon-consider-auto).

El nombre del complemento de Amazon EKS es `coredns`.

### Permisos de IAM necesarios
<a name="add-ons-coredns-iam-permissions"></a>

Este complemento no requiere ningún permiso.

### Información adicional
<a name="add-ons-coredns-information"></a>

Para obtener más información sobre CoreDNS, consulte [Using CoreDNS for Service Discovery](https://kubernetes.io/docs/tasks/administer-cluster/coredns/) y [Customizing DNS Service](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/) en la documentación de Kubernetes.

## `Kube-proxy`
<a name="add-ons-kube-proxy"></a>

El complemento de `Kube-proxy` de Amazon EKS mantiene las reglas de red en cada nodo de Amazon EC2. Permite la comunicación de red con sus pods. De forma predeterminada, el tipo autoadministrado o administrado de este complemento se instala en cada nodo de Amazon EC2 en el clúster.

**nota**  
No es necesario instalar este complemento en los clústeres del modo automático de Amazon EKS. Para obtener más información, consulte [Consideraciones para el modo automático de Amazon EKS](eks-add-ons.md#addon-consider-auto).

El nombre del complemento de Amazon EKS es `kube-proxy`.

### Permisos de IAM necesarios
<a name="add-ons-kube-proxy-iam-permissions"></a>

Este complemento no requiere ningún permiso.

### Actualización de la información
<a name="add-ons-kube-proxy-update-information"></a>

Antes de actualizar la versión actual, tenga en cuenta los siguientes requisitos:
+  `Kube-proxy` en un clúster de Amazon EKS tiene la misma [política de compatibilidad y sesgo que Kubernetes](https://kubernetes.io/releases/version-skew-policy/#kube-proxy).

### Información adicional
<a name="add-ons-kube-proxy-information"></a>

Para obtener más información sobre `kube-proxy`, consulte [kube-proxy](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/) en la documentación de Kubernetes.

## Controlador CSI de Amazon EBS
<a name="add-ons-aws-ebs-csi-driver"></a>

El complemento del controlador de CSI de Amazon EBS para Amazon EKS es un complemento de interfaz de almacenamiento de contenedores (CSI) de Kubernetes que proporciona almacenamiento de Amazon EBS para el clúster.

**nota**  
No es necesario instalar este complemento en los clústeres del modo automático de Amazon EKS. El modo automático incluye una función de almacenamiento en bloque. Para obtener más información, consulte [Implementación de una carga de trabajo con estado de ejemplo en el modo automático de EKS](sample-storage-workload.md).

El nombre del complemento de Amazon EKS es `aws-ebs-csi-driver`.

### Permisos de IAM necesarios
<a name="add-ons-aws-ebs-csi-driver-iam-permissions"></a>

Este complemento utiliza la capacidad de roles de IAM para cuentas de servicio de Amazon EKS. Para obtener más información, consulte [Roles de IAM para cuentas de servicio](iam-roles-for-service-accounts.md). Los permisos de la política administrada [AmazonEBSCSIDriverPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEBSCSIDriverPolicy.html) de AWS son obligatorios. Cree un rol de IAM y adjunte la política administrada del rol de IAM con el siguiente comando. Reemplace *my-cluster* por el nombre del clúster y *AmazonEKS\$1EBS\$1CSI\$1DriverRole* por el nombre del rol. Este comando requiere que tenga [eksctl](https://eksctl.io) instalado en su dispositivo. Si necesita usar una herramienta diferente o necesita usar una [clave de KMS](https://aws.amazon.com/kms/) personalizada para el cifrado, consulte[Paso 1: creación de un rol de IAM](ebs-csi.md#csi-iam-role).

```
eksctl create iamserviceaccount \
    --name ebs-csi-controller-sa \
    --namespace kube-system \
    --cluster my-cluster \
    --role-name AmazonEKS_EBS_CSI_DriverRole \
    --role-only \
    --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy \
    --approve
```

### Información adicional
<a name="add-ons-aws-ebs-csi-driver-information"></a>

Para obtener más información sobre el complemento, consulte [Uso del almacenamiento de volúmenes de Kubernetes con Amazon EBS](ebs-csi.md).

## Controlador CSI de Amazon EFS
<a name="add-ons-aws-efs-csi-driver"></a>

El complemento del controlador de CSI de Amazon EFS para Amazon EKS es un complemento de interfaz de almacenamiento de contenedores (CSI) de Kubernetes que proporciona almacenamiento de Amazon EFS para el clúster.

El nombre del complemento de Amazon EKS es `aws-efs-csi-driver`.

### Permisos de IAM necesarios
<a name="add-ons-aws-efs-csi-driver-iam-permissions"></a>

 **Permisos de IAM requeridos**: este complemento utiliza la capacidad roles de IAM para cuentas de servicio de Amazon EKS. Para obtener más información, consulte [Roles de IAM para cuentas de servicio](iam-roles-for-service-accounts.md). Los permisos de la política administrada [AmazonEFSCSIDriverPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEFSCSIDriverPolicy.html) de AWS son obligatorios. Cree un rol de IAM y adjunte la política administrada del rol de IAM con los siguientes comandos. Reemplace *my-cluster* por el nombre del clúster y *AmazonEKS\$1EFS\$1CSI\$1DriverRole* por el nombre del rol. Estos comandos requieren que tenga [eksctl](https://eksctl.io) instalado en su dispositivo. Si necesita utilizar una herramienta diferente, consulte  [Paso 1: creación de un rol de IAM](efs-csi.md#efs-create-iam-resources).

```
export cluster_name=my-cluster
export role_name=AmazonEKS_EFS_CSI_DriverRole
eksctl create iamserviceaccount \
    --name efs-csi-controller-sa \
    --namespace kube-system \
    --cluster $cluster_name \
    --role-name $role_name \
    --role-only \
    --attach-policy-arn arn:aws:iam::aws:policy/service-role/AmazonEFSCSIDriverPolicy \
    --approve
TRUST_POLICY=$(aws iam get-role --output json --role-name $role_name --query 'Role.AssumeRolePolicyDocument' | \
    sed -e 's/efs-csi-controller-sa/efs-csi-*/' -e 's/StringEquals/StringLike/')
aws iam update-assume-role-policy --role-name $role_name --policy-document "$TRUST_POLICY"
```

### Información adicional
<a name="add-ons-aws-efs-csi-driver-information"></a>

Para obtener más información sobre el complemento, consulte [Uso del almacenamiento del sistema de archivos elástico con Amazon EFS](efs-csi.md).

## Controlador CSI de Amazon FSx
<a name="add-ons-aws-fsx-csi-driver"></a>

El complemento del controlador de CSI de Amazon ELS para Amazon FSx es un complemento de interfaz de almacenamiento de contenedores (CSI) de Kubernetes que proporciona almacenamiento de Amazon FSx para Lustre para el clúster.

El nombre del complemento de Amazon EKS es `aws-fsx-csi-driver`.

**nota**  
Las instalaciones preexistentes del controlador de CSI de Amazon FSx en el clúster pueden provocar errores en la instalación de los complementos. Si intenta instalar la versión del complemento de Amazon EKS mientras existe un controlador de CSI de FSx que no es de EKS, se producirá un error en la instalación debido a conflictos de recursos. Utilice la marca `OVERWRITE` durante la instalación para resolver este problema:  

  ```
  aws eks create-addon --addon-name aws-fsx-csi-driver --cluster-name my-cluster --resolve-conflicts OVERWRITE
  ```
El complemento de EKS del controlador de CSI de Amazon FSx requiere el agente de EKS Pod Identity para la autenticación. Sin este componente, se producirá el error `Amazon EKS Pod Identity agent is not installed in the cluster` en el complemento, que impedirá las operaciones de volumen. Instale el agente de Pod Identity antes o después de implementar el complemento del controlador de CSI de FSx. Para obtener más información, consulte [Configuración del agente de Pod Identity de Amazon EKS](pod-id-agent-setup.md).

### Permisos de IAM necesarios
<a name="add-ons-aws-fsx-csi-driver-iam-permissions"></a>

Este complemento utiliza la capacidad de roles de IAM para cuentas de servicio de Amazon EKS. Para obtener más información, consulte [Roles de IAM para cuentas de servicio](iam-roles-for-service-accounts.md). Los permisos de la política administrada [AmazonFSxFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonFSxFullAccess.html) de AWS son obligatorios. Cree un rol de IAM y adjunte la política administrada del rol de IAM con el siguiente comando. Reemplace *my-cluster* por el nombre del clúster y *AmazonEKS\$1FSx\$1CSI\$1DriverRole* por el nombre del rol. Este comando requiere que tenga [eksctl](https://eksctl.io) instalado en su dispositivo.

```
eksctl create iamserviceaccount \
    --name fsx-csi-controller-sa \
    --namespace kube-system \
    --cluster my-cluster \
    --role-name AmazonEKS_FSx_CSI_DriverRole \
    --role-only \
    --attach-policy-arn arn:aws:iam::aws:policy/AmazonFSxFullAccess \
    --approve
```

### Información adicional
<a name="add-ons-aws-fsx-csi-driver-information"></a>

Para obtener más información sobre el complemento, consulte [Uso del almacenamiento de aplicaciones de alto rendimiento con Amazon FSx para Lustre](fsx-csi.md).

## Controlador CSI del Mountpoint para Amazon S3
<a name="mountpoint-for-s3-add-on"></a>

El complemento del controlador de CSI de Mountpoint para Amazon S3 de Amazon EKS es un complemento de interfaz de almacenamiento de contenedores (CSI) de Kubernetes que proporciona almacenamiento de Amazon S3 para el clúster.

El nombre del complemento de Amazon EKS es `aws-mountpoint-s3-csi-driver`.

### Permisos de IAM necesarios
<a name="add-ons-mountpoint-for-s3-add-on-iam-permissions"></a>

Este complemento utiliza la capacidad de roles de IAM para cuentas de servicio de Amazon EKS. Para obtener más información, consulte [Roles de IAM para cuentas de servicio](iam-roles-for-service-accounts.md).

El rol de IAM que se cree requerirá una política que dé acceso a S3. Siga las [recomendaciones de permisos de Mountpoint IAM](https://github.com/awslabs/mountpoint-s3/blob/main/doc/CONFIGURATION.md#iam-permissions) al crear la política. Como alternativa, puede utilizar la política administrada de AWS [AmazonS3FullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor), pero esta política administrada concede más permisos de los necesarios para Mountpoint.

Cree un rol de IAM y adjunte la política a él con los siguientes comandos. Sustituya *my-cluster* por el nombre del clúster, *region-code* por el código de región de AWS correcto, *AmazonEKS\$1S3\$1CSI\$1DriverRole* por el nombre del rol y *AmazonEKS\$1S3\$1CSI\$1DriverRole\$1ARN* por el ARN del rol. Estos comandos requieren que tenga [eksctl](https://eksctl.io) instalado en su dispositivo. Para obtener instrucciones sobre cómo utilizar la consola de IAM o AWS CLI, consulte [Paso 2: creación de un rol de IAM](s3-csi-create.md#s3-create-iam-role).

```
CLUSTER_NAME=my-cluster
REGION=region-code
ROLE_NAME=AmazonEKS_S3_CSI_DriverRole
POLICY_ARN=AmazonEKS_S3_CSI_DriverRole_ARN
eksctl create iamserviceaccount \
    --name s3-csi-driver-sa \
    --namespace kube-system \
    --cluster $CLUSTER_NAME \
    --attach-policy-arn $POLICY_ARN \
    --approve \
    --role-name $ROLE_NAME \
    --region $REGION \
    --role-only
```

### Información adicional
<a name="add-ons-mountpoint-for-s3-add-on-information"></a>

Para obtener más información sobre el complemento, consulte [Acceso a los objetos de Amazon S3 mediante Mountpoint para Amazon S3 con el controlador CSI](s3-csi.md).

## Controlador de instantáneas CSI
<a name="addons-csi-snapshot-controller"></a>

El controlador de instantáneas de la interfaz de almacenamiento de contenedores (CSI) permite el uso de la funcionalidad de captura de instantáneas en controladores de CSI compatibles, como el controlador de CSI de Amazon EBS.

El nombre del complemento de Amazon EKS es `snapshot-controller`.

### Permisos de IAM necesarios
<a name="add-ons-csi-snapshot-controller-iam-permissions"></a>

Este complemento no requiere ningún permiso.

### Información adicional
<a name="add-ons-csi-snapshot-controller-information"></a>

Para obtener más información sobre el complemento, consulte [Habilitación de la funcionalidad de instantáneas para volúmenes de CSI](csi-snapshot-controller.md).

## Gobernanza de tareas de Amazon SageMaker HyperPod
<a name="addons-hyperpod"></a>

La gobernanza de tareas de SageMaker HyperPod es un sistema de administración sólido, diseñado para optimizar la asignación de recursos y garantizar un uso eficiente de los recursos de computación en todos los equipos y proyectos dentro de los clústeres de Amazon EKS. Esto brinda a los administradores la capacidad de establecer:
+ Niveles de prioridad para diversas tareas
+ Asignación de computación para cada equipo
+ El modo en que cada equipo presta y utiliza computación inactiva
+ Si un equipo interrumpe o reasigna sus propias tareas

Además, la gobernanza de tareas de HyperPod brinda la capacidad de observabilidad de clústeres de Amazon EKS, que ofrece visibilidad en tiempo real de la capacidad de los clústeres. Esto incluye la disponibilidad y el uso de la computación, la asignación y utilización de los equipos y la información sobre el tiempo de ejecución y espera de las tareas, lo que le permite tomar decisiones fundamentadas y administrar los recursos de forma proactiva.

El nombre del complemento de Amazon EKS es `amazon-sagemaker-hyperpod-taskgovernance`.

### Permisos de IAM necesarios
<a name="_required_iam_permissions"></a>

Este complemento no requiere ningún permiso.

### Información adicional
<a name="_additional_information"></a>

Para obtener más información sobre el complemento, consulte [SageMaker HyperPod task governance](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-governance.html) 

## Complemento de observabilidad para Amazon SageMaker HyperPod
<a name="addons-hyperpod-observability"></a>

El complemento de·observabilidad·de Amazon SageMaker HyperPod proporciona capacidades integrales de supervisión y observabilidad para los clústeres de HyperPod. Este complemento implementa y administra automáticamente los componentes de supervisión esenciales, incluidos el exportador de nodos, el exportador DCGM, kube-state-metrics y el exportador EFA. Recopila y reenvía métricas a una instancia de Amazon Managed Prometheus (AMP) designada por el cliente y expone un punto de conexión de OTLP para métricas personalizadas y la ingesta de eventos de los trabajos de entrenamiento del cliente.

El complemento se integra en el ecosistema más amplio de HyperPod mediante la recopilación de métricas de varios componentes, como el complemento HyperPod Task Governance, HyperPod Training Operator, Kubeflow y KEDA. Todas las métricas recopiladas se centralizan en Amazon Managed Prometheus, lo que permite a los clientes obtener una vista de observabilidad unificada a través de los paneles de Amazon Managed Grafana. Esto proporciona una visibilidad integral del estado del clúster, la utilización de los recursos y el rendimiento de los trabajos de entrenamiento en todo el entorno de HyperPod.

El nombre del complemento de Amazon EKS es `amazon-sagemaker-hyperpod-observability`.

### Permisos de IAM necesarios
<a name="_required_iam_permissions_2"></a>

Este complemento utiliza la capacidad de roles de IAM para cuentas de servicio de Amazon EKS. Para obtener más información, consulte [Roles de IAM para cuentas de servicio](iam-roles-for-service-accounts.md). Se requieren las siguientes políticas administradas:
+  `AmazonPrometheusRemoteWriteAccess`: para escribir de forma remota las métricas del clúster en AMP
+  `CloudWatchAgentServerPolicy`: para escribir de forma remota los registros del clúster en CloudWatch

### Información adicional
<a name="_additional_information_2"></a>

Para obtener más información sobre el complemento y sus capacidades, consulte [Observabilidad de SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-cluster-observability-cluster.html).

## Operador de entrenamiento de Amazon SageMaker HyperPod
<a name="addons-hyperpod-training-operator"></a>

El operador de entrenamiento de Amazon SageMaker HyperPod le ayuda a acelerar el desarrollo de modelos de IA generativa mediante la administración eficiente del entrenamiento distribuido en grandes clústeres de GPU. Presenta capacidades inteligentes de recuperación de errores, detección de tareas pendientes y administración de procesos que minimizan las interrupciones en el entrenamiento y reducen los costos. A diferencia de la infraestructura de entrenamiento tradicional, que requiere que el trabajo se reinicie por completo cuando se producen fallos, este operador implementa la recuperación del proceso quirúrgico para que sus trabajos de entrenamiento se desarrollen sin problemas.

El operador también trabaja con las funciones de supervisión y observabilidad del estado de HyperPod, lo que proporciona visibilidad en tiempo real de la ejecución del entrenamiento y supervisa automáticamente métricas críticas, como los picos de pérdidas y la degradación del rendimiento. Puede definir las políticas de recuperación mediante sencillas configuraciones de YAML sin cambios en el código, lo que le permitirá responder rápidamente a estados de entrenamiento irrecuperables y recuperarse de ellos. Estas capacidades de supervisión y recuperación funcionan en conjunto para mantener un rendimiento de entrenamiento óptimo y, al mismo tiempo, minimizar los gastos operativos.

El nombre del complemento de Amazon EKS es `amazon-sagemaker-hyperpod-training-operator`.

Para obtener más información, consulte [Uso del operador de entrenamiento HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html) en la *Guía para desarrolladores de Amazon SageMaker*.

### Permisos de IAM necesarios
<a name="_required_iam_permissions_3"></a>

Este complemento requiere permisos de IAM y utiliza Pod Identity de EKS.

 AWS sugiere la [política administrada](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerHyperPodTrainingOperatorAccess.html) `AmazonSageMakerHyperPodTrainingOperatorAccess`.

Para obtener más información, consulte [Installing the training operator](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator-install.html#sagemaker-eks-operator-install-operator) en la *Guía para desarrolladores de Amazon SageMaker*.

### Información adicional
<a name="_additional_information_3"></a>

Para obtener más información sobre el complemento, consulte [SageMaker HyperPod training operator](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html).

## Operador de inferencia de Amazon SageMaker HyperPod
<a name="addons-hyperpod-inference-operator"></a>

Amazon SageMaker HyperPod ofrece una experiencia integral que abarca todo el ciclo de vida del desarrollo de IA, desde la experimentación interactiva y el entrenamiento hasta la inferencia y los flujos de trabajo posteriores al entrenamiento. Ahora proporciona una plataforma de inferencia integral que combina la flexibilidad de Kubernetes con la excelencia operativa de una experiencia administrada. Implemente, escale y optimice los modelos de IA generativa con fiabilidad de nivel empresarial y la misma capacidad de computación de HyperPod a lo largo de todo el ciclo de vida del modelo.

Amazon SageMaker HyperPod ofrece interfaces de implementación flexibles que le permiten implementar modelos con varios métodos, como kubectl, el SDK de Python, la IU de Amazon SageMaker Studio o la CLI de HyperPod. La capacidad ofrece funciones avanzadas de escalado automático con asignación dinámica de recursos que se ajusta automáticamente según la demanda. Además, incluye características integrales de observabilidad y supervisión que hacen un seguimiento de las métricas críticas, como el tiempo transcurrido hasta el primer token, la latencia y el uso de la GPU para ayudarlo a optimizar el rendimiento.

El nombre del complemento de Amazon EKS es `amazon-sagemaker-hyperpod-inference`.

### Métodos de instalación
<a name="_installation_methods"></a>

Puede instalar este complemento mediante uno de los siguientes métodos:
+  **Consola de SageMaker (recomendado)**: proporciona una experiencia de instalación simplificada con configuración guiada.
+  **Consola de complementos de EKS o CLI**: requiere la instalación manual de los complementos de dependencia antes de instalar el operador de inferencia. Consulte la sección de requisitos previos a continuación para conocer las dependencias necesarias.

### Requisitos previos
<a name="_prerequisites"></a>

Antes de instalar el complemento del operador de inferencia mediante la consola de complementos de EKS o la CLI, asegúrese de que las siguientes dependencias estén instaladas.

Complementos de EKS obligatorios:
+ Controlador CSI Mountpoint de Amazon S3 (versión mínima: v1.14.1-eksbuild.1)
+ Metrics Server (versión mínima: v0.7.2-eksbuild.4)
+ Controlador CSI de Amazon FSx (versión mínima: v1.6.0-eksbuild.1)
+ Cert Manager (versión mínima: v1.18.2-eksbuild.2)

Para obtener instrucciones detalladas de instalación para cada dependencia, consulte [Instalación del operador de inferencia](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-setup.html).

### Permisos de IAM necesarios
<a name="_required_iam_permissions_4"></a>

Este complemento requiere permisos de IAM y utiliza OIDC/IRSA.

Se recomiendan las siguientes políticas administradas, ya que proporcionan los permisos mínimos necesarios:
+  `AmazonSageMakerHyperPodInferenceAccess`: proporciona privilegios de administrador necesarios para configurar el operador de inferencia
+  `AmazonSageMakerHyperPodGatedModelAccess`: proporciona a SageMaker HyperPod acceso a modelos restringidos en SageMaker JumpStart (por ejemplo, Meta Llama, GPT-Neo)

Para obtener más información, consulte [Instalación del operador de inferencia](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-setup.html).

### Información adicional
<a name="_additional_information_4"></a>

Para obtener más información sobre el operador de inferencia de Amazon SageMaker HyperPod, consulte [Operador de inferencia de SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment.html).

Para obtener información sobre la solución de problemas, consulte [Solución de problemas en la implementación de modelos de SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-ts.html).

## Agente del monitor de flujo de red de AWS
<a name="addons-network-flow"></a>

El Agente del monitor de flujo de red de Amazon CloudWatch es una aplicación de Kubernetes que recopila estadísticas de conexión TCP de todos los nodos de un clúster y publica informes de flujo de red en las API de ingesta del Monitor de flujo de red de Amazon CloudWatch.

El nombre del complemento de Amazon EKS es `aws-network-flow-monitoring-agent`.

### Permisos de IAM necesarios
<a name="_required_iam_permissions_5"></a>

Este complemento requiere permisos de IAM.

Debe asociar la política administrada de `CloudWatchNetworkFlowMonitorAgentPublishPolicy` al complemento.

Para obtener más información sobre la configuración de IAM requerida, consulte la [Política de IAM](https://github.com/aws/network-flow-monitor-agent?tab=readme-ov-file#iam-policy) en el repositorio de GitHub del Agente del Monitor de flujo de red de Amazon CloudWatch.

Para obtener más información sobre la política administrada, consulte [CloudWatchNetworkFlowMonitorAgentPublishPolicy](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/security-iam-awsmanpol-network-flow-monitor.html#security-iam-awsmanpol-CloudWatchNetworkFlowMonitorAgentPublishPolicy) en la Guía del usuario de Amazon CloudWatch.

### Información adicional
<a name="_additional_information_5"></a>

Para obtener más información sobre el complemento, consulte el [repositorio de GitHub del Agente del Monitor de flujo de red de Amazon CloudWatch](https://github.com/aws/network-flow-monitor-agent?tab=readme-ov-file).

## Agente de supervisión de nodos
<a name="add-ons-eks-node-monitoring-agent"></a>

El agente de supervisión de nodos del complemento de Amazon EKS puede detectar otros problemas de estado de los nodos. Estas señales de estado adicionales también se pueden aprovechar mediante la característica opcional de reparación automática de nodos para reemplazar automáticamente los nodos según sea necesario.

**nota**  
No es necesario instalar este complemento en los clústeres del modo automático de Amazon EKS. Para obtener más información, consulte [Consideraciones para el modo automático de Amazon EKS](eks-add-ons.md#addon-consider-auto).

El nombre del complemento de Amazon EKS es `eks-node-monitoring-agent`.

### Permisos de IAM necesarios
<a name="add-ons-eks-node-monitoring-agent-iam-permissions"></a>

Este complemento no requiere permisos adicionales.

### Información adicional
<a name="add-ons-eks-node-monitoring-agent-information"></a>

Para obtener más información, consulte [Detección de los problemas de estado de los nodos y reparación automática de los nodos](node-health.md).

## AWS Distro para OpenTelemetry
<a name="add-ons-adot"></a>

El complemento de AWS Distro para OpenTelemetry de Amazon EKS es una distribución segura, lista para la producción y compatible con AWS del proyecto OpenTelemetry. Para obtener más información, consulte [AWS Distro for OpenTelemetry](https://aws-otel.github.io/) en GitHub.

El nombre del complemento de Amazon EKS es `adot`.

### Permisos de IAM necesarios
<a name="add-ons-adot-iam-permissions"></a>

Este complemento solo requiere permisos de IAM si utiliza uno de los recursos personalizados configurados previamente que se pueden utilizar mediante una configuración avanzada.

### Información adicional
<a name="add-ons-adot-information"></a>

Para obtener más información, consulte [Getting Started with AWS Distro for OpenTelemetry using EKS Add-Ons](https://aws-otel.github.io/docs/getting-started/adot-eks-add-on) en la documentación de AWS Distro para OpenTelemetry.

ADOT requiere que el complemento `cert-manager` esté implementado en el clúster como requisito previo; de lo contrario, este complemento no funcionará si se implementa directamente mediante la propiedad lhttps://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest`cluster_addons`. Para obtener más información sobre los requisitos, consulte [Requirements for Getting Started with AWS Distro for OpenTelemetry using EKS Add-Ons](https://aws-otel.github.io/docs/getting-started/adot-eks-add-on/requirements) en la documentación de AWS Distro para OpenTelemetry.

## Agente Amazon GuardDuty
<a name="add-ons-guard-duty"></a>

El complemento de Amazon EKS del agente de Amazon GuardDuty recopila [eventos de tiempo de ejecución](https://docs.aws.amazon.com/guardduty/latest/ug/runtime-monitoring-collected-events.html) (acceso a archivos, ejecución de procesos, conexiones de red) de los nodos del clúster de EKS para que Supervisión del tiempo de ejecución de GuardDuty los analice. El propio GuardDuty (no el agente) es el servicio de supervisión de seguridad que analiza y procesa [orígenes de datos fundamentales](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_data-sources.html), incluidos eventos de administración de AWS CloudTrail y registros de flujo de Amazon VPC, así como [características](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty-features-activation-model.html), como los registros de auditoría de Kubernetes y la supervisión del tiempo de ejecución.

El nombre del complemento de Amazon EKS es `aws-guardduty-agent`.

### Permisos de IAM necesarios
<a name="add-ons-guard-duty-iam-permissions"></a>

Este complemento no requiere ningún permiso.

### Información adicional
<a name="add-ons-guard-duty-information"></a>

Para obtener más información, consulte [Runtime Monitoring for Amazon EKS clusters in Amazon GuardDuty](https://docs.aws.amazon.com/guardduty/latest/ug/how-runtime-monitoring-works-eks.html).
+ Para detectar posibles amenazas de seguridad en sus clústeres de Amazon EKS, habilite el monitoreo del tiempo de ejecución de Amazon GuardDuty e implemente el agente de seguridad de GuardDuty en sus clústeres de Amazon EKS.

## Agente de Amazon CloudWatch Observability
<a name="amazon-cloudwatch-observability"></a>

El complemento del agente de observabilidad de Amazon CloudWatch de Amazon EKS es el servicio de supervisión y observabilidad que ofrece AWS. Este complemento instala el CloudWatch Agent y habilita tanto CloudWatch Application Signals como CloudWatch Container Insights con una observabilidad mejorada para Amazon EKS. Para obtener más información, consulte [Agente de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html).

El nombre del complemento de Amazon EKS es `amazon-cloudwatch-observability`.

### Permisos de IAM necesarios
<a name="amazon-cloudwatch-observability-iam-permissions"></a>

Este complemento utiliza la capacidad de roles de IAM para cuentas de servicio de Amazon EKS. Para obtener más información, consulte [Roles de IAM para cuentas de servicio](iam-roles-for-service-accounts.md). Los permisos de las políticas administradas [AWSXrayWriteOnlyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess) y [CloudWatchAgentServerPolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy) de AWS son obligatorios. Puede crear un rol de IAM, asociarle políticas administradas y anotar la cuenta de servicio de Kubernetes utilizada por el complemento con el siguiente comando. Reemplace *my-cluster* por el nombre del clúster y *AmazonEKS\$1Observability\$1role* por el nombre del rol. Este comando requiere que tenga [eksctl](https://eksctl.io) instalado en su dispositivo. Si necesita usar una herramienta diferente para crear el rol, adjuntarle la política y anotar la cuenta de servicio de Kubernetes, consulte [Asignación de roles de IAM a cuentas de servicio de Kubernetes](associate-service-account-role.md).

```
eksctl create iamserviceaccount \
    --name cloudwatch-agent \
    --namespace amazon-cloudwatch \
    --cluster my-cluster \
    --role-name AmazonEKS_Observability_Role \
    --role-only \
    --attach-policy-arn arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess \
    --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \
    --approve
```

### Información adicional
<a name="amazon-cloudwatch-observability-information"></a>

Para obtener más información, consulte [Instale el agente de CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html).

## Conector de AWS Private CA para Kubernetes
<a name="add-ons-aws-privateca-connector"></a>

El Conector de AWS Private CA para Kubernetes es un complemento para cert-manager que permite a los usuarios obtener certificados de AWS Private Certificate Authority (AWS Private CA).
+ El nombre del complemento de Amazon EKS es `aws-privateca-connector-for-kubernetes`.
+ El espacio de nombres del complemento es `aws-privateca-issuer`.

Este complemento requiere `cert-manager`. `cert-manager` está disponible en Amazon EKS como complemento de la comunidad. Para obtener más información acerca de este complemento, consulte [Cert Manager](community-addons.md#addon-cert-manager). Para obtener más información sobre la instalación de complementos, consulte [Cómo crear un complemento de Amazon EKS](creating-an-add-on.md).

### Permisos de IAM necesarios
<a name="add-ons-aws-privateca-connector-iam-permissions"></a>

Este complemento requiere permisos de IAM.

Utilice EKS Pod Identities para adjuntar la política de IAM `AWSPrivateCAConnectorForKubernetesPolicy` a la cuenta de servicio de Kubernetes `aws-privateca-issuer`. Para obtener más información, consulte [Uso de Pod Identities para asignar un rol de IAM a un complemento de Amazon EKS](update-addon-role.md).

Para obtener información sobre los permisos necesarios, consulte [AWSPrivateCAConnectorForKubernetesPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSPrivateCAConnectorForKubernetesPolicy.html) en la referencia de la política administrada de AWS.

### Información adicional
<a name="add-ons-aws-privateca-connector-information"></a>

Para obtener más información, consulte el [repositorio de GitHub de AWS Private CA Issuer para Kubernetes](https://github.com/cert-manager/aws-privateca-issuer).

Para obtener más información sobre la configuración del complemento, consulte [values.yaml](https://github.com/cert-manager/aws-privateca-issuer/blob/main/charts/aws-pca-issuer/values.yaml) en el repositorio de GitHub `aws-privateca-issuer`. Confirme que la versión de values.yaml coincida con la versión del complemento instalado en el clúster.

Este complemento tolera la taint `CriticalAddonsOnly` utilizada por el NodePool `system` del modo automático de EKS. Para obtener más información, consulte [Ejecución de complementos esenciales en instancias dedicadas](critical-workload.md).

## Agente de Pod Identity de EKS
<a name="add-ons-pod-id"></a>

El complemento del agente de Pod Identity de EKS de Amazon EKS ofrece la posibilidad de administrar las credenciales de sus aplicaciones, de un modo similar a cómo los perfiles de instancias de EC2 proporcionan credenciales a instancias de EC2.

**nota**  
No es necesario instalar este complemento en los clústeres del modo automático de Amazon EKS. El modo automático de Amazon EKS se integra con EKS Pod Identity. Para obtener más información, consulte [Consideraciones para el modo automático de Amazon EKS](eks-add-ons.md#addon-consider-auto).

El nombre del complemento de Amazon EKS es `eks-pod-identity-agent`.

### Permisos de IAM necesarios
<a name="add-ons-pod-id-iam-permissions"></a>

El complemento del agente de Pod Identity no requiere un rol de IAM. Utiliza los permisos del [rol de IAM del nodo de Amazon EKS](create-node-role.md) para funcionar, pero no necesita un rol de IAM dedicado para el complemento.

### Actualización de la información
<a name="add-ons-pod-id-update-information"></a>

Solo puede actualizar una versión secundaria a la vez. Por ejemplo, si su versión actual es la `1.28.x-eksbuild.y` y desea actualizarla a la `1.30.x-eksbuild.y`, primero debe actualizarla a la `1.29.x-eksbuild.y` y luego a la `1.30.x-eksbuild.y`. Para obtener más información acerca de la actualización de complementos, consulte [Actualización de un complemento de Amazon EKS](updating-an-add-on.md).

## Exportador de métricas de red SR-IOV
<a name="add-ons-sriov-network-metrics-exporter"></a>

El complemento de Amazon EKS para el exportador de métricas de red SR-IOV recopila y expone métricas sobre los dispositivos de red SR-IOV en formato Prometheus. Permite supervisar el rendimiento de la red SR-IOV en los nodos bare metal de EKS. El exportador funciona como un DaemonSet en nodos con interfaces de red compatibles con SR-IOV y exporta métricas que Prometheus puede recopilar.

**nota**  
Este complemento requiere nodos con interfaces de red compatibles con SR-IOV.


| Propiedad | Valor | 
| --- | --- | 
|  Nombre del complemento  |   `sriov-network-metrics-exporter`   | 
|  Espacio de nombres  |   `monitoring`   | 
|  Documentación  |   [Repositorio de GitHub del exportador de métricas de red SR-IOV](https://github.com/k8snetworkplumbingwg/sriov-network-metrics-exporter)   | 
|  Nombre de la cuenta de servicio  |  Ninguno  | 
|  Política de IAM administrada  |  Ninguno  | 
|  Permisos de IAM personalizados  |  Ninguno  | 

### Proveedor de AWS para el controlador CSI del Almacén de secretos
<a name="add-ons-aws-secrets-store-csi-driver-provider"></a>

El proveedor de AWS del controlador CSI del Almacén de secretos es un complemento que permite recuperar secretos de AWS Secrets Manager y parámetros del Almacén de parámetros de AWS Systems Manager y montarlos como archivos en pods de Kubernetes.

### Permisos de IAM necesarios
<a name="add-ons-ascp-iam-permissions"></a>

El complemento no requiere permisos de IAM. Sin embargo, los pods de aplicaciones requerirán permisos de IAM para recuperar los secretos de AWS Secrets Manager y los parámetros del Almacén de parámetros de AWS Systems Manager. Tras instalar el complemento, el acceso debe configurarse mediante roles de IAM para cuentas de servicio (IRSA) o Pod Identity de EKS. Para usar IRSA, consulte la [documentación de configuración de IRSA](https://docs.aws.amazon.com/secretsmanager/latest/userguide/integrating_ascp_irsa.html) de Secrets Manager. Para utilizar Pod Identity de EKS, consulte la [documentación de configuración de Pod Identity](https://docs.aws.amazon.com/secretsmanager/latest/userguide/ascp-pod-identity-integration.html) de Secrets Manager.

 AWS sugiere la [política administrada](https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_available-policies.html#security-iam-awsmanpol-AWSSecretsManagerClientReadOnlyAccess) `AWSSecretsManagerClientReadOnlyAccess`.

Para obtener más información sobre los permisos necesarios, consulte `AWSSecretsManagerClientReadOnlyAccess` en la referencia de la política administrada de AWS.

### Información adicional
<a name="_additional_information_6"></a>

Para obtener más información, consulte el [repositorio de GitHub](https://github.com/aws/secrets-store-csi-driver-provider-aws) secrets-store-csi-driver-provider-aws.

Para obtener más información sobre el complemento, consulte la [documentación de AWS Secrets Manager del complemento](https://docs.aws.amazon.com/secretsmanager/latest/userguide/ascp-eks-installation.html).

## Espacios de Amazon SageMaker
<a name="add-ons-amazon-sagemaker-spaces"></a>

El complemento Espacios de Amazon SageMaker permite ejecutar IDE y cuadernos en clústeres de HyperPod-EKS o EKS. Los administradores pueden utilizar la consola de EKS para instalar el complemento en el clúster y definir las configuraciones de espacio predeterminadas, como las imágenes, los recursos de computación, el almacenamiento local para la configuración del cuaderno (se adjunta almacenamiento adicional a sus espacios), los sistemas de archivos y los scripts de inicialización.

Los desarrolladores de IA pueden utilizar kubectl para crear, actualizar y eliminar espacios. Tienen la flexibilidad de usar las configuraciones predeterminadas proporcionadas por los administradores o personalizar las configuraciones. Los desarrolladores de IA pueden acceder a sus espacios en EKS o HyperPod-EKS mediante sus IDE de VS Code locales o su navegador web que aloja su IDE de JupyterLab o CodeEditor en un dominio de DNS personalizado configurado por sus administradores. También pueden usar la característica de reenvío de puertos de Kubernetes para acceder a los espacios de sus navegadores web.

El nombre del complemento de Amazon EKS es `amazon-sagemaker-spaces`.

### Permisos de IAM necesarios
<a name="_required_iam_permissions_6"></a>

Este complemento requiere permisos de IAM. Para obtener más información sobre la configuración de IAM requerida, consulte [Configuración de permisos de IAM](https://docs.aws.amazon.com/sagemaker/latest/dg/permission-setup.html) en la *Guía para desarrolladores de Amazon SageMaker*.

### Información adicional
<a name="_additional_information_7"></a>

Para obtener más información sobre el complemento y sus capacidades, consulte [Cuadernos de SageMaker AI para HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-cluster-ide.html) en la *Guía para desarrolladores de Amazon SageMaker*.

# Complementos de la comunidad
<a name="community-addons"></a>

Puede utilizar las API de AWS para instalar complementos de la comunidad, como el Servidor de métricas de Kubernetes. Puede optar por instalar complementos de la comunidad como complementos de Amazon EKS para reducir la complejidad que supone mantener el software en varios clústeres.

Por ejemplo, puede utilizar la API de AWS, la CLI o la consola de administración para instalar complementos de la comunidad. Puede instalar un complemento de la comunidad durante la creación del clúster.

Los complementos de la comunidad se administran del mismo modo que los complementos existentes de Amazon EKS. Los complementos de la comunidad se diferencian de los complementos existentes en que tienen un ámbito de soporte único.

**nota**  
El uso de complementos comunitarios queda a su entera discreción. Como parte del [modelo de responsabilidad compartida con AWS](security.md), es fundamental comprender con claridad qué se instala en el clúster al incorporar estos complementos de terceros. También tiene la responsabilidad de asegurar que los complementos de la comunidad cumplan con los requisitos de seguridad del clúster. Para obtener más información, consulte [Soporte del software implementado en EKS](related-projects.md#oss-scope).

AWS no crea los complementos de la comunidad, sino que solo los valida para la compatibilidad de versiones. Por ejemplo, si instala un complemento comunitario en un clúster, AWS comprueba si es compatible con la versión de Kubernetes del clúster.

Es importante destacar que AWS no ofrece soporte completo para los complementos de la comunidad. AWS solo ofrece soporte para las operaciones del ciclo de vida realizadas mediante la API de AWS, como la instalación o eliminación de complementos.

Si necesita soporte para un complemento de la comunidad, utilice los recursos existentes en el proyecto. Por ejemplo, puede crear una incidencia de GitHub en el repositorio del proyecto.

## Cómo determinar el tipo de complemento
<a name="_determine_add_on_type"></a>

Puede utilizar AWS CLI para determinar de qué tipo es un complemento de Amazon EKS.

Utilice el siguiente comando de la CLI para recuperar información sobre un complemento. Puede sustituir `metrics-server` por el nombre de cualquier complemento.

```
aws eks describe-addon-versions --addon-name metrics-server
```

Revise el resultado de la CLI correspondiente al campo `owner`.

```
{
    "addons": [
        {
            "addonName": "metrics-server",
            "type": "observability",
            "owner": "community",
            "addonVersions": [
```

Si el valor de `owner` es `community`, significa que se trata de un complemento de la comunidad. AWS solo proporciona soporte para instalar, actualizar y eliminar el complemento. Si tiene dudas sobre la funcionalidad y el funcionamiento del complemento en sí, utilice los recursos de la comunidad, como las incidencias de GitHub.

## Cómo instalar o actualizar un complemento de la comunidad
<a name="_install_or_update_community_add_on"></a>

Los complementos de la comunidad se instalan y actualizan del mismo modo que otros complementos de Amazon EKS.
+  [Cómo crear un complemento de Amazon EKS](creating-an-add-on.md) 
+  [Actualización de un complemento de Amazon EKS](updating-an-add-on.md) 
+  [Cómo eliminar un complemento de Amazon EKS de un clúster](removing-an-add-on.md) 

## Complementos de la comunidad disponibles
<a name="_available_community_add_ons"></a>

Los siguientes complementos de la comunidad están disponibles en Amazon EKS.
+  [Servidor de métricas de Kubernetes](#kubernetes-metrics-server) 
+  [kube-state-metrics](#kube-state-metrics) 
+  [Exportador de nodos de Prometheus](#prometheus-node-exporter) 
+  [Cert Manager](#addon-cert-manager) 
+  [DNS externo](#external-dns) 
+  [Fluent Bit](#fluent-bit) 

### Servidor de métricas de Kubernetes
<a name="kubernetes-metrics-server"></a>

El Servidor de métricas de Kubernetes es una fuente escalable y eficiente de métricas de recursos de contenedores para las canalizaciones de escalado automático integradas en Kubernetes. Recopila métricas de recursos de los Kubelets y las expone en el apiserver de Kubernetes a través de la API Metrics para que las utilicen el escalador automático horizontal de pods y el escalador automático vertical de pods.


| Propiedad | Valor | 
| --- | --- | 
|  Nombre del complemento  |   `metrics-server`   | 
|  Espacio de nombres  |   `kube-system`   | 
|  Documentación  |   [Readme de GitHub](https://github.com/kubernetes-sigs/metrics-server)   | 
|  Nombre de la cuenta de servicio  |  Ninguno  | 
|  Política de IAM administrada  |  Ninguno  | 
|  Permisos de IAM personalizados  |  Ninguno  | 

### kube-state-metrics
<a name="kube-state-metrics"></a>

Agente del complemento para generar y exponer métricas de clúster.

El estado de los objetos de Kubernetes en la API de Kubernetes se puede exponer como métricas. Un agente del complemento llamado kube-state-metrics puede conectarse al servidor de la API de Kubernetes y mostrar un punto de conexión HTTP con métricas generadas a partir del estado de los objetos individuales del clúster. Expone información diversa sobre el estado de los objetos, como etiquetas y anotaciones, las horas de inicio y finalización, el estado o la fase en la que se encuentra el objeto actualmente.


| Propiedad | Valor | 
| --- | --- | 
|  Nombre del complemento  |   `kube-state-metrics`   | 
|  Espacio de nombres  |   `kube-state-metrics`   | 
|  Documentación  |   [Metrics for Kubernetes Object States](https://kubernetes.io/docs/concepts/cluster-administration/kube-state-metrics/) en la documentación de Kubernetes  | 
|  Nombre de la cuenta de servicio  |  Ninguno  | 
|  Política de IAM administrada  |  Ninguno  | 
|  Permisos de IAM personalizados  |  Ninguno  | 

### Exportador de nodos de Prometheus
<a name="prometheus-node-exporter"></a>

Exportador de Prometheus para métricas de sistema operativo y hardware expuestas por kernels \$1NIX, escritas en Go con recopiladores de métricas conectables. El Exportador de nodos de Prometheus expone una amplia variedad de métricas relacionadas con el kernel y el hardware.


| Propiedad | Valor | 
| --- | --- | 
|  Nombre del complemento  |   `prometheus-node-exporter`   | 
|  Espacio de nombres  |   `prometheus-node-exporter`   | 
|  Documentación  |   [Monitoring Linux host metrics with the Node Exporter](https://prometheus.io/docs/guides/node-exporter/#monitoring-linux-host-metrics-with-the-node-exporter) en la documentación de Prometheus  | 
|  Nombre de la cuenta de servicio  |  Ninguno  | 
|  Política de IAM administrada  |  Ninguno  | 
|  Permisos de IAM personalizados  |  Ninguno  | 

### Cert Manager
<a name="addon-cert-manager"></a>

Cert Manager se puede utilizar para administrar la creación y renovación de certificados.


| Propiedad | Valor | 
| --- | --- | 
|  Nombre del complemento  |   `cert-manager`   | 
|  Espacio de nombres  |   `cert-manager`   | 
|  Documentación  |   [Documentación de Cert Manager](https://cert-manager.io/docs/)   | 
|  Nombre de la cuenta de servicio  |  Ninguno  | 
|  Política de IAM administrada  |  Ninguno  | 
|  Permisos de IAM personalizados  |  Ninguno  | 

### DNS externo
<a name="external-dns"></a>

El complemento de DNS externo para EKS permite administrar los registros de DNS de Route53 mediante recursos de Kubernetes.

Los permisos de DNS externo se pueden reducir a `route53:ChangeResourceRecordSets`, `route53:ListHostedZones` y `route53:ListResourceRecordSets` en las zonas alojadas que desee administrar.


| Propiedad | Valor | 
| --- | --- | 
|  Nombre del complemento  |   `external-dns`   | 
|  Espacio de nombres  |   `external-dns`   | 
|  Documentación  |   [Readme de GitHub](https://github.com/kubernetes-sigs/external-dns)   | 
|  Nombre de la cuenta de servicio  |   `external-dns`   | 
|  Política de IAM administrada  |   ` arn:aws:iam::aws:policy/AmazonRoute53FullAccess`   | 
|  Permisos de IAM personalizados  |  Ninguno  | 

### Fluent Bit
<a name="fluent-bit"></a>

Fluent Bit es un procesador y reenviador de registros ligero y de alto rendimiento. Le permite recopilar datos y registros de diferentes orígenes, unificarlos y enviarlos a varios destinos, incluidos Registros de Amazon CloudWatch, Amazon S3 y Amazon Kinesis Data Firehose. Fluent Bit está diseñado con el rendimiento y la eficiencia de los recursos en mente, por lo que es ideal para entornos de Kubernetes.

Este complemento no requiere permisos de IAM en la configuración predeterminada. Sin embargo, es posible que tenga que conceder permisos de IAM a este complemento si configura una ubicación de salida de AWS. Para obtener más información, consulte [Uso de Pod Identities para asignar un rol de IAM a un complemento de Amazon EKS](update-addon-role.md).


| Propiedad | Valor | 
| --- | --- | 
|  Nombre del complemento  |   `fluent-bit`   | 
|  Espacio de nombres  |   `fluent-bit`   | 
|  Documentación  |   [Documentación de Fluent Bit](https://docs.fluentbit.io/manual/)   | 
|  Nombre de la cuenta de servicio  |   `fluent-bit`   | 
|  Política de IAM administrada  |  Ninguno  | 
|  Permisos de IAM personalizados  |  Ninguno  | 

## Ver atribuciones
<a name="_view_attributions"></a>

Es posible descargar las atribuciones de código abierto y la información de licencias de los complementos de la comunidad.

1. Determine el nombre y la versión del complemento del que quiere descargar las atribuciones.

1. Actualiza el siguiente comando con el nombre y la versión:

   ```
   curl -O https://amazon-eks-docs.s3.amazonaws.com/attributions/<add-on-name>/<add-on-version>/attributions.zip
   ```

   Por ejemplo:

   ```
   curl -O https://amazon-eks-docs.s3.amazonaws.com/attributions/kube-state-metrics/v2.14.0-eksbuild.1/attributions.zip
   ```

1. Utilice el comando para descargar el archivo.

Utilice este archivo comprimido para ver información sobre las atribuciones de la licencia.

# Complementos de AWS Marketplace
<a name="workloads-add-ons-available-vendors"></a>

Además de la lista anterior de complementos de Amazon EKS, también puede agregar una amplia selección de complementos de Amazon EKS de software operativo de proveedores de software independientes. Elija un complemento para obtener más información sobre él y sus requisitos de instalación.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/IIPj119mspc?rel=0/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/IIPj119mspc?rel=0)


## Accuknox
<a name="add-on-accuknox"></a>

El nombre del complemento es `accuknox_kubearmor` y el espacio de nombres es `kubearmor`. Accuknox publica el complemento.

Para obtener más información sobre el complemento, consulte [Getting Started with KubeArmor](https://docs.kubearmor.io/kubearmor/quick-links/deployment_guide) en la documentación de KubeArmor.

### Nombre de la cuenta de servicio
<a name="add-on-accuknox-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-accuknox-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-accuknox-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Akuity
<a name="add-on-akuity"></a>

El nombre del complemento es `akuity_agent` y el espacio de nombres es `akuity`. Akuity publica el complemento.

Para obtener información sobre cómo funciona el complemento, consulte [Installing the Akuity Agent on Amazon EKS with the Akuity EKS add-on](https://docs.akuity.io/tutorials/eks-addon-agent-install/) en la documentación de Akuity Platform.

### Nombre de la cuenta de servicio
<a name="add-on-akuity-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-akuity-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-akuity-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Calyptia
<a name="add-on-calyptia"></a>

El nombre del complemento es `calyptia_fluent-bit` y el espacio de nombres es `calytia-fluentbit`. Calyptia publica el complemento.

Para obtener más información sobre el complemento, consulte [Getting Started with Calyptia Core Agent](https://docs.akuity.io/tutorials/eks-addon-agent-install/) en el sitio web de documentación de Calyptia.

### Nombre de la cuenta de servicio
<a name="add-on-calyptia-service-account-name"></a>

El nombre de la cuenta de servicio es `clyptia-fluentbit`.

### Política de IAM administrada de AWS
<a name="add-on-calyptia-managed-policy"></a>

Este complemento utiliza la política administrada por `AWSMarketplaceMeteringRegisterUsage`. Para obtener más información, consulte [AWSMarketplaceMeteringRegisterUsage](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSMarketplaceMeteringRegisterUsage.html) en la guía de referencia de políticas administradas por AWS.

### Comando para crear el rol de IAM necesario
<a name="add-on-calyptia-custom-permissions"></a>

El siguiente comando requiere que tenga un proveedor de OpenID Connect (OIDC) de IAM para su clúster. Para determinar si ya tiene uno o si debe crearlo, consulte [Crear un proveedor de OIDC de IAM para su clúster](enable-iam-roles-for-service-accounts.md). Reemplace *my-cluster* con el nombre del clúster y reemplace *my-calyptia-role* con el nombre que desea para el rol. Este comando requiere que tenga [eksctl](https://eksctl.io) instalado en su dispositivo. Si necesita usar una herramienta diferente para crear el rol y anotar la cuenta de servicio de Kubernetes, consulte [Asignación de roles de IAM a cuentas de servicio de Kubernetes](associate-service-account-role.md).

```
eksctl create iamserviceaccount --name service-account-name  --namespace calyptia-fluentbit --cluster my-cluster --role-name my-calyptia-role \
    --role-only --attach-policy-arn arn:aws:iam::aws:policy/AWSMarketplaceMeteringRegisterUsage --approve
```

## Cisco Observability Collector
<a name="add-on-cisco-collector"></a>

El nombre del complemento es `cisco_cisco-cloud-observability-collectors` y el espacio de nombres es `appdynamics`. Cisco publica el complemento.

Para obtener más información sobre el complemento, consulte [Use the Cisco Cloud Observability AWS Marketplace Add-Ons](https://docs.appdynamics.com/observability/cisco-cloud-observability/en/kubernetes-and-app-service-monitoring/install-kubernetes-and-app-service-monitoring-with-amazon-elastic-kubernetes-service/use-the-cisco-cloud-observability-aws-marketplace-add-ons) en la documentación de Cisco AppDynamics.

### Nombre de la cuenta de servicio
<a name="add-on-cisco-collector-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-cisco-collector-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-cisco-collector-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Cisco Observability Operator
<a name="add-on-cisco-operator"></a>

El nombre del complemento es `cisco_cisco-cloud-observability-operators` y el espacio de nombres es `appdynamics`. Cisco publica el complemento.

Para obtener más información sobre el complemento, consulte [Use the Cisco Cloud Observability AWS Marketplace Add-Ons](https://docs.appdynamics.com/observability/cisco-cloud-observability/en/kubernetes-and-app-service-monitoring/install-kubernetes-and-app-service-monitoring-with-amazon-elastic-kubernetes-service/use-the-cisco-cloud-observability-aws-marketplace-add-ons) en la documentación de Cisco AppDynamics.

### Nombre de la cuenta de servicio
<a name="add-on-cisco-operator-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-cisco-operator-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-cisco-operator-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## CLOUDSOFT
<a name="add-on-cloudsoft"></a>

El nombre del complemento es `cloudsoft_cloudsoft-amp` y el espacio de nombres es `cloudsoft-amp`. CLOUDSOFT publica el complemento.

Para obtener más información sobre el complemento, consulte [Amazon EKS ADDON](https://docs.cloudsoft.io/operations/configuration/aws-eks-addon.html) en la documentación de CLOUDSOFT.

### Nombre de la cuenta de servicio
<a name="add-on-cloudsoft-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-cloudsoft-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-cloudsoft-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Cribl
<a name="add-on-cribl"></a>

El nombre del complemento es `cribl_cribledge` y el espacio de nombres es `cribledge`. Cribl publica el complemento.

Para obtener más información sobre el complemento, consulte [Installing the Cribl Amazon EKS Add-on for Edge](https://docs.cribl.io/edge/usecase-edge-aws-eks/) en la documentación de Cribl.

### Nombre de la cuenta de servicio
<a name="add-on-cribl-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-cribl-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-cribl-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Dynatrace
<a name="add-on-dynatrace"></a>

El nombre del complemento es `dynatrace_dynatrace-operator` y el espacio de nombres es `dynatrace`. Dynatrace publica el complemento.

Para obtener más información sobre el complemento, consulte [Kubernetes monitoring](https://www.dynatrace.com/technologies/kubernetes-monitoring/) en la documentación de Dynatrace.

### Nombre de la cuenta de servicio
<a name="add-on-dynatrace-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-dynatrace-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-dynatrace-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Datree
<a name="add-on-datree-pro"></a>

El nombre del complemento es `datree_engine-pro` y el espacio de nombres es `datree`. Datree publica el complemento.

Para obtener más información sobre el complemento, consulte [Amazon EKS-integration](https://hub.datree.io/integrations/eks-integration) en la documentación de Datree.

### Nombre de la cuenta de servicio
<a name="add-on-datree-pro-service-account-name"></a>

El nombre de la cuenta de servicio es datree-webhook-server-awsmp.

### Política de IAM administrada de AWS
<a name="add-on-datree-pro-managed-policy"></a>

La política administrada es AWSLicenseManagerConsumptionPolicy. Para obtener más información, consulte [AWSLicenseManagerConsumptionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLicenseManagerConsumptionPolicy.html) en la guía de referencia de políticas administradas por AWS.

### Comando para crear el rol de IAM necesario
<a name="add-on-datree-pro-iam-command"></a>

El siguiente comando requiere que tenga un proveedor de OpenID Connect (OIDC) de IAM para su clúster. Para determinar si ya tiene uno o si debe crearlo, consulte [Crear un proveedor de OIDC de IAM para su clúster](enable-iam-roles-for-service-accounts.md). Reemplace *my-cluster* con el nombre del clúster y reemplace *my-datree-role* con el nombre que desea para el rol. Este comando requiere que tenga [eksctl](https://eksctl.io) instalado en su dispositivo. Si necesita usar una herramienta diferente para crear el rol y anotar la cuenta de servicio de Kubernetes, consulte [Asignación de roles de IAM a cuentas de servicio de Kubernetes](associate-service-account-role.md).

```
eksctl create iamserviceaccount --name datree-webhook-server-awsmp --namespace datree --cluster my-cluster --role-name my-datree-role \
    --role-only --attach-policy-arn arn:aws:iam::aws:policy/service-role/AWSLicenseManagerConsumptionPolicy --approve
```

### Permisos personalizados
<a name="add-on-datree-pro-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Datadog
<a name="add-on-datadog"></a>

El nombre del complemento es `datadog_operator` y el espacio de nombres es `datadog-agent`. Datadog publica el complemento.

Para obtener información sobre el complemento, consulte [Installing the Datadog Agent on Amazon EKS with the Datadog Operator Add-on](https://docs.datadoghq.com/containers/guide/operator-eks-addon/?tab=console) en la documentación de Datadog.

### Nombre de la cuenta de servicio
<a name="add-on-datadog-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-datadog-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-datadog-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Groundcover
<a name="add-on-groundcover"></a>

El nombre del complemento es `groundcover_agent` y el espacio de nombres es `groundcover`. Groundcover publica el complemento.

Para obtener más información sobre el complemento, consulte [Installing the groundcover Amazon EKS Add-on](https://docs.groundcover.com/docs/~/changes/VhDDAl1gy1VIO3RIcgxD/configuration/customization-guide/customize-deployment/eks-add-on) en la documentación de groundcover.

### Nombre de la cuenta de servicio
<a name="add-on-groundcover-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-groundcover-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-groundcover-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## IBM Instana
<a name="add-on-instana"></a>

El nombre del complemento es `instana-agent` y el espacio de nombres es `instana-agent`. IBM publica el complemento.

Para obtener información sobre el complemento, consulte [Implement observability for Amazon EKS workloads using the Instana Amazon EKS Add-on](https://aws.amazon.com/blogs/ibm-redhat/implement-observability-for-amazon-eks-workloads-using-the-instana-amazon-eks-add-on/) y [Monitor and optimize Amazon EKS costs with IBM Instana and Kubecost](https://aws.amazon.com/blogs/ibm-redhat/monitor-and-optimize-amazon-eks-costs-with-ibm-instana-and-kubecost/) en el blog de AWS.

Instana Observability (Instana) ofrece un complemento de Amazon EKS que implementa agentes de Instana en los clústeres de Amazon EKS. Los clientes pueden usar este complemento para recopilar y analizar datos de rendimiento en tiempo real a fin de obtener información sobre sus aplicaciones incluidas en contenedores. El complemento Instana de Amazon EKS proporciona visibilidad en todos sus entornos de Kubernetes. Una vez implementado, el agente de Instana detecta automáticamente los componentes de los clústeres de Amazon EKS, incluidos los nodos, los espacios de nombres, las implementaciones, los servicios y los pods.

### Nombre de la cuenta de servicio
<a name="add-on-instana-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-instana-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-instana-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Grafana Labs
<a name="add-on-grafana"></a>

El nombre del complemento es `grafana-labs_kubernetes-monitoring` y el espacio de nombres es `monitoring`. Grafana Labs publica el complemento.

Para obtener más información sobre el complemento, consulte [Configure Kubernetes Monitoring as an Add-on with Amazon EKS](https://grafana.com/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/configuration/config-aws-eks/) en la documentación de Grafana Labs.

### Nombre de la cuenta de servicio
<a name="add-on-grafana-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-grafana-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-grafana-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Guance
<a name="add-on-guance"></a>
+  **Publicador:** GUANCE
+  **Nombre** – `guance_datakit` 
+  **Espacio de nombres** – `datakit` 
+  **Nombre de la cuenta de servicio**: no se usa una cuenta de servicio con este complemento.
+  **Política de IAM administrada de AWS**: no se utiliza una política administrada con este complemento.
+  **Permisos de IAM personalizados**: los permisos personalizados no se utilizan con este complemento.
+  **Instrucciones de configuración y uso**: consulte [Using Amazon EKS add-on](https://docs.guance.com/en/datakit/datakit-eks-deploy/#add-on-install) en la documentación de Guance.

## HA Proxy
<a name="add-on-ha-proxy"></a>

El nombre es `haproxy-technologies_kubernetes-ingress-ee` y el espacio de nombres es `haproxy-controller`. HA Proxy publica el complemento.

Para obtener más información sobre el complemento, consulte [Amazon EKS-integration](https://hub.datree.io/integrations/eks-integration) en la documentación de Datree.

### Nombre de la cuenta de servicio
<a name="add-on-ha-proxy-service-account-name"></a>

El nombre de la cuenta de servicio es `customer defined`.

### Política de IAM administrada de AWS
<a name="add-on-ha-proxy-managed-policy"></a>

La política administrada es AWSLicenseManagerConsumptionPolicy. Para obtener más información, consulte [AWSLicenseManagerConsumptionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLicenseManagerConsumptionPolicy.html) en la guía de referencia de políticas administradas por AWS.

### Comando para crear el rol de IAM necesario
<a name="add-on-ha-proxy-iam-command"></a>

El siguiente comando requiere que tenga un proveedor de OpenID Connect (OIDC) de IAM para su clúster. Para determinar si ya tiene uno o si debe crearlo, consulte [Crear un proveedor de OIDC de IAM para su clúster](enable-iam-roles-for-service-accounts.md). Reemplace *my-cluster* con el nombre del clúster y reemplace *my-haproxy-role* con el nombre que desea para el rol. Este comando requiere que tenga [eksctl](https://eksctl.io) instalado en su dispositivo. Si necesita usar una herramienta diferente para crear el rol y anotar la cuenta de servicio de Kubernetes, consulte [Asignación de roles de IAM a cuentas de servicio de Kubernetes](associate-service-account-role.md).

```
eksctl create iamserviceaccount --name service-account-name  --namespace haproxy-controller --cluster my-cluster --role-name my-haproxy-role \
    --role-only --attach-policy-arn arn:aws:iam::aws:policy/service-role/AWSLicenseManagerConsumptionPolicy --approve
```

### Permisos personalizados
<a name="add-on-ha-proxy-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Kpow
<a name="add-on-kpow"></a>

El nombre del complemento es `factorhouse_kpow` y el espacio de nombres es `factorhouse`. Factorhouse publica el complemento.

Para obtener más información sobre el complemento, consulte [AWS Marketplace LM](https://docs.kpow.io/installation/aws-marketplace-lm/) en la documentación de Kpow.

### Nombre de la cuenta de servicio
<a name="add-on-kpow-service-account-name"></a>

El nombre de la cuenta de servicio es `kpow`.

### Política de IAM administrada de AWS
<a name="add-on-kpow-managed-policy"></a>

La política administrada es AWSLicenseManagerConsumptionPolicy. Para obtener más información, consulte [AWSLicenseManagerConsumptionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLicenseManagerConsumptionPolicy.html) en la guía de referencia de políticas administradas por AWS.

### Comando para crear el rol de IAM necesario
<a name="add-on-kpow-iam-command"></a>

El siguiente comando requiere que tenga un proveedor de OpenID Connect (OIDC) de IAM para su clúster. Para determinar si ya tiene uno o si debe crearlo, consulte [Crear un proveedor de OIDC de IAM para su clúster](enable-iam-roles-for-service-accounts.md). Reemplace *my-cluster* con el nombre del clúster y reemplace *my-role-name* con el nombre que desea para el rol. Este comando requiere que tenga [eksctl](https://eksctl.io) instalado en su dispositivo. Si necesita usar una herramienta diferente para crear el rol y anotar la cuenta de servicio de Kubernetes, consulte [Asignación de roles de IAM a cuentas de servicio de Kubernetes](associate-service-account-role.md).

```
eksctl create iamserviceaccount --name kpow --namespace factorhouse --cluster my-cluster --role-name my-kpow-role \
    --role-only --attach-policy-arn arn:aws:iam::aws:policy/service-role/AWSLicenseManagerConsumptionPolicy --approve
```

### Permisos personalizados
<a name="add-on-kpow-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Kubecost
<a name="add-on-kubecost"></a>

El nombre del complemento es `kubecost_kubecost` y el espacio de nombres es `kubecost`. Kubecost publica el complemento.

Para obtener más información sobre el complemento, consulte [AWS Cloud Billing Integration](https://docs.kubecost.com/install-and-configure/install/cloud-integration/aws-cloud-integrations) en la documentación de Kubecost.

Debe haber instalado antes el [almacenamiento de volúmenes de Kubernetes con Amazon EBS](ebs-csi.md) en el clúster; de lo contrario, recibirá un error.

### Nombre de la cuenta de servicio
<a name="add-on-kubecost-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-kubecost-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-kubecost-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Kasten
<a name="add-on-kasten"></a>

El nombre del complemento es `kasten_k10` y el espacio de nombres es `kasten-io`. Kasten by Veeam publica el complemento.

Para obtener más información sobre el complemento, consulte [Installing K10 on AWS using Amazon EKS Add-on](https://docs.kasten.io/latest/install/aws-eks-addon/aws-eks-addon.html) en la documentación de Kasten.

Debe haber instalado el controlador de CSI de Amazon en el clúster con una `StorageClass` predeterminada.

### Nombre de la cuenta de servicio
<a name="add-on-kasten-service-account-name"></a>

El nombre de la cuenta de servicio es `k10-k10`.

### Política de IAM administrada de AWS
<a name="add-on-kasten-managed-policy"></a>

La política administrada es AWSLicenseManagerConsumptionPolicy. Para obtener más información, consulte [AWSLicenseManagerConsumptionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLicenseManagerConsumptionPolicy.html) en la guía de referencia de políticas administradas por AWS.

### Comando para crear el rol de IAM necesario
<a name="add-on-kasten-iam-command"></a>

El siguiente comando requiere que tenga un proveedor de OpenID Connect (OIDC) de IAM para su clúster. Para determinar si ya tiene uno o si debe crearlo, consulte [Crear un proveedor de OIDC de IAM para su clúster](enable-iam-roles-for-service-accounts.md). Reemplace *my-cluster* con el nombre del clúster y reemplace *my-kasten-role* con el nombre que desea para el rol. Este comando requiere que tenga [eksctl](https://eksctl.io) instalado en su dispositivo. Si necesita usar una herramienta diferente para crear el rol y anotar la cuenta de servicio de Kubernetes, consulte [Asignación de roles de IAM a cuentas de servicio de Kubernetes](associate-service-account-role.md).

```
eksctl create iamserviceaccount --name k10-k10 --namespace kasten-io --cluster my-cluster --role-name my-kasten-role \
    --role-only --attach-policy-arn arn:aws:iam::aws:policy/service-role/AWSLicenseManagerConsumptionPolicy --approve
```

### Permisos personalizados
<a name="add-on-kasten-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Kong
<a name="add-on-kong"></a>

El nombre del complemento es `kong_konnect-ri` y el espacio de nombres es `kong`. Kong publica el complemento.

Para obtener más información sobre el complemento, consulte [Installing the Kong Gateway EKS Add-on](https://kong.github.io/aws-marketplace-addon-kong-gateway/) en la documentación de Kong.

Debe haber instalado antes el [almacenamiento de volúmenes de Kubernetes con Amazon EBS](ebs-csi.md) en el clúster; de lo contrario, recibirá un error.

### Nombre de la cuenta de servicio
<a name="add-on-kong-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-kong-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-kong-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## LeakSignal
<a name="add-on-leaksignal"></a>

El nombre del complemento es `leaksignal_leakagent` y el espacio de nombres es `leakagent`. LeakSignal publica el complemento.

Para obtener más información sobre el complemento, consulte https://www.leaksignal.com/docs/LeakAgent/Deployment/AWS%20EKS%20Addon/[Install the LeakAgent add-on] en la documentación de LeakSignal

Debe haber instalado antes el [almacenamiento de volúmenes de Kubernetes con Amazon EBS](ebs-csi.md) en el clúster; de lo contrario, recibirá un error.

### Nombre de la cuenta de servicio
<a name="add-on-leaksignal-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-leaksignal-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-leaksignal-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## NetApp
<a name="add-on-netapp"></a>

El nombre del complemento es `netapp_trident-operator` y el espacio de nombres es `trident`. NetApp publica el complemento.

Para obtener más información sobre el complemento, consulte [Configuración del complemento de EKS de Trident](https://docs.netapp.com/us-en/trident/trident-use/trident-aws-addon.html) en la documentación de NetApp.

### Nombre de la cuenta de servicio
<a name="add-on-netapp-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-netapp-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-netapp-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## New Relic
<a name="add-on-new-relic"></a>

El nombre del complemento es `new-relic_kubernetes-operator` y el espacio de nombres es `newrelic`. New Relic publica el complemento.

Para obtener más información sobre el complemento, consulte [Installing the New Relic Add-on for EKS](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/connect/eks-add-on) en la documentación de New Relic.

### Nombre de la cuenta de servicio
<a name="add-on-new-relic-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-new-relic-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-new-relic-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Rafay
<a name="add-on-rafay"></a>

El nombre del complemento es `rafay-systems_rafay-operator` y el espacio de nombres es `rafay-system`. Rafay publica el complemento.

Para obtener más información sobre el complemento, consulte [Installing the Rafay Amazon EKS Add-on](https://docs.rafay.co/clusters/import/eksaddon/) en la documentación de Rafay.

### Nombre de la cuenta de servicio
<a name="add-on-rafay-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-rafay-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-rafay-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Rad Security
<a name="add-on-rad"></a>
+  **Publicador:** RAD SECURITY
+  **Nombre** – `rad-security_rad-security` 
+  **Espacio de nombres** – `ksoc` 
+  **Nombre de la cuenta de servicio**: no se usa una cuenta de servicio con este complemento.
+  **Política de IAM administrada de AWS**: no se utiliza una política administrada con este complemento.
+  **Permisos de IAM personalizados**: los permisos personalizados no se utilizan con este complemento.
+  **Instrucciones de configuración y uso**: consulte [Installing Rad Through The AWS Marketplace](https://docs.rad.security/docs/installing-ksoc-in-the-aws-marketplace) en la documentación de Rad Security.

## SolarWinds
<a name="add-on-solarwinds"></a>
+  **Publicador:** SOLARWINDS
+  **Nombre** – `solarwinds_swo-k8s-collector-addon` 
+  **Espacio de nombres** – `solarwinds` 
+  **Nombre de la cuenta de servicio**: no se usa una cuenta de servicio con este complemento.
+  **Política de IAM administrada de AWS**: no se utiliza una política administrada con este complemento.
+  **Permisos de IAM personalizados**: los permisos personalizados no se utilizan con este complemento.
+  **Instrucciones de configuración y uso**: consulte [Monitor an Amazon EKS cluster](https://documentation.solarwinds.com/en/success_center/observability/content/configure/configure-kubernetes.htm#MonitorAmazonEKS) en la documentación de SolarWinds.

## Solo
<a name="add-on-solo"></a>

El nombre del complemento es `solo-io_istio-distro` y el espacio de nombres es `istio-system`. Solo publica el complemento.

Para obtener más información sobre el complemento, consulte [Installing Istio](https://docs.solo.io/gloo-mesh-enterprise/main/setup/install/eks_addon/) en la documentación de Solo.io.

### Nombre de la cuenta de servicio
<a name="add-on-solo-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-solo-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-solo-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Snyk
<a name="add-on-snyk"></a>
+  **Publicador:** SNYK
+  **Nombre** – `snyk_runtime-sensor` 
+  **Espacio de nombres** – `snyk_runtime-sensor` 
+  **Nombre de la cuenta de servicio**: no se usa una cuenta de servicio con este complemento.
+  **Política de IAM administrada de AWS**: no se utiliza una política administrada con este complemento.
+  **Permisos de IAM personalizados**: los permisos personalizados no se utilizan con este complemento.
+  **Instrucciones de configuración y uso**: consulte [Snyk runtime sensor](https://docs.snyk.io/integrate-with-snyk/snyk-runtime-sensor) en los documentos para usuarios de Snyk.

## Stormforge
<a name="add-on-stormforge"></a>

El nombre del complemento es `stormforge_optimize-Live` y el espacio de nombres es `stormforge-system`. Stormforge publica el complemento.

Para obtener más información sobre el complemento, consulte [Installing the StormForge Agent](https://docs.stormforge.io/optimize-live/getting-started/install-v2/) en la documentación de StormForge.

### Nombre de la cuenta de servicio
<a name="add-on-stormforge-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-stormforge-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-stormforge-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## SUSE
<a name="add-on-suse"></a>
+  **Publicador**: SUSE
+  **Nombre** – `suse_observability-agent` 
+  **Espacio de nombres** – `suse-observability` 
+  **Nombre de la cuenta de servicio**: no se usa una cuenta de servicio con este complemento.
+  **Política de IAM administrada de AWS**: no se utiliza una política administrada con este complemento.
+  **Permisos de IAM personalizados**: los permisos personalizados no se utilizan con este complemento.
+  **Instrucciones de configuración y uso**: consulte [Inicio rápido](https://docs.stackstate.com/get-started/k8s-quick-start-guide#amazon-eks) en la documentación de SUSE.

## Splunk
<a name="add-on-splunk"></a>

El nombre del complemento es `splunk_splunk-otel-collector-chart` y el espacio de nombres es `splunk-monitoring`. Splunk publica el complemento.

Para obtener más información sobre el complemento, consulte [Install the Splunk add-on for Amazon EKS](https://help.splunk.com/en/splunk-observability-cloud/manage-data/splunk-distribution-of-the-opentelemetry-collector/get-started-with-the-splunk-distribution-of-the-opentelemetry-collector/collector-for-kubernetes/kubernetes-eks-add-on) en la documentación de Splunk.

### Nombre de la cuenta de servicio
<a name="add-on-splunk-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-splunk-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-splunk-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Teleport
<a name="add-on-teleport"></a>

El nombre del complemento es `teleport_teleport` y el espacio de nombres es `teleport`. Teleport publica el complemento.

Para obtener más información sobre el complemento, consulte [How Teleport Works](https://goteleport.com/how-it-works/) en la documentación de Teleport.

### Nombre de la cuenta de servicio
<a name="add-on-teleport-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-teleport-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-teleport-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Tetrate
<a name="add-on-tetrate"></a>

El nombre del complemento es `tetrate-io_istio-distro` y el espacio de nombres es `istio-system`. Tetrate publica el complemento.

Para obtener más información sobre el complemento, consulte el sitio web de [Tetrate Istio Distro](https://tetratelabs.io/).

### Nombre de la cuenta de servicio
<a name="add-on-tetrate-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-tetrate-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-tetrate-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Upbound Universal Crossplane
<a name="add-on-upbound"></a>

El nombre del complemento es `upbound_universal-crossplane` y el espacio de nombres es `upbound-system`. Upbound publica el complemento.

Para obtener más información sobre el complemento, consulte [Upbound Universal Crossplane (UXP)](https://docs.upbound.io/uxp/) en la documentación de Upbound.

### Nombre de la cuenta de servicio
<a name="add-on-upbound-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-upbound-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-upbound-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

## Upwind
<a name="add-on-upwind"></a>

El nombre del complemento es `upwind` y el espacio de nombres es `upwind`. Upwind publica el complemento.

Para obtener más información sobre el complemento, consulte la [documentación de Upwind](https://docs.upwind.io/install-sensor/kubernetes/install?installation-method=amazon-eks-addon).

### Nombre de la cuenta de servicio
<a name="add-on-upwind-service-account-name"></a>

No se usa una cuenta de servicio con este complemento.

### Política de IAM administrada de AWS
<a name="add-on-upwind-managed-policy"></a>

No se utiliza una política administrada con este complemento.

### Permisos de IAM personalizados
<a name="add-on-upwind-custom-permissions"></a>

No se utilizan permisos personalizados con este complemento.

# Cómo crear un complemento de Amazon EKS
<a name="creating-an-add-on"></a>

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 Consola de administración de AWS 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](eks-add-ons.md) para obtener más información sobre cómo crear el rol.

## Requisitos previos
<a name="creating-an-add-on-prereq"></a>

Siga estos pasos antes de crear un complemento:
+ El clúster debe existir antes de crear un complemento para él. Para obtener más información, consulte [Creación de un clúster de Amazon EKS](create-cluster.md).
+ Compruebe si el complemento requiere un rol de IAM. 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](addon-compat.md).
+ Compruebe que la versión del complemento de Amazon EKS es 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](addon-compat.md).
+ Compruebe que la versión 0.190.0 o posterior de la herramienta de línea de comandos de `eksctl` esté instalada en su equipo o AWS CloudShell. Para obtener más información, consulte [Instalación](https://eksctl.io/installation/) en el sitio web de `eksctl`.

## Procedimiento
<a name="creating-an-add-on-procedure"></a>

Puede crear un complemento de Amazon EKS mediante `eksctl`, la Consola de administración de AWS 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 desde AWS](workloads-add-ons-available-eks.md) para obtener información sobre cómo crear el rol.

## Creación de complemento (eksctl)
<a name="_create_add_on_eksctl"></a>

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

   ```
   eksctl utils describe-addon-versions --kubernetes-version 1.35 | 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",
                           [...]
   ```

1. Visualización de las versiones disponibles para el complemento que le gustaría crear. Reemplace *1.35* 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.35 --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.35 --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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) que utilice para crear el complemento debe tener permiso para crear el rol vinculado al servicio [AWSServiceRoleForAWSLicenseManagerRole](https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager-role-core.html). 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) en la Guía del usuario de IAM.

1. 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](workloads-add-ons-available-eks.md). Para especificar un rol de cuenta de servicio, 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](enable-iam-roles-for-service-accounts.md).

     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](https://eksctl.io/usage/addons/) (Complementos) en la documentación de `eksctl`.

## Creación de complemento (consola de AWS)
<a name="create_add_on_console"></a>

1. Abra la [consola de Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

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

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

1. Elija la pestaña **Complementos**.

1. Escoja **Obtener más complementos**.

1. 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) 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](https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager-role-core.html) 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](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal), consulte [Adición y eliminación de permisos de identidad de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) 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 **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**.

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

   1. 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](workloads-add-ons-available-eks.md).

   1. 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](updating-an-add-on.md) 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](pod-identities.md#pod-id-benefits). 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](workloads-add-ons-available-eks.md#add-ons-vpc-cni). 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.

      1. 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](workloads-add-ons-available-eks.md). 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 [Crear un proveedor de OIDC de IAM para su clúster](enable-iam-roles-for-service-accounts.md).

      1. Seleccione **Valores de configuración opcionales**.

      1. 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](workloads-add-ons-available-eks.md).

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

      1. Si desea instalar el complemento en un espacio de nombres específico, ingréselo en el campo **Espacio de nombres**. Para los complementos de AWS y de la comunidad, puede definir un espacio de nombres de Kubernetes personalizado en el que instalar el complemento. Para obtener más información, consulte [Espacio de nombres personalizado para complementos](eks-add-ons.md#custom-namespace).

      1. Elija **Siguiente**.

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

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

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

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

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

   1. 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)
<a name="create_add_on_shared_aws_cli"></a>

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, 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](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) y [Configuración rápida con aws configure](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) 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](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software) en la *Guía del usuario de AWS CloudShell*.

1. 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.35* por la versión del clúster.

   ```
   aws eks describe-addon-versions --kubernetes-version 1.35 \
       --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.

1. Puede ver qué versiones están disponibles para cada complemento. Reemplace *1.35* 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.35 --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.

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

1. 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](retreive-iam-info.md).
   + 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](pod-identities.md). 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](add-ons-iam.md).
   + 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. ](iam-roles-for-service-accounts.md) 
   +  [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. ](eks-add-ons.md) 

     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 desea instalar el complemento en un espacio de nombres de Kubernetes personalizado, agregue la opción `--namespace-config 'namespace=<my-namespace>`. Esta opción solo está disponible para los complementos de AWS y de la comunidad. Para obtener más información, consulte [Espacio de nombres personalizado para complementos](eks-add-ons.md#custom-namespace) 
   + 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](workloads-add-ons-available-eks.md). Para especificar un rol de cuenta de servicio, 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](enable-iam-roles-for-service-accounts.md).

       ```
       --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](https://docs.aws.amazon.com/cli/latest/reference/eks/create-addon.html) `‎ 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`.

# Actualización de un complemento de Amazon EKS
<a name="updating-an-add-on"></a>

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 AWS](workloads-add-ons-available-eks.md). Si el complemento requiere un rol de IAM, consulte los detalles del complemento específico en [Complementos de Amazon EKS disponibles desde AWS](workloads-add-ons-available-eks.md) para obtener información sobre cómo crear el rol.

## Requisitos previos
<a name="updating-an-add-on-prereq"></a>

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](eks-add-ons.md).
+ 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](addon-compat.md).

## Procedimiento
<a name="updating-an-add-on-procedure"></a>

Puede actualizar un complemento de Amazon EKS mediante `eksctl`, la Consola de administración de AWS o la AWS CLI.

## Actualización del complemento (eksctl)
<a name="_update_add_on_eksctl"></a>

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

1. 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 de su clúster.
      + Reemplace *region-code* por la región de AWS en la que se encuentra el clúster.
      + Reemplace *vpc-cni* por el nombre de un complemento devuelto en el paso anterior que desea actualizar.
      + Si quiere una versión del complemento anterior a la versión más reciente, sustituya *latest* por 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. Para ver una lista de los complementos, consulte [Complementos de AWS](workloads-add-ons-available-eks.md).**\$1** Si el complemento usa una cuenta de servicio de Kubernetes y un rol de IAM, sustituya *111122223333* por el ID de la cuenta y *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 obtener una lista de los complementos, consulte [Complementos de AWS](workloads-add-ons-available-eks.md). Para especificar un rol de cuenta de servicio, 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](enable-iam-roles-for-service-accounts.md).

        Si el complemento no usa una cuenta de servicio de Kubernetes y un rol de IAM, elimine la línea `serviceAccountRoleARN: arn:aws:iam::111122223333:role/role-name `.
      + La opción *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.

        ```
        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
        ```

   1. Ejecute el comando modificado para crear el archivo `update-addon.yaml`.

   1. 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](https://eksctl.io/usage/addons/#updating-addons) en la documentación de `eksctl`.

## Actualización del complemento (consola de AWS)
<a name="update_add_on_shared_aws_console"></a>

1. Abra la [consola de Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

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

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

1. Elija la pestaña **Complementos**.

1. Elija el complemento que desea actualizar.

1. Elija **Edit (Edición de)**.

1. En la página **Configuración de *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. Para obtener una lista de los complementos, consulte [Complementos de AWS](workloads-add-ons-available-eks.md).

   1. 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**. 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](pod-identities.md#pod-id-benefits). 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](workloads-add-ons-available-eks.md#add-ons-vpc-cni). 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**  
NOTA: Retener el nombre de rol predeterminado permite a EKS preseleccionar el rol para complementos en clústeres nuevos o al agregar complementos a clústeres existentes. Aún así, puede anular este nombre y el rol estará disponible para el complemento en todos los clústeres, pero el rol se tendrá que seleccionar manualmente en el menú desplegable.

      1. 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](workloads-add-ons-available-eks.md). 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 [Crear un proveedor de OIDC de IAM para su clúster](enable-iam-roles-for-service-accounts.md).

   1. Seleccione **Ajustes de configuración opcionales**.

   1. 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. Para ver una lista de los complementos, consulte [Complementos de AWS](workloads-add-ons-available-eks.md)…En **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. Si cambia este valor a Sobrescribir, 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 Ninguno, 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.

1. Seleccione **Save changes (Guardar cambios)**.

## Actualización del complemento (AWS CLI)
<a name="update_add_on_shared_aws_cli"></a>

1. Necesita la versión `2.12.3` o posterior, o bien, la versión `1.27.160` o posterior de la AWS Interfaz de la línea de comandos (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, 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](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) y [Configuración rápida con aws configure](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) 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 AWS CLI en su directorio de usuarios principal](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software) en la *Guía del usuario de AWS CloudShell*.

1. Consulte la lista de complementos instalados. Reemplace *my-cluster* por el nombre de su clúster.

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

   Un ejemplo de salida sería el siguiente.

   ```
   {
       "addons": [
           "coredns",
           "kube-proxy",
           "vpc-cni"
       ]
   }
   ```

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

1. Determine qué versiones del complemento se encuentran disponibles para la versión de su clúster. Reemplace *1.35* 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.35 --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.

1. 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](https://docs.aws.amazon.com/cli/latest/reference/eks/update-addon.html) en la Referencia de la línea de comandos de Amazon EKS.
   + Reemplace *my-cluster* por el nombre de su 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 la versión a la que desea actualizar devuelta en el resultado del paso anterior. Algunos complementos tienen versiones recomendadas. Para obtener más información, consulte la documentación del complemento que está actualizando. Para ver una lista de los complementos, consulte [Complementos de AWS](workloads-add-ons-available-eks.md).**\$1** Si el complemento usa una cuenta de servicio de Kubernetes y un rol de IAM, sustituya *111122223333* por el ID de la cuenta y *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 obtener una lista de los complementos, consulte [Complementos de AWS](workloads-add-ons-available-eks.md). Para especificar un rol de cuenta de servicio, 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](enable-iam-roles-for-service-accounts.md).

     Si el complemento no usa una cuenta de servicio de Kubernetes y un rol de IAM, elimine la línea `serviceAccountRoleARN: arn:aws:iam::111122223333:role/role-name `.
   + La opción `--resolve-conflicts 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.
   + Si desea eliminar toda la configuración personalizada, realice la actualización mediante la opción *--configuration-values '\$1\$1'*. 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 el *\$1\$1* 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
     ```

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

# Comprobación de la compatibilidad de la versión del complemento de Amazon EKS con un clúster
<a name="addon-compat"></a>

Antes de crear o actualizar un complemento de Amazon EKS, necesita comprobar si la versión de este es compatible con su clúster.

Use la [API describe-addon-versions](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html) para enumerar las versiones disponibles de los complementos de EKS y las versiones de Kubernetes que admite cada versión del complemento.

1. Compruebe que la AWS CLI esté instalada y funcione con `aws sts get-caller-identity`. Si este comando no funciona, obtenga información en [Introducción a AWS CLI.](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) 

1. Determine el nombre del complemento del que desea recuperar la información de compatibilidad de versiones; por ejemplo, `amazon-cloudwatch-observability`.

1. Determine la versión de Kubernetes del clúster, como `1.35`.

1. Utilice la AWS CLI para recuperar versiones de complementos compatibles con la versión de Kubernetes del clúster.

   ```
   aws eks describe-addon-versions --addon-name amazon-cloudwatch-observability --kubernetes-version 1.35
   ```

   Un ejemplo de salida sería el siguiente.

   ```
   {
       "addons": [
           {
               "addonName": "amazon-cloudwatch-observability",
               "type": "observability",
               "addonVersions": [
                   {
                       "addonVersion": "vX.X.X-eksbuild.X",
                       "architecture": [
                           "amd64",
                           "arm64"
                       ],
                       "computeTypes": [
                           "ec2",
                           "auto",
                           "hybrid"
                       ],
                       "compatibilities": [
                           {
                               "clusterVersion": "1.35",
                               "platformVersions": [
                                   "*"
                               ],
                               "defaultVersion": true
                           }
                       ],
                   }
               ]
           }
       ]
   }
   ```

   Este resultado muestra que la versión complementaria `vX.X.X-eksbuild.X` es compatible con la versión `1.35` del clúster de Kubernetes.

## Compatibilidad de complementos con tipos de computación
<a name="_add_on_compatibility_with_compute_types"></a>

El campo `computeTypes` del resultado `describe-addon-versions` indica la compatibilidad de un complemento con los nodos administrados del modo automático o los nodos híbridos de EKS. Los complementos marcados con `auto` funcionan con la infraestructura administrada por AWS y basada en la nube del modo automático de EKS, mientras que los marcados con `hybrid` se pueden ejecutar en nodos en las instalaciones conectados al plano de control en la nube de EKS.

Para obtener más información, consulte [Consideraciones para el modo automático de Amazon EKS](eks-add-ons.md#addon-consider-auto).

# Cómo eliminar un complemento de Amazon EKS de un clúster
<a name="removing-an-add-on"></a>

Puede quitar un complemento de Amazon EKS de su clúster mediante `eksctl`, la Consola de administración de AWS o AWS CLI.

Cuando elimine un complemento de Amazon EKS de un clúster, tenga en cuenta lo siguiente:
+ No hay tiempo de inactividad para la funcionalidad que proporciona el complemento.
+ Si utiliza los roles de IAM para las cuentas de servicio (IRSA) y el complemento tiene una función de IAM asociada, esta no se elimina.
+ Si utiliza Pod Identities, se eliminarán todas las asociaciones de Pod Identity que sean propiedad del complemento. Si especifica la opción `--preserve` en la AWS CLI, las asociaciones se conservan.
+ Amazon EKS deja de administrar la configuración del complemento.
+ La consola deja de avisarle cuando haya nuevas versiones disponibles.
+ No puede actualizar el complemento con ninguna herramienta o API de AWS.
+ Puede optar por dejar el software de complemento en el clúster para poder autoadministrar el software de complemento o puede eliminar el software de complemento del clúster. Solo debe eliminar el complemento de software si ninguno de los recursos del clúster depende de la funcionalidad que proporciona el complemento.

## Requisitos previos
<a name="removing-an-add-on-prereq"></a>

Siga estos pasos antes de crear un complemento:
+ Un clúster existente de Amazon EKS. Para implementar uno, consulte [Introducción a Amazon EKS](getting-started.md).
+ Compruebe si el complemento requiere un rol de IAM. Para más información, consulte
+ La versión `0.215.0` o posterior de la herramienta de línea de comandos `eksctl` instalada en su dispositivo o AWS CloudShell. Para instalar o actualizar `eksctl`, consulte la sección [Installation](https://eksctl.io/installation) de la documentación de `eksctl`.

## Procedimiento
<a name="removing-an-add-on-procedure"></a>

Tiene dos opciones al eliminar un complemento de Amazon EKS.
+  **Conservar el software del complemento en el clúster**: esta opción elimina la administración de Amazon EKS de cualquier configuración. También elimina la capacidad de Amazon EKS de notificarle las actualizaciones y actualizar de forma automática el complemento de Amazon EKS después de iniciar una actualización. Sin embargo, conserva el software del complemento en el clúster. Esta opción hace que la instalación sea autoadministrada, en lugar de un complemento de Amazon EKS. Con esta opción, no hay tiempo de inactividad para el complemento.
+  **Eliminar por completo el software del complemento del clúster**: recomendamos que elimine el complemento de Amazon EKS del clúster solo si no hay recursos en el clúster que dependan de él.

Puede eliminar un complemento de Amazon EKS mediante `eksctl`, la Consola de administración de AWS o AWS CLI.

### Eliminar complemento (eksctl)
<a name="_remove_add_on_eksctl"></a>

1. Determine los complementos instalados en su clúster. Reemplace *my-cluster* por el nombre de su 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
   vpc-cni     v1.10.4-eksbuild.1   ACTIVE  0
   [...]
   ```

   El resultado puede tener un aspecto diferente, según los complementos y las versiones que tenga en su clúster.

1. Elimine el complemento. Reemplace *my-cluster* por el nombre de su clúster y *name-of-add-on* por el nombre del complemento que obtuvo en la salida del paso anterior que desea eliminar. Si elimina la opción *--preserve*, además de que Amazon EKS deja de administrar el complemento, se elimina el software del complemento del clúster.

   ```
   eksctl delete addon --cluster my-cluster --name name-of-addon --preserve
   ```

   Para obtener más información acerca de cómo eliminar complementos, consulte [Deleting addons](https://eksctl.io/usage/addons/#deleting-addons) en la documentación de `eksctl`.

### Eliminación del complemento (consola de AWS)
<a name="remove_add_on_shared_aws_console"></a>

1. Abra la [consola de Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

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

1. Elija el nombre del clúster para el que desea eliminar el complemento de Amazon EKS.

1. Elija la pestaña **Complementos**.

1. Seleccione el complemento que desea eliminar.

1. Elija **Eliminar**.

1. En el cuadro de diálogo de confirmación **Eliminar: *nombre del complemento* **, haga lo siguiente:

   1. Si desea que Amazon EKS deje de administrar la configuración del complemento, seleccione **Conservar en clúster**. Haga esto si desea retener el software del complemento en el clúster. Esto es para que pueda administrar todas las configuraciones del complemento por su cuenta.

   1. Ingrese el nombre del complemento.

   1. Elija **Eliminar**.

### Eliminar complemento (AWS CLI)
<a name="remove_add_on_shared_aws_cli"></a>

1. Necesita tener la versión `0.215.0` o posterior de la herramienta de línea de comandos `eksctl` instalada en su dispositivo o AWS CloudShell. Para instalar o actualizar `eksctl`, consulte [Instalación](https://eksctl.io/installation) en la documentación de `eksctl`.

1. Consulte la lista de complementos instalados. Reemplace *my-cluster* por el nombre de su clúster.

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

   Un ejemplo de salida sería el siguiente.

   ```
   {
       "addons": [
           "coredns",
           "kube-proxy",
           "vpc-cni",
           "name-of-addon"
       ]
   }
   ```

1. Elimine el complemento instalado. Reemplace *my-cluster* por el nombre de su clúster y *name-of-add-on* por el nombre del complemento que desea eliminar. Al eliminar *--preserve*, se elimina el software del complemento del clúster.

   ```
   aws eks delete-addon --cluster-name my-cluster --addon-name name-of-addon --preserve
   ```

   A continuación se muestra el ejemplo abreviado de salida.

   ```
   {
       "addon": {
           "addonName": "name-of-add-on",
           "clusterName": "my-cluster",
           "status": "DELETING",
       }
   }
   ```

1. Compruebe el estado de la eliminación. Reemplace *my-cluster* por el nombre de su clúster y *name-of-add-on* por el nombre del complemento que desea eliminar.

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name name-of-addon
   ```

   El resultado del ejemplo luego de que se elimina el complemento es el siguiente.

   ```
   An error occurred (ResourceNotFoundException) when calling the DescribeAddon operation: No addon: name-of-addon found in cluster: my-cluster
   ```

# Roles de IAM para los complementos de Amazon EKS
<a name="add-ons-iam"></a>

Algunos complementos de Amazon EKS necesitan permisos y roles de IAM para llamar a las API de AWS. Por ejemplo, el complemento CNI de Amazon VPC llama a determinadas API de AWS para configurar los recursos de red de su cuenta. Es necesario conceder permiso a estos complementos mediante el IAM de . Más específicamente, la cuenta de servicio del pod que ejecuta el complemento debe estar asociada a un rol de IAM con una política de IAM específica.

La forma recomendada de conceder permisos AWS para agrupar cargas de trabajo es mediante la característica Pod Identity de Amazon EKS. Puede usar una **asociación de Pod Identity** para asignar la cuenta de servicio de un complemento a un rol de IAM. Si un pod usa una cuenta de servicio que tiene una asociación, Amazon EKS establece las variables de entorno en los contenedores del pod. Las variables de entorno configuran los SDK de AWS, incluida la AWS de CLI, para usar las credenciales de la Pod Identity de EKS. Para obtener más información, consulte [Más información sobre cómo Pod Identity de EKS concede a los pods acceso a los servicios de AWS](pod-identities.md) 

Los complementos de Amazon EKS pueden ayudar a administrar el ciclo de vida de las asociaciones de Pod Identity correspondientes al complemento. Por ejemplo, puede crear o actualizar un complemento de Amazon EKS y la asociación de Pod Identity necesaria en una sola llamada a la API. Amazon EKS también proporciona una API para recuperar las políticas de IAM sugeridas.

1. Confirme que el [agente de Pod Identity de Amazon EKS](pod-id-agent-setup.md) esté configurado en su clúster.

1. Determine si el complemento que desea instalar requiere permisos de IAM mediante la operación `describe-addon-versions` AWS CLI. Si el indicador `requiresIamPermissions` es `true`, entonces debe usar la operación `describe-addon-configurations` para determinar los permisos que necesita el complemento. La respuesta incluye una lista de políticas de IAM administradas sugeridas.

1. Recupere el nombre de la cuenta de servicio de Kubernetes y la política de IAM mediante la operación de la CLI `describe-addon-configuration`. Evalúe el alcance de la política sugerida en función de sus requisitos de seguridad.

1. Cree un rol de IAM con la política de permisos sugerida y la política de confianza que exige Pod Identity. Para obtener más información, consulte [Creación de una asociación de Pod Identity (consola de AWS)](pod-id-association.md#pod-id-association-create).

1. Cree o actualice el complemento de Amazon EKS con la CLI. Especifique al menos una asociación de Pod Identity. Una asociación de Pod Identity es el nombre de una cuenta de servicio de Kubernetes y el ARN de un rol de IAM.
   + Las asociaciones de Pod Identity creadas con las API de los complementos son propiedad del complemento correspondiente. Si elimina el complemento, también se eliminará la asociación de Pod Identity. Para evitar esta eliminación en cascada, utilice la opción `preserve` cuando elimine un complemento mediante la AWS CLI o la API. Si es necesario, también puede actualizar o eliminar directamente la asociación de Pod Identity. Los complementos no pueden asumir la propiedad de las asociaciones de Pod Identity existentes. Debe eliminar la asociación existente y volver a crearla mediante una operación de creación o actualización de complementos.
   + Amazon EKS recomienda usar asociaciones de Pod Identity para administrar los permisos de IAM para los complementos. El método anterior, los roles de IAM para cuentas de servicio (IRSA), aún se admite. Puede especificar tanto un `serviceAccountRoleArn` de IRSA como una asociación de Pod Identity para un complemento. Si el agente del Pod Identity de EKS está instalado en el clúster, `serviceAccountRoleArn` se ignorará y EKS utilizará la asociación de Pod Identity proporcionada. Si Pod Identity no está habilitada, se utilizará `serviceAccountRoleArn`.
   + Si actualiza las asociaciones de Pod Identity de un complemento existente, Amazon EKS inicia un reinicio continuo de los pods del complemento.

# Obtención de información de IAM sobre un complemento de Amazon EKS
<a name="retreive-iam-info"></a>

Antes de crear un complemento, utilice AWS CLI para determinar lo siguiente:
+ Si el complemento requiere permisos de IAM
+ La política de IAM que se recomienda utilizar

## Procedimiento
<a name="_procedure"></a>

1. Determine el nombre del complemento que quiere instalar y la versión de Kubernetes del clúster. Para obtener más información sobre los complementos, consulte [Complementos de Amazon EKS](eks-add-ons.md).

1. Utilice AWS CLI para determinar si el complemento requiere permisos de IAM.

   ```
   aws eks describe-addon-versions \
   --addon-name <addon-name> \
   --kubernetes-version <kubernetes-version>
   ```

   Por ejemplo:

   ```
   aws eks describe-addon-versions \
   --addon-name aws-ebs-csi-driver \
   --kubernetes-version 1.30
   ```

   Revise la siguiente salida de ejemplo. Tenga en cuenta que `requiresIamPermissions` es `true` y la versión predeterminada del complemento. Debe especificar la versión del complemento al recuperar la política de IAM recomendada.

   ```
   {
       "addons": [
           {
               "addonName": "aws-ebs-csi-driver",
               "type": "storage",
               "addonVersions": [
                   {
                       "addonVersion": "v1.31.0-eksbuild.1",
                       "architecture": [
                           "amd64",
                           "arm64"
                       ],
                       "compatibilities": [
                           {
                               "clusterVersion": "1.30",
                               "platformVersions": [
                                   "*"
                               ],
                               "defaultVersion": true
                           }
                       ],
                       "requiresConfiguration": false,
                       "requiresIamPermissions": true
                   },
   [...]
   ```

1. Si el complemento requiere permisos de IAM, utilice AWS CLI para recuperar una política de IAM recomendada.

   ```
   aws eks describe-addon-configuration \
   --query podIdentityConfiguration \
   --addon-name <addon-name> \
   --addon-version <addon-version>
   ```

   Por ejemplo:

   ```
   aws eks describe-addon-configuration \
   --query podIdentityConfiguration \
   --addon-name aws-ebs-csi-driver \
   --addon-version v1.31.0-eksbuild.1
   ```

   Revise la siguiente salida. Anote el `recommendedManagedPolicies`.

   ```
   [
       {
           "serviceAccount": "ebs-csi-controller-sa",
           "recommendedManagedPolicies": [
               "arn:aws:iam::aws:policy/service-role/AmazonEBSCSIDriverPolicy"
           ]
       }
   ]
   ```

1. Cree un rol de IAM y adjunte la política administrada recomendada. Como alternativa, revise la política administrada y reduzca los permisos según corresponda. Para obtener más información, consulte [Creación de una asociación de Pod Identity (consola de AWS)](pod-id-association.md#pod-id-association-create).

## Referencia de compatibilidad de Pod Identity
<a name="pod-id-add-on-versions"></a>

En la siguiente tabla se indica si determinados complementos de Amazon EKS admiten EKS Pod Identity.


| Nombre del complemento | Compatibilidad con Pod Identity | Versión mínima requerida | 
| --- | --- | --- | 
|   [Controlador de CSI de Amazon EBS](workloads-add-ons-available-eks.md#add-ons-aws-ebs-csi-driver)   |  Sí  |  v1.26.0-eksbuild.1  | 
|   [CNI de Amazon VPC](workloads-add-ons-available-eks.md#add-ons-vpc-cni)   |  Sí  |  v1.15.5-eksbuild.1  | 
|   [Controlador de CSI de Amazon EFS](workloads-add-ons-available-eks.md#add-ons-aws-efs-csi-driver)   |  Sí  |  v2.0.5-eksbuild.1  | 
|   [AWS Distro para OpenTelemetry](workloads-add-ons-available-eks.md#add-ons-adot)   |  Sí  |  v0.94.1-eksbuild.1  | 
|   [Controlador CSI del Mountpoint para Amazon S3](workloads-add-ons-available-eks.md#mountpoint-for-s3-add-on)   |  No  |  N/A  | 
|   [Agente de observabilidad de Amazon CloudWatch](workloads-add-ons-available-eks.md#amazon-cloudwatch-observability)   |  Sí  |  v3.1.0-eksbuild.1  | 

Esta tabla se actualizó por última vez el 28 de octubre de 2024.

# Uso de Pod Identities para asignar un rol de IAM a un complemento de Amazon EKS
<a name="update-addon-role"></a>

Algunos complementos de Amazon EKS necesitan permisos y roles de IAM. Antes de agregar o actualizar un complemento de Amazon EKS para que utilice una asociación de Pod Identity, compruebe el rol y la política que vaya a utilizar. Para obtener más información, consulte [Obtención de información de IAM sobre un complemento de Amazon EKS](retreive-iam-info.md).

1. Determine:
   +  `cluster-name`: el nombre del clúster de EKS en el que se va a instalar el complemento.
   +  `addon-name`: el nombre del complemento de Amazon EKS que se va a instalar.
   +  `service-account-name`— El nombre de la cuenta de servicio de Kubernetes utilizada por el complemento.
   +  `iam-role-arn`— El ARN de un rol de IAM con permisos suficientes para el complemento. El rol debe tener la política de confianza requerida para Pod Identity de EKS. Para obtener más información, consulte [Creación de una asociación de Pod Identity (consola de AWS)](pod-id-association.md#pod-id-association-create).

1. Actualización del complemento mediante la AWS de CLI. También puede especificar las asociaciones de Pod Identity al crear un complemento, utilizando la misma sintaxis `--pod-identity-assocations`. Tenga en cuenta que si especifica las asociaciones de Pod Identity al actualizar un complemento, se sobrescriben todas las anteriores.

   ```
   aws eks update-addon --cluster-name <cluster-name> \
   --addon-name <addon-name> \
   --pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'
   ```

   Por ejemplo:

   ```
   aws eks update-addon --cluster-name mycluster \
   --addon-name aws-ebs-csi-driver \
   --pod-identity-associations 'serviceAccount=ebs-csi-controller-sa,roleArn=arn:aws:iam::123456789012:role/StorageDriver'
   ```

1. Compruebe que se haya creado la asociación de Pod Identity:

   ```
   aws eks list-pod-identity-associations --cluster-name <cluster-name>
   ```

   Si la operación se realiza correctamente, debería ver un resultado similar al siguiente. Anote el ARN del propietario del complemento EKS.

   ```
   {
       "associations": [
           {
               "clusterName": "mycluster",
               "namespace": "kube-system",
               "serviceAccount": "ebs-csi-controller-sa",
               "associationArn": "arn:aws:eks:us-west-2:123456789012:podidentityassociation/mycluster/a-4wvljrezsukshq1bv",
               "associationId": "a-4wvljrezsukshq1bv",
               "ownerArn": "arn:aws:eks:us-west-2:123456789012:addon/mycluster/aws-ebs-csi-driver/9cc7ce8c-2e15-b0a7-f311-426691cd8546"
           }
       ]
   }
   ```

# Eliminación de las asociaciones de Pod Identity de un complemento de Amazon EKS
<a name="remove-addon-role"></a>

Elimine las asociaciones de Pod Identity de un complemento de Amazon EKS.

1. Determine:
   +  `cluster-name`: el nombre del clúster de EKS en el que se va a instalar el complemento.
   +  `addon-name`: el nombre del complemento de Amazon EKS que se va a instalar.

1. Actualice el complemento para especificar una matriz vacía de asociaciones de Pod Identity.

   ```
   aws eks update-addon --cluster-name <cluster-name> \
   --addon-name <addon-name> \
   --pod-identity-associations "[]"
   ```

# Solución de problemas de Pod Identities de los complementos de EKS
<a name="addon-id-troubleshoot"></a>

Si sus complementos encuentran errores al intentar realizar operaciones de la API de AWS, SDK o CLI, confirme lo siguiente:
+ El agente de Pod Identity está instalado en el clúster.
  + Para obtener información acerca de cómo instalar el agente de Pod Identity, consulte [Configuración del agente de Pod Identity de Amazon EKS](pod-id-agent-setup.md).
+ El complemento tiene una asociación de Pod Identity válida.
  + Utilice la AWS CLI para recuperar las asociaciones del nombre de la cuenta de servicio que utiliza el complemento.

    ```
    aws eks list-pod-identity-associations --cluster-name <cluster-name>
    ```
+ El rol de IAM tiene la política de confianza necesaria para Pod Identities.
  + Utilice AWS CLI para recuperar la política de confianza de un complemento.

    ```
    aws iam get-role --role-name <role-name> --query Role.AssumeRolePolicyDocument
    ```
+ El rol de IAM tiene los permisos necesarios para el complemento.
  + Utilice AWS CloudTrail para revisar los eventos `AccessDenied` o `UnauthorizedOperation`.
+ El nombre de la cuenta de servicio en la asociación de Pod Identity coincide con el nombre de la cuenta de servicio que utiliza el complemento.
  + Para obtener información acerca de los complementos disponibles, consulte [Complementos de AWS](workloads-add-ons-available-eks.md).
+ Compruebe la configuración de MutatingWebhookConfiguration denominada `pod-identity-webhook` 
  +  `admissionReviewVersions` del webhook debe ser `v1beta1` y no funciona con `v1`.

# Determinación de los campos que se pueden personalizar para los complementos de Amazon EKS
<a name="kubernetes-field-management"></a>

Los complementos de Amazon EKS se instalan en el clúster mediante configuraciones estándar de prácticas recomendadas. Para obtener más información acerca de cómo agregar un complemento de Amazon EKS al clúster, consulte [Complementos de Amazon EKS](eks-add-ons.md).

Es posible que desee personalizar la configuración de un complemento de Amazon EKS para habilitar características avanzadas. Amazon EKS utiliza la característica de aplicación del servidor de Kubernetes para habilitar la administración de un complemento por parte de Amazon EKS sin sobrescribir la configuración de los ajustes que Amazon EKS no administra. Para obtener más información, consulte [Server Side Apply (Aplicación del lado del servidor)](https://kubernetes.io/docs/reference/using-api/server-side-apply/) en la documentación de Kubernetes. Para ello, Amazon EKS administra un conjunto mínimo de campos para cada complemento que instala. Puede modificar todos los campos que no estén administrados por Amazon EKS u otro proceso de plano de control de Kubernetes, como `kube-controller-manager`, sin problema.

**importante**  
La modificación de un campo administrado por Amazon EKS impide que Amazon EKS administre el complemento y puede provocar que los cambios se sobrescriban cuando se actualiza un complemento.

## Sintaxis de administración de campos
<a name="add-on-config-management-understanding-field-management"></a>

Cuando se visualizan los detalles de un objeto de Kubernetes, los campos administrados y los no administrados se devuelven en la salida. Los campos administrados pueden ser de uno de los tipos siguientes:
+  **Completamente administrado**: Amazon EKS administra todas las claves del campo. Las modificaciones de algún valor provocan un conflicto.
+  **Parcialmente administrado**: Amazon EKS administra algunas claves del campo. Solo las modificaciones de las claves administradas explícitamente por Amazon EKS provocan un conflicto.

Ambos tipos de campos se etiquetan con `manager: eks`.

Cada clave es o bien un `.` que representa el campo en sí, que siempre se asigna a un conjunto vacío, o una cadena que representa un subcampo o elemento. La salida para la administración del campo consta de los siguientes tipos de declaraciones:
+  `f:name `, donde *name* es el nombre de un campo de una lista.
+  `k:keys `, donde *keys* es un mapa de los campos de un elemento de lista.
+  `v:value `, donde *value* es el valor exacto con formato JSON de un elemento de lista.
+  `i:index `, donde *index* es la posición de un elemento en la lista.

Las siguientes partes de salida para el complemento CoreDNS ilustran las declaraciones anteriores:
+  **Campos completamente administrados**: si para un campo administrado se ha especificado `f:` (campo), pero no `k:` (clave), se administra todo el campo. Las modificaciones a los valores de este campo provocan un conflicto.

  En la siguiente salida, puede ver que el contenedor llamado `coredns` está administrado por `eks`. Los subcampos `args`, `image` y `imagePullPolicy` también están administrados por `eks`. Las modificaciones de algún valor de estos campos provocan un conflicto.

  ```
  [...]
  f:containers:
    k:{"name":"coredns"}:
    .: {}
    f:args: {}
    f:image: {}
    f:imagePullPolicy: {}
  [...]
  manager: eks
  [...]
  ```
+  **Campos parcialmente administrados**: si una clave administrada tiene especificado un valor, se administran las claves declaradas para ese campo. La modificación de las claves especificadas provoca un conflicto.

  En el siguiente resultado, puede ver que `eks` administra los volúmenes `config-volume` y `tmp` establecidos con la clave `name`.

  ```
  [...]
  f:volumes:
    k:{"name":"config-volume"}:
      .: {}
      f:configMap:
        f:items: {}
        f:name: {}
      f:name: {}
    k:{"name":"tmp"}:
      .: {}
      f:name: {}
  [...]
  manager: eks
  [...]
  ```
+  **Adición de claves a campos parcialmente administrados**: si solo se administra un valor de clave específico, puede agregar claves adicionales, como argumentos, a un campo sin provocar ningún conflicto. Si agrega claves adicionales, asegúrese de que el campo no esté administrado primero. Agregar o modificar cualquier valor administrado provoca un conflicto.

  En el siguiente resultado, puede ver que tanto la clave `name` como el campo `name` están administrados. Agregar o modificar cualquier nombre de contenedor provoca un conflicto con esta clave administrada.

  ```
  [...]
  f:containers:
    k:{"name":"coredns"}:
  [...]
      f:name: {}
  [...]
  manager: eks
  [...]
  ```

## Procedimiento
<a name="view-field-management"></a>

Puede utilizar `kubectl` para ver qué campos administra Amazon EKS en cualquier complemento de Amazon EKS.

Puede modificar todos los campos que no estén administrados por Amazon EKS u otro proceso de plano de control de Kubernetes, como `kube-controller-manager`, sin problema.

1. Determine el complemento que desea examinar. Para ver todas las `deployments` y los DaemonSets implementados en el clúster, consulte [Visualización de los recursos de Kubernetes en la Consola de administración de AWS](view-kubernetes-resources.md).

1. Para ver los campos administrados por un complemento, ejecute el siguiente comando:

   ```
   kubectl get type/add-on-name -n add-on-namespace -o yaml
   ```

   Por ejemplo, puede ver los campos administrados para el complemento CoreDNS con el siguiente comando.

   ```
   kubectl get deployment/coredns -n kube-system -o yaml
   ```

   La administración de campos se muestra en la siguiente sección de la salida devuelta.

   ```
   [...]
   managedFields:
     - apiVersion: apps/v1
       fieldsType: FieldsV1
       fieldsV1:
   [...]
   ```
**nota**  
Si no ve `managedFields` en la salida, agregue `--show-managed-fields` al comando y ejecútelo de nuevo. La versión de `kubectl` que utiliza determina si los campos administrados se devuelven de forma predeterminada.

## Siguientes pasos
<a name="view-field-management-next-steps"></a>

Para su complemento, personalice los campos que no son propiedad de AWS.