

 **Ajudar a melhorar esta página** 

Para contribuir com este guia de usuário, escolha o link **Editar esta página no GitHub**, disponível no painel direito de cada página.

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

Um complemento é um software que fornece recursos operacionais de suporte para aplicações Kubernetes, mas que não é específico da aplicação. Isso inclui software como atendentes de observação ou drivers do Kubernetes que permitem que o cluster interaja com recursos da AWS para rede, computação e armazenamento. O software complementar é normalmente criado e mantido pela comunidade Kubernetes, pelos provedores de nuvem como a AWS ou por fornecedores terceirizados. O Amazon EKS instala automaticamente complementos autogerenciados, como CoreDNS, `kube-proxy` e plug-in CNI da Amazon VPC para Kubernetes em todos os clusters. Observe que o complemento da CNI da VPC não é compatível com o Amazon EKS Hybrid Nodes e não é implantado em nós híbridos. Você pode alterar a configuração padrão dos complementos e atualizá-los quando desejar.

Os complementos do Amazon EKS fornecem instalação e gerenciamento de um conjunto de complementos selecionados especialmente para os clusters do Amazon EKS. Todos os complementos do Amazon EKS incluem os patches de segurança mais recentes e as correções de bugs, e são validados pela AWS para funcionar com o Amazon EKS. Os complementos do Amazon EKS permitem que você garanta consistentemente que os clusters do Amazon EKS estejam seguros e estáveis, além de reduzirem a quantidade de trabalho que você precisa fazer para instalar, configurar e atualizar complementos. Se um complemento autogerenciado, como o `kube-proxy`, já estiver em execução em seu cluster e estiver disponível como um complemento do Amazon EKS, você pode instalar o complemento `kube-proxy` do Amazon EKS para começar a se beneficiar dos recursos dos complementos do Amazon EKS.

Você pode atualizar campos específicos de configuração gerenciados pelo Amazon EKS por meio da API do Amazon EKS. Você também pode modificar os campos de configuração não gerenciados pelo Amazon EKS diretamente no cluster do Kubernetes, assim que o complemento for iniciado. Isso inclui a definição dos campos de configuração específicos para um complemento, quando aplicável. Essas alterações não serão substituídas pelo Amazon EKS depois de feitas. Isso é possível usando o recurso de aplicação do lado do servidor do Kubernetes. Para obter mais informações, consulte [Determinar os campos que podem ser personalizados para os complementos do Amazon EKS](kubernetes-field-management.md).

É possível usar os complementos do Amazon EKS com qualquer tipo de nó do Amazon EKS. Para obter mais informações, consulte [Gerenciar recursos computacionais usando nós](eks-compute.md).

Você pode adicionar, atualizar ou excluir os complementos do Amazon EKS usando a API do Amazon EKS, Console de gerenciamento da AWS, AWS CLI e `eksctl`. Você também pode criar complementos do Amazon EKS usando o [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-addon.html).

## Considerações
<a name="eks-add-ons-considerations"></a>

Considere o seguinte ao usar complementos do Amazon EKS:
+ Para configurar complementos para o cluster, [a entidade principal do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) deve ter permissões do IAM para trabalhar com complementos. Para obter mais informações, consulte as ações com `Addon` no nome, em [Ações definidas pelo Amazon Elastic Kubernetes Service](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html#amazonelastickubernetesservice-actions-as-permissions).
+ Os complementos do Amazon EKS são executados nos nós que você provisionar ou configurar para o cluster. Os tipos de nós incluem instâncias do Amazon EC2, do Fargate e de nós híbridos.
+ Você pode modificar campos que não são gerenciados pelo Amazon EKS para personalizar a instalação de um complemento do Amazon EKS. Para obter mais informações, consulte [Determinar os campos que podem ser personalizados para os complementos do Amazon EKS](kubernetes-field-management.md).
+ Se você criar um cluster com o Console de gerenciamento da AWS, os complementos CoreDNS para Amazon EKS, `kube-proxy` para Amazon EKS e plug-in CNI da Amazon VPC para Kubernetes serão adicionados automaticamente ao cluster. Se você usar `eksctl` para criar o cluster com um arquivo `config`, o `eksctl` também poderá criar o cluster com complementos do Amazon EKS. Se você criar o cluster usando o `eksctl` sem o arquivo `config`, ou com qualquer outra ferramenta, os complementos autogerenciados CoreDNS, `kube-proxy` e plug-in CNI da Amazon VPC para Kubernetes serão instalados, em vez dos complementos do Amazon EKS. Você pode gerenciá-los você mesmo ou pode adicionar os complementos do Amazon EKS manualmente após a criação do cluster. Independentemente do método usado para criar o cluster, o complemento da CNI da VPC não será instalado em nós híbridos.
+ O `ClusterRoleBinding` `eks:addon-cluster-admin` vincula o `ClusterRole` `cluster-admin` à identidade do `eks:addon-manager` do Kubernetes. O perfil tem as permissões necessárias para que a identidade do `eks:addon-manager` crie namespaces do Kubernetes e instale complementos nos namespaces. Se o `ClusterRoleBinding` `eks:addon-cluster-admin` for removido, o cluster do Amazon EKS continuará funcionando, mas o Amazon EKS não poderá mais gerenciar os complementos. Todos os clusters que começam com as seguintes versões da plataforma usam o novo `ClusterRoleBinding`.
+ Um subconjunto de complementos do EKS da AWS foi validado para compatibilidade com o Amazon EKS Hybrid Nodes. Para obter mais informações, consulte a tabela de compatibilidade em [Complementos da AWS](workloads-add-ons-available-eks.md).

## Namespace personalizado para complementos
<a name="custom-namespace"></a>

Para comunidade e complementos da AWS, você pode especificar opcionalmente um namespace personalizado durante a criação do complemento. Depois de instalar um complemento em um namespace específico, você deve removê-lo e recriá-lo para alterar seu namespace.

Se você não especificar um namespace, ele usará o namespace predefinido para o complemento.

Use namespaces personalizados para melhor organização e isolamento de objetos de complemento em seu cluster do EKS. Essa flexibilidade ajuda você a alinhar os complementos às suas necessidades operacionais e à estratégia de namespace existente.

Você pode definir um namespace personalizado ao criar um complemento. Para obter mais informações, consulte [Criar um complemento do Amazon EKS](creating-an-add-on.md).

### Obtenha um namespace predefinido para complemento
<a name="_get_predefined_namespace_for_add_on"></a>

O namespace predefinido para um complemento é o namespace no qual ele será instalado se você não especificar um.

Para obter o namespace predefinido para um complemento, use o seguinte comando:

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

Resultado do exemplo:

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

## Considerações sobre o Modo automático do Amazon EKS
<a name="addon-consider-auto"></a>

O Modo automático do Amazon EKS inclui recursos que oferecem funcionalidades essenciais de cluster, incluindo:
+ Rede de pods
+ Rede de serviços
+ DNS do cluster
+ Ajuste de escala automático
+ Armazenamento em bloco
+ Controlador do balanceador de carga
+ Agente da Identidade de Pods
+ Agente de monitoramento de nós

Com a computação no Modo automático, muitos complementos do EKS comumente usados tornam-se redundantes, como:
+ CNI da Amazon VPC
+ kube-proxy
+ CoreDNS
+ Driver da CSI do Amazon EBS
+ Atendente de Identidade de Pods do EKS

No entanto, se o cluster combinar o Modo automático com outras opções de computação, como instâncias autogerenciadas do EC2, grupos de nós gerenciados ou o AWS Fargate, esses complementos continuarão sendo necessários. A AWS aprimorou os complementos do EKS com regras de antiafinidade que garantem automaticamente que os pods de complementos sejam programados somente em tipos de computação compatíveis. Além disso, os usuários agora podem aproveitar a API `DescribeAddonVersions` de complementos do EKS para verificar os computeTypes compatíveis para cada complemento e suas versões específicas. Com o Modo automático do EKS, os controladores listados acima também são executados em uma infraestrutura de propriedade da AWS. Portanto, você pode nem mesmo vê-los nas contas, a menos que esteja usando o Modo automático do EKS com outros tipos de computação. Nesse caso, você verá os controladores que instalou no cluster.

Caso esteja planejando habilitar o Modo automático do EKS em um cluster existente, talvez seja necessário atualizar a versão de determinados complementos. Para obter mais informações, consulte [Versões de complementos necessárias](auto-enable-existing.md#auto-addons-required) para o Modo automático do EKS.

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

 A AWS disponibiliza diferentes tipos de complementos, cada um com níveis de suporte variados.
+  **Complementos da AWS:** esses complementos são desenvolvidos e têm suporte completo por parte da AWS.
  + Use um complemento da AWS para interagir com outros serviços da AWS, como o Amazon EFS.
  + Para obter mais informações, consulte [Complementos da AWS](workloads-add-ons-available-eks.md).
+  **Complementos do AWS Marketplace:** esses complementos são analisados pela AWS e têm suporte por parte de um parceiro independente da AWS.
  + Use um complemento do Marketplace para adicionar recursos valiosos e sofisticados ao seu cluster, como o monitoramento com o Splunk.
  + Para obter mais informações, consulte [Complementos do AWS Marketplace](workloads-add-ons-available-vendors.md).
+  **Complementos da comunidade:** esses complementos são analisados pela AWS, mas têm suporte por parte da comunidade de código aberto.
  + Use um complemento da comunidade para reduzir a complexidade de instalação de softwares de código aberto amplamente utilizados, como o Kubernetes Metrics Server.
  + Os complementos da comunidade têm seus pacotes gerados a partir da fonte pela AWS. A AWS realiza apenas a validação de compatibilidade de versão para esses complementos da comunidade.
  + Para obter mais informações, consulte [Complementos da comunidade](community-addons.md).

A tabela apresentada a seguir detalha o escopo de suporte para cada tipo de complemento:


| Categoria | Recurso |  Complementos da AWS |  Complementos do AWS Marketplace | Complementos da comunidade | 
| --- | --- | --- | --- | --- | 
|  Desenvolvimento  |  Desenvolvido pela AWS   |  Sim  |  Não  |  Sim  | 
|  Desenvolvimento  |  Validado pela AWS   |  Sim  |  Não  |  Sim\$1  | 
|  Desenvolvimento  |  Validado por um parceiro da AWS  |  Não  |  Sim  |  Não  | 
|  Manutenção  |  Analisado pela AWS   |  Sim  |  Sim  |  Sim  | 
|  Manutenção  |  Corrigido pela AWS   |  Sim  |  Não  |  Sim  | 
|  Manutenção  |  Corrigido por um parceiro da AWS  |  Não  |  Sim  |  Não  | 
|  Distribuição  |  Publicado pela AWS   |  Sim  |  Não  |  Sim  | 
|  Distribuição  |  Publicado por um parceiro da AWS  |  Não  |  Sim  |  Não  | 
|  Suporte  |  Suporte básico para a instalação por parte da AWS   |  Sim  |  Sim  |  Sim  | 
|  Suporte  |  Suporte completo por parte da AWS  |  Sim  |  Não  |  Não  | 
|  Suporte  |  Suporte completo por parte de um parceiro da AWS  |  Não  |  Sim  |  Não  | 

 `*`: a validação dos complementos da comunidade inclui apenas a compatibilidade da versão do Kubernetes. Por exemplo, se você instalar um complemento da comunidade em um cluster, a AWS verifica se ele é compatível com a versão do Kubernetes do seu cluster.

 Os complementos do AWS Marketplace podem fazer o download de dependências adicionais de software de fontes externas fora da AWS. Essas dependências externas não são analisadas ou validadas pela AWS. Considere os requisitos de segurança ao implantar complementos do AWS Marketplace que busquem dependências externas.

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

Os complementos do Amazon EKS a seguir estão disponíveis para serem criados no seu cluster. É possível visualizar a lista mais atualizada de complementos disponíveis usando `eksctl`, Console de gerenciamento da AWS ou AWS CLI. Para ver todos os complementos disponíveis ou instalar um complemento, consulte [Criar um complemento do Amazon EKS](creating-an-add-on.md). Se um complemento precisar de permissões do IAM, é necessário ter um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um, consulte [Criar um provedor de identidade OIDC do IAM para o cluster](enable-iam-roles-for-service-accounts.md). É possível criar ou excluir um complemento após tê-lo instalado. Para ter mais informações, consulte [Atualizar um complemento do Amazon EKS](updating-an-add-on.md) ou [Remover um complemento do Amazon EKS de um cluster](removing-an-add-on.md). Para obter mais informações sobre considerações específicas para a execução de complementos do EKS com o Amazon EKS Hybrid Nodes, consulte [Configuração de complementos para nós híbridos](hybrid-nodes-add-ons.md).

É possível usar qualquer um dos complementos do Amazon EKS a seguir.


| Descrição | Saiba mais | Tipos de computação compatíveis | 
| --- | --- | --- | 
|  Fornecer uma rede VPC nativa para seu cluster  |   [Plug-in CNI da Amazon VPC para Kubernetes](#add-ons-vpc-cni)   |  EC2  | 
|  Um servidor DNS flexível e extensível que pode servir como DNS de cluster do Kubernetes  |   [CoreDNS](#add-ons-coredns)   |  EC2, Fargate, Modo automático do EKS, EKS Hybrid Nodes  | 
|  Manter as regras de rede em cada nó do Amazon EC2  |   [`Kube-proxy`](#add-ons-kube-proxy)   |  EC2, EKS Hybrid Nodes  | 
|  Fornecer armazenamento do Amazon EBS para seu cluster  |   [Driver da CSI do Amazon EBS](#add-ons-aws-ebs-csi-driver)   |  EC2  | 
|  Fornecer armazenamento do Amazon EFS para seu cluster  |   [Driver da CSI do Amazon EFS](#add-ons-aws-efs-csi-driver)   |  EC2, Modo automático do EKS  | 
|  Fornecer armazenamento do Amazon FSx para Lustre para o cluster  |   [Driver CSI do Amazon FSx](#add-ons-aws-fsx-csi-driver)   |  EC2, Modo automático do EKS  | 
|  Fornecer armazenamento do Amazon S3 para seu cluster  |   [Driver da CSI do Mountpoint para Amazon S3](#mountpoint-for-s3-add-on)   |  EC2, Modo automático do EKS  | 
|  Detectar problemas adicionais de integridade de nós  |   [Agente de monitoramento de nós](#add-ons-eks-node-monitoring-agent)   |  EC2, EKS Hybrid Nodes  | 
|  Habilite o uso da funcionalidade de captura de snapshots em drivers da CSI compatíveis, como o driver da CSI do Amazon EBS  |   [Controlador de snapshots da CSI](#addons-csi-snapshot-controller)   |  EC2, Fargate, Modo automático do EKS, EKS Hybrid Nodes  | 
|  A governança de tarefas do SageMaker HyperPod otimiza a alocação e o uso de recursos computacionais entre equipes em clusters do Amazon EKS, resolvendo ineficiências na priorização de tarefas e no compartilhamento de recursos.  |   [Governança de tarefas do Amazon SageMaker HyperPod](#addons-hyperpod)   |  EC2 e modo automático do EKS  | 
|  O complemento de observabilidade do Amazon SageMaker HyperPod fornece recursos abrangentes de monitoramento e observabilidade para clusters do HyperPod.  |   [Complemento de observabilidade do Amazon SageMaker HyperPod](#addons-hyperpod-observability)   |  EC2 e modo automático do EKS  | 
|  O operador de treinamento do Amazon SageMaker HyperPod permite um treinamento distribuído eficiente em clusters do Amazon EKS com recursos avançados de agendamento e gerenciamento de recursos.  |   [Operador de treinamento do Amazon SageMaker HyperPod](#addons-hyperpod-training-operator)   |  EC2, Modo automático do EKS  | 
|  O operador de inferência Amazon SageMaker HyperPod permite a implantação e o gerenciamento de workloads de inferência de IA de alta performance com utilização otimizada de recursos e eficiência de custos.  |   [Operador de inferência do Amazon SageMaker HyperPod](#addons-hyperpod-inference-operator)   |  EC2, Modo automático do EKS  | 
|  Um atendente do Kubernetes responsável por coletar e enviar dados de fluxo de rede para o Amazon CloudWatch, possibilitando um monitoramento detalhado das conexões de TCP nos nós do cluster.  |   [Agente do AWS Network Flow Monitor](#addons-network-flow)   |  EC2, Modo automático do EKS  | 
|  Distribuição do projeto OpenTelemetry segura, pronta para produção e com suporte da AWS  |   [AWS Distro para OpenTelemetry](#add-ons-adot)   |  EC2, Fargate, Modo automático do EKS, EKS Hybrid Nodes  | 
|  Serviço de monitoramento de segurança que analisa e processa fontes de dados fundamentais, incluindo eventos de gerenciamento do AWS CloudTrail e logs de fluxo do Amazon VPC. O Amazon GuardDuty também processa recursos, como logs de auditoria do Kubernetes e monitoramento de runtime  |   [Agente do Amazon GuardDuty](#add-ons-guard-duty)   |  EC2, Modo automático do EKS  | 
|  Serviço de monitoramento e observabilidade fornecido pela AWS. Esse complemento instala o Agente do CloudWatch e habilita o CloudWatch Application Signals e o CloudWatch Container Insights com observabilidade aprimorada para o Amazon EKS  |   [Agente do Amazon CloudWatch Observability](#amazon-cloudwatch-observability)   |  EC2, Modo automático do EKS, EKS Hybrid Nodes  | 
|  Capacidade de gerenciar credenciais para suas aplicações de forma semelhante a como os perfis de instância do EC2 fornecem credenciais para instâncias do EC2  |   [Atendente de Identidade de Pods do EKS](#add-ons-pod-id)   |  EC2, EKS Hybrid Nodes  | 
|  Habilite o cert-manager para emitir certificados X.509 da AWS Private CA. Precisa do cert-manager.  |   [Conector de CA Privado da AWS para Kubernetes](#add-ons-aws-privateca-connector)   |  EC2, Fargate, Modo automático do EKS, EKS Hybrid Nodes  | 
|  Geração de métricas do Prometheus sobre a performance do dispositivo de rede SR-IOV  |   [Exportador de métricas de rede SR-IOV](#add-ons-sriov-network-metrics-exporter)   |  EC2  | 
|  Recupere segredos do AWS Secrets Manager e parâmetros do AWS Systems Manager Parameter Store e monte-os como arquivos em pods do Kubernetes.  |   [Provedor de drivers CSI da AWS Secrets Store](#add-ons-aws-secrets-store-csi-driver-provider)   |  EC2, Modo automático do EKS, EKS Hybrid Nodes  | 
|  Com os Spaces, é possível criar e gerenciar aplicações do JupyterLab e do Editor de Código para executar workloads de ML interativas.  |   [Amazon SageMaker Spaces](#add-ons-amazon-sagemaker-spaces)   |  HyperPod  | 

## Plug-in CNI da Amazon VPC para Kubernetes
<a name="add-ons-vpc-cni"></a>

O complemento do plug-in CNI da Amazon VPC para Kubernetes para Amazon EKS é um plug-in de interface de rede de contêineres (CNI) do Kubernetes que fornece rede VPC nativa para o cluster. O tipo autogerenciado ou gerenciado desse complemento é instalado por padrão em cada nó do Amazon EC2. Para obter mais informações, consulte [Plug-in de interface de rede de contêineres (CNI) do Kubernetes](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/).

**nota**  
Você não precisa instalar esse complemento nos clusters do Modo automático do Amazon EKS. Para obter mais informações, consulte [Considerações sobre o Modo automático do Amazon EKS](eks-add-ons.md#addon-consider-auto).

O nome do complemento do Amazon EKS é `vpc-cni`.

### Permissões obrigatórias do IAM
<a name="add-ons-vpc-cni-iam-permissions"></a>

Este complemento usa o recurso de perfis do IAM para contas de serviço do Amazon EKS. Para obter mais informações, consulte [Funções do IAM para contas de serviço](iam-roles-for-service-accounts.md).

Se seu cluster usar a família `IPv4`, é necessário ter as permissões na [AmazonEKS\$1CNI\$1Policy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKS_CNI_Policy.html). Se o seu cluster utilizar a família `IPv6`, é necessário criar uma [política do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) com as permissões no [modo IPv6](https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/iam-policy.md#ipv6-mode). É possível criar um perfil do IAM, anexar uma das políticas a ele e anotar a conta de serviço do Kubernetes usada pelo complemento com o comando a seguir.

Substitua *my-cluster* pelo nome do cluster e *AmazonEKSVPCCNIRole* pelo nome do seu perfil. Se seu cluster usar a família `IPv6`, substitua *AmazonEKS\$1CNI\$1Policy* pelo nome da política que você criou. Esse comando requer que você tenha o [eksctl](https://eksctl.io) instalado no dispositivo. Caso precise usar uma ferramenta diferente para criar o perfil, anexe a política a ele e anote na conta de serviço do Kubernetes. Consulte [Atribuir perfis do IAM às contas de serviço do 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
```

### Informações sobre a atualização
<a name="add-ons-vpc-cni-update-information"></a>

Você só pode atualizar uma versão secundária de cada vez. Por exemplo, se a versão atual for `1.28.x-eksbuild.y ` e você quiser atualizar para `1.30.x-eksbuild.y `, será necessário atualizar sua versão atual para `1.29.x-eksbuild.y ` e depois atualizá-la novamente para a versão `1.30.x-eksbuild.y `. Para obter mais informações sobre como atualizar o complemento, consulte [Atualização do plug-in da CNI da Amazon VPC (complemento do Amazon EKS)](vpc-add-on-update.md).

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

O complemento CoreDNS do Amazon EKS é um servidor DNS flexível e extensível que pode servir como DNS de cluster do Kubernetes. Por padrão, o tipo autogerenciado ou gerenciado desse complemento foi instalado quando você criou seu cluster. Quando você executa um cluster do Amazon EKS com pelo menos um nó, duas réplicas da imagem do CoreDNS são implantadas por padrão, independentemente do número de nós implantados em seu cluster. Os Pods CoreDNS fornecem resolução de nomes para todos os Pods no cluster. Será possível implementar os pods do CoreDNS em nós do Fargate se o seu cluster incluir um perfil do Fargate com um namespace que corresponda ao namespace da implementação do CoreDNS. Para obter mais informações, consulte . [Definir quais pods usam o AWS Fargate quando iniciado](fargate-profile.md) 

**nota**  
Você não precisa instalar esse complemento nos clusters do Modo automático do Amazon EKS. Para obter mais informações, consulte [Considerações sobre o Modo automático do Amazon EKS](eks-add-ons.md#addon-consider-auto).

O nome do complemento do Amazon EKS é `coredns`.

### Permissões obrigatórias do IAM
<a name="add-ons-coredns-iam-permissions"></a>

Este complemento não exige nenhuma permissão.

### Mais informações
<a name="add-ons-coredns-information"></a>

Para saber mais sobre o CoreDNS, consulte [Usando o CoreDNS para Descoberta de Serviços](https://kubernetes.io/docs/tasks/administer-cluster/coredns/) e [Personalizando o Serviço DNS](https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/) na documentação do Kubernetes.

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

O complemento `Kube-proxy` do Amazon EKS mantém as regras de rede em cada nó do Amazon EC2. Esse componente viabiliza a comunicação de rede com os pods. O tipo autogerenciado ou gerenciado desse complemento é instalado por padrão em cada nó do Amazon EC2 em seu cluster.

**nota**  
Você não precisa instalar esse complemento nos clusters do Modo automático do Amazon EKS. Para obter mais informações, consulte [Considerações sobre o Modo automático do Amazon EKS](eks-add-ons.md#addon-consider-auto).

O nome do complemento do Amazon EKS é `kube-proxy`.

### Permissões obrigatórias do IAM
<a name="add-ons-kube-proxy-iam-permissions"></a>

Este complemento não exige nenhuma permissão.

### Informações sobre a atualização
<a name="add-ons-kube-proxy-update-information"></a>

Antes de atualizar sua versão atual, considere os seguintes requisitos:
+  `Kube-proxy` em um cluster do Amazon EKS tem a mesma [política de compatibilidade e inclinação do Kubernetes](https://kubernetes.io/releases/version-skew-policy/#kube-proxy).

### Mais informações
<a name="add-ons-kube-proxy-information"></a>

Para saber mais sobre `kube-proxy`, consulte [kube-proxy](https://kubernetes.io/docs/reference/command-line-tools-reference/kube-proxy/) na documentação do Kubernetes.

## Driver da CSI do Amazon EBS
<a name="add-ons-aws-ebs-csi-driver"></a>

O complemento do driver CSI do Amazon EBS para Amazon EKS é um plug-in Container Storage Interface (CSI) do Kubernetes que fornece armazenamento do Amazon EBS para o cluster.

**nota**  
Você não precisa instalar esse complemento nos clusters do Modo automático do Amazon EKS. O Modo automático inclui um recurso de armazenamento em blocos. Para obter mais informações, consulte [Implantar uma workload com estado de exemplo no Modo Automático do EKS](sample-storage-workload.md).

O nome do complemento do Amazon EKS é `aws-ebs-csi-driver`.

### Permissões obrigatórias do IAM
<a name="add-ons-aws-ebs-csi-driver-iam-permissions"></a>

Este complemento utiliza o recurso de perfis do IAM para contas de serviço do Amazon EKS. Para obter mais informações, consulte [Funções do IAM para contas de serviço](iam-roles-for-service-accounts.md). São necessárias as permissões na política gerenciada [do AmazonEBSCSIDriverPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEBSCSIDriverPolicy.html) AWS. É possível criar um perfil do IAM e anexar a política gerenciada a ela com o seguinte comando. Substitua *my-cluster* pelo nome do seu cluster e *AmazonEKS\$1EBS\$1CSI\$1DriverRole* pelo nome do seu perfil. Esse comando requer que você tenha o [eksctl](https://eksctl.io) instalado no dispositivo. Se você precisar usar uma ferramenta diferente ou precisar usar uma [chave KMS](https://aws.amazon.com/kms/) personalizada para criptografia, consulte [Etapa 1: criar um perfil do 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
```

### Mais informações
<a name="add-ons-aws-ebs-csi-driver-information"></a>

Para saber mais a respeito do complemento, consulte [Usar armazenamento de volumes do Kubernetes com o Amazon EBS](ebs-csi.md).

## Driver da CSI do Amazon EFS
<a name="add-ons-aws-efs-csi-driver"></a>

O complemento do driver CSI do Amazon EFS para Amazon EKS é um plug-in Container Storage Interface (CSI) do Kubernetes que fornece armazenamento do Amazon EFS para o cluster.

O nome do complemento do Amazon EKS é `aws-efs-csi-driver`.

### Permissões obrigatórias do IAM
<a name="add-ons-aws-efs-csi-driver-iam-permissions"></a>

 **Permissões necessárias do IAM**: este complemento utiliza perfis do IAM para recursos de contas de serviço do Amazon EKS. Para obter mais informações, consulte [Funções do IAM para contas de serviço](iam-roles-for-service-accounts.md). São necessárias as permissões na política gerenciada [do AmazonEFSCSIDriverPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEFSCSIDriverPolicy.html) AWS. É possível criar um perfil do IAM e anexar a política gerenciada a ele com o seguinte comando. Substitua *my-cluster* pelo nome do seu cluster e *AmazonEKS\$1EFS\$1CSI\$1DriverRole* pelo nome do seu perfil. Esses comandos exigem que você tenha o [eksctl](https://eksctl.io) instalado em seu dispositivo. Se precisar usar outra ferramenta, consulte  [Etapa 1: criar um perfil do 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"
```

### Mais informações
<a name="add-ons-aws-efs-csi-driver-information"></a>

Para saber mais a respeito do complemento, consulte [Usar armazenamento elástico do sistema de arquivos com o Amazon EFS](efs-csi.md).

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

O complemento do driver CSI do Amazon FSx para o Amazon EKS é um plug-in do Container Storage Interface (CSI) para Kubernetes que fornece armazenamento do Amazon FSx para Lustre para o cluster.

O nome do complemento do Amazon EKS é `aws-fsx-csi-driver`.

**nota**  
Instalações preexistentes do driver CSI do Amazon FSx no cluster podem causar falhas na instalação do complemento. Quando você tentar instalar a versão do complemento do Amazon EKS quando houver um driver CSI do FSx que não seja para o EKS, a instalação falhará devido a conflitos de recursos. Use o sinalizador `OVERWRITE` durante a instalação para resolver esse problema:  

  ```
  aws eks create-addon --addon-name aws-fsx-csi-driver --cluster-name my-cluster --resolve-conflicts OVERWRITE
  ```
O complemento do driver CSI do Amazon FSx para o EKS requer o atendente da Identidade de Pods do EKS para autenticação. Sem esse componente, o complemento falhará com o erro `Amazon EKS Pod Identity agent is not installed in the cluster`, impedindo operações de volume. Instale o atendente da Identidade de Pods antes ou depois de implantar o complemento do driver CSI do FSx. Para obter mais informações, consulte [Configurar o atndente do Identidade de Pods do Amazon EKS](pod-id-agent-setup.md).

### Permissões obrigatórias do IAM
<a name="add-ons-aws-fsx-csi-driver-iam-permissions"></a>

Este complemento utiliza o recurso de perfis do IAM para contas de serviço do Amazon EKS. Para obter mais informações, consulte [Funções do IAM para contas de serviço](iam-roles-for-service-accounts.md). As permissões na política [AmazonFSxFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonFSxFullAccess.html) gerenciada pela AWS são necessárias. É possível criar um perfil do IAM e anexar a política gerenciada a ela com o seguinte comando. Substitua *my-cluster* pelo nome do seu cluster e *AmazonEKS\$1FSx\$1CSI\$1DriverRole* pelo nome do seu perfil. Esse comando exige a instalação do [eksctl](https://eksctl.io) no seu 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
```

### Mais informações
<a name="add-ons-aws-fsx-csi-driver-information"></a>

Para saber mais a respeito do complemento, consulte [Usar armazenamento de aplicações de alta performance com o Amazon FSx para Lustre](fsx-csi.md).

## Driver da CSI do Mountpoint para Amazon S3
<a name="mountpoint-for-s3-add-on"></a>

O complemento do driver CSI do Mountpoint para Amazon S3 para Amazon EKS é um plug-in Container Storage Interface (CSI) do Kubernetes que fornece armazenamento do Amazon S3 para o cluster.

O nome do complemento do Amazon EKS é `aws-mountpoint-s3-csi-driver`.

### Permissões obrigatórias do IAM
<a name="add-ons-mountpoint-for-s3-add-on-iam-permissions"></a>

Este complemento usa o recurso de perfis do IAM para contas de serviço do Amazon EKS. Para obter mais informações, consulte [Funções do IAM para contas de serviço](iam-roles-for-service-accounts.md).

O perfil do IAM criado exigirá uma política que conceda acesso ao S3. Siga as [recomendações de permissões de IAM do Mountpoint](https://github.com/awslabs/mountpoint-s3/blob/main/doc/CONFIGURATION.md#iam-permissions) ao criar a política. Como alternativa, você pode usar a política [AmazonS3FullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonS3FullAccess$jsonEditor) gerenciada pela AWS, mas ela concede mais permissões do que as necessárias para o Mountpoint.

É possível criar um perfil do IAM e anexar a política gerenciada a ele com os comandos a seguir. Substitua *my-cluster* pelo nome do seu cluster, *region-code* pelo código da região da AWS correto, *AmazonEKS\$1S3\$1CSI\$1DriverRole* pelo nome do seu perfil e *AmazonEKS\$1S3\$1CSI\$1DriverRole\$1ARN* pelo ARN do perfil. Esses comandos exigem que você tenha [o eksctl](https://eksctl.io) instalado em seu dispositivo. Para obter instruções sobre como usar o console do IAM ou a AWS CLI, consulte [Etapa 2: Criar uma função do 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
```

### Mais informações
<a name="add-ons-mountpoint-for-s3-add-on-information"></a>

Para saber mais a respeito do complemento, consulte [Acessar objetos do Amazon S3 com o driver CSI do Mountpoint para Amazon S3](s3-csi.md).

## Controlador de snapshots da CSI
<a name="addons-csi-snapshot-controller"></a>

O controlador de snapshots da Container Storage Interface (CSI) permite utilizar a funcionalidade de captura de snapshots em drivers da CSI compatíveis, como o driver da CSI do Amazon EBS.

O nome do complemento do Amazon EKS é `snapshot-controller`.

### Permissões obrigatórias do IAM
<a name="add-ons-csi-snapshot-controller-iam-permissions"></a>

Este complemento não exige nenhuma permissão.

### Mais informações
<a name="add-ons-csi-snapshot-controller-information"></a>

Para saber mais a respeito do complemento, consulte [Habilitar a funcionalidade de snapshot para volumes CSI](csi-snapshot-controller.md).

## Governança de tarefas do Amazon SageMaker HyperPod
<a name="addons-hyperpod"></a>

A governança de tarefas do SageMaker HyperPod é um sistema de gerenciamento robusto projetado para simplificar a alocação de recursos e garantir a utilização eficiente dos recursos computacionais entre as equipes e os projetos para seus clusters do Amazon EKS. Isso permite que os administradores definam:
+ Níveis de prioridade para diferentes tarefas
+ Alocação de recursos computacionais para cada equipe
+ Como as equipes compartilham e utilizam recursos ociosos
+ Se uma equipe pode interromper suas próprias tarefas

A governança de tarefas do HyperPod também oferece observabilidade para clusters do Amazon EKS, proporcionando visibilidade em tempo real sobre a capacidade do cluster. Isso inclui a disponibilidade e o uso de computação, a alocação e a utilização por equipe, além de informações sobre o tempo de execução e de espera das tarefas, permitindo uma tomada de decisão informada e um gerenciamento proativo dos recursos.

O nome do complemento do Amazon EKS é `amazon-sagemaker-hyperpod-taskgovernance`.

### Permissões obrigatórias do IAM
<a name="_required_iam_permissions"></a>

Este complemento não exige nenhuma permissão.

### Mais informações
<a name="_additional_information"></a>

Para saber mais sobre o complemento, consulte [Governança de tarefas do SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-operate-console-ui-governance.html) 

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

O complemento de observabilidade do Amazon SageMaker HyperPod fornece recursos abrangentes de monitoramento e observabilidade para clusters do HyperPod. Esse complemento implanta e gerencia automaticamente componentes essenciais de monitoramento, incluindo exportador de nós, exportador DCGM, kube-state-metrics e exportador EFA. Ele coleta e encaminha métricas para uma instância do Amazon Managed Prometheus (AMP) designada pelo cliente e expõe um endpoint do OTLP para métricas personalizadas e ingestão de eventos de tarefas de treinamento de clientes.

O complemento se integra ao ecossistema HyperPod mais amplo, extraindo métricas de vários componentes, incluindo o complemento de governança de tarefas do HyperPod, operador de treinamento do HyperPod, Kubeflow e KEDA. Todas as métricas coletadas são centralizadas no Amazon Managed Prometheus, permitindo que os clientes obtenham uma visão unificada de observabilidade por meio dos painéis do Amazon Managed Grafana. Isso fornece visibilidade de ponta a ponta da integridade do cluster, da utilização de recursos e da performance da tarefa de treinamento em todo o ambiente do HyperPod.

O nome do complemento do Amazon EKS é `amazon-sagemaker-hyperpod-observability`.

### Permissões obrigatórias do IAM
<a name="_required_iam_permissions_2"></a>

Este complemento usa o recurso de perfis do IAM para contas de serviço do Amazon EKS. Para obter mais informações, consulte [Funções do IAM para contas de serviço](iam-roles-for-service-accounts.md). As seguintes políticas gerenciadas são necessárias:
+  `AmazonPrometheusRemoteWriteAccess`: para métricas de gravação remota do cluster para o AMP
+  `CloudWatchAgentServerPolicy`: para gravação remota dos logs do cluster para o CloudWatch

### Mais informações
<a name="_additional_information_2"></a>

Para saber mais sobre o complemento e seus recursos, consulte [SageMaker HyperPod Observability](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-cluster-observability-cluster.html).

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

O operador de treinamento do Amazon SageMaker HyperPod ajuda você a acelerar o desenvolvimento de modelos de IA generativa gerenciando o treinamento distribuído com eficiência em grandes clusters de GPU. Ele apresenta recursos inteligentes de recuperação de falhas, detecção de tarefas suspensas e gerenciamento em nível de processo que minimizam as interrupções no treinamento e reduzem os custos. Diferentemente da infraestrutura de treinamento tradicional, que exige a reinicialização completa do trabalho quando ocorrem falhas, esse operador implementa a recuperação cirúrgica do processo para manter suas tarefas de treinamento funcionando sem problemas.

O operador também funciona com as funções de monitoramento e observabilidade da saúde do HyperPod, fornecendo visibilidade em tempo real da execução do treinamento e monitoramento automático de métricas críticas, como picos de perdas e degradação da throughput. É possível definir políticas de recuperação por meio de configurações simples de YAML sem alterações no código, permitindo que você responda e se recupere rapidamente de estados de treinamento irrecuperáveis. Esses recursos de monitoramento e recuperação trabalham juntos para manter o desempenho ideal do treinamento e, ao mesmo tempo, minimizar a sobrecarga operacional.

O nome do complemento do Amazon EKS é `amazon-sagemaker-hyperpod-training-operator`.

Para obter mais informações, consulte [Como usar o operador de treinamento do HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html) no *Guia do desenvolvedor do Amazon SageMaker*.

### Permissões obrigatórias do IAM
<a name="_required_iam_permissions_3"></a>

Esse complemento requer permissões do IAM e usa a Identidade de Pods do EKS.

 A AWS sugere a [política gerenciada](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerHyperPodTrainingOperatorAccess.html) `AmazonSageMakerHyperPodTrainingOperatorAccess`.

Para obter mais informações, consulte [Instalar o operador de treinamento](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator-install.html#sagemaker-eks-operator-install-operator) no *Guia do desenvolvedor do Amazon SageMaker*.

### Mais informações
<a name="_additional_information_3"></a>

Para saber mais sobre o complemento, consulte o [Operador de treinamento do SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-eks-operator.html).

## Operador de inferência do Amazon SageMaker HyperPod
<a name="addons-hyperpod-inference-operator"></a>

O Amazon SageMaker HyperPod oferece uma experiência completa de suporte ao ciclo de vida completo do desenvolvimento de IA, desde a experimentação e o treinamento interativos até os fluxos de trabalho de inferência e pós-treinamento. Ele agora fornece uma plataforma de inferência abrangente que combina a flexibilidade do Kubernetes com a excelência operacional de uma experiência gerenciada. Implante, escale e otimize seus modelos de GenAI com confiabilidade de nível empresarial usando a mesma computação do HyperPod em todo o ciclo de vida do modelo.

O Amazon SageMaker HyperPod oferece interfaces de implantação flexíveis que permitem implantar modelos por meio de vários métodos, como kubectl, Python SDK, interface de usuário do Amazon SageMaker Studio ou CLI do HyperPod. A funcionalidade fornece recursos avançados de ajuste de escala automático com alocação dinâmica de recursos que se ajusta automaticamente com base na demanda. Além disso, inclui recursos abrangentes de observabilidade e monitoramento que rastreiam métricas críticas, como tempo até o primeiro token, latência e utilização de GPU, para ajudar você a otimizar o desempenho.

O nome do complemento do Amazon EKS é `amazon-sagemaker-hyperpod-inference`.

### Métodos de instalação
<a name="_installation_methods"></a>

Instale este complemento usando um dos métodos a seguir:
+  **Console do SageMaker (recomendado)**: fornece uma experiência de instalação simplificada com configuração guiada.
+  **Console de complementos do EKS ou CLI**: requer a instalação manual dos complementos de dependência antes de instalar o operador de inferência. Consulte a seção de pré-requisitos abaixo para ver as dependências necessárias.

### Pré-requisitos
<a name="_prerequisites"></a>

Antes de instalar o complemento do operador de inferência por meio do console de complementos do EKS ou da CLI, verifique se as dependências a seguir estão instaladas.

Complementos do EKS necessários:
+ Driver CSI do Amazon S3 Mountpoint (versão mínima: v1.14.1-eksbuild.1)
+ Metrics Server (versão mínima: v0.7.2-eksbuild.4)
+ Driver CSI do Amazon FSx (versão mínima: v1.6.0-eksbuild.1)
+ Cert Manager (versão mínima: v1.18.2-eksbuild.2)

Para obter instruções detalhadas de instalação para cada dependência, consulte [Instalação do operador de inferência](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-setup.html).

### Permissões obrigatórias do IAM
<a name="_required_iam_permissions_4"></a>

Esse complemento requer permissões do IAM e usa a OIDC/IRSA.

As políticas gerenciadas a seguir são recomendadas, pois fornecem as permissões mínimas com escopo definido:
+  `AmazonSageMakerHyperPodInferenceAccess`: fornece os privilégios de administrador necessários para configurar o operador de inferência
+  `AmazonSageMakerHyperPodGatedModelAccess`: fornece ao SageMaker HyperPod acesso a modelos fechados no SageMaker Jumpstart (por exemplo, Meta Llama, GPT-Neo)

Para obter mais informações, consulte [Instalação do operador de inferência](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-setup.html).

### Mais informações
<a name="_additional_information_4"></a>

Para saber mais sobre o operador de inferência do Amazon SageMaker HyperPod, consulte [Operador de inferência do SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment.html).

Para obter informações sobre solução de problemas, consulte [Solução de problemas na implantação do modelo SageMaker HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-model-deployment-ts.html).

## Agente do AWS Network Flow Monitor
<a name="addons-network-flow"></a>

O atendente do Amazon CloudWatch Network Flow Monitor é uma aplicação Kubernetes que coleta estatísticas de conexões de TCP de todos os nós em um cluster e publica relatórios de fluxo de rede nas APIs de ingestão do Amazon CloudWatch Network Flow Monitor.

O nome do complemento do Amazon EKS é `aws-network-flow-monitoring-agent`.

### Permissões obrigatórias do IAM
<a name="_required_iam_permissions_5"></a>

Este complemento requer permissões do IAM.

Você precisa anexar a política gerenciada `CloudWatchNetworkFlowMonitorAgentPublishPolicy` ao complemento.

Para obter mais informações sobre a configuração do IAM necessária, consulte a [IAM Policy](https://github.com/aws/network-flow-monitor-agent?tab=readme-ov-file#iam-policy) no repositório do atendente do Amazon CloudWatch Network Flow Monitor no GitHub.

Para obter mais informações sobre a política gerenciada, consulte [CloudWatchNetworkFlowMonitorAgentPublishPolicy](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/security-iam-awsmanpol-network-flow-monitor.html#security-iam-awsmanpol-CloudWatchNetworkFlowMonitorAgentPublishPolicy) no Guia do usuário do Amazon CloudWatch.

### Mais informações
<a name="_additional_information_5"></a>

Para saber mais sobre o complemento, consulte o [repositório do atendente do Amazon CloudWatch Network Flow Monitor no GitHub](https://github.com/aws/network-flow-monitor-agent?tab=readme-ov-file).

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

O complemento do atendente de monitoramento de nós do Amazon EKS pode detectar problemas adicionais de integridade dos nós. Esses sinais extras de integridade também podem ser aproveitados pelo recurso opcional de reparo automático de nós para substituir automaticamente os nós, conforme necessário.

**nota**  
Você não precisa instalar esse complemento nos clusters do Modo automático do Amazon EKS. Para obter mais informações, consulte [Considerações sobre o Modo automático do Amazon EKS](eks-add-ons.md#addon-consider-auto).

O nome do complemento do Amazon EKS é `eks-node-monitoring-agent`.

### Permissões obrigatórias do IAM
<a name="add-ons-eks-node-monitoring-agent-iam-permissions"></a>

Esse complemento não precisa de nenhuma permissão adicional.

### Mais informações
<a name="add-ons-eks-node-monitoring-agent-information"></a>

Para obter mais informações, consulte [Detectar problemas de integridade dos nós e habilitar o reparo automático dos nós](node-health.md).

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

O complemento AWS Distro for OpenTelemetry do Amazon EKS uma distribuição segura, pronta para produção e com suporte da AWS do projeto OpenTelemetry. Para obter mais informações, consulte [AWS Distro for OpenTelemetry](https://aws-otel.github.io/) no GitHub.

O nome do complemento do Amazon EKS é `adot`.

### Permissões obrigatórias do IAM
<a name="add-ons-adot-iam-permissions"></a>

Este complemento só exigirá permissões do IAM se você estiver usando um dos recursos personalizados pré-configurados que podem ser escolhidos via configuração avançada.

### Mais informações
<a name="add-ons-adot-information"></a>

Para obter mais informações, consulte [Getting Started with AWS Distro for OpenTelemetry using EKS Add-Ons](https://aws-otel.github.io/docs/getting-started/adot-eks-add-on) na documentação do AWS Distro para OpenTelemetry.

O ADOT exige que o complemento `cert-manager` seja implantado no cluster como um pré-requisito, caso contrário, ele não funcionará se for implantado diretamente usando a propriedade https://registry.terraform.io/modules/terraform-aws-modules/eks/aws/latest`cluster_addons`. Para obter mais 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) na documentação do AWS Distro para OpenTelemetry.

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

O complemento do atendente Amazon GuardDuty para o Amazon EKS coleta [eventos de runtime](https://docs.aws.amazon.com/guardduty/latest/ug/runtime-monitoring-collected-events.html) (acesso a arquivos, execução de processos, conexões de rede) dos nós do cluster de EKS para análise pelo Monitoramento de Runtime do GuardDuty. O GuardDuty em si (não o atendente) é o serviço de monitoramento de segurança que analisa e processa [fontes de dados básicas](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_data-sources.html), incluindo eventos de gerenciamento do AWS CloudTrail e logs de fluxo da Amazon VPC, bem como [recursos](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty-features-activation-model.html), como logs de auditoria do Kubernetes e monitoramento de runtime.

O nome do complemento do Amazon EKS é `aws-guardduty-agent`.

### Permissões obrigatórias do IAM
<a name="add-ons-guard-duty-iam-permissions"></a>

Este complemento não exige nenhuma permissão.

### Mais informações
<a name="add-ons-guard-duty-information"></a>

Para obter mais informações, consulte [Monitoramento do runtime para clusters do Amazon EKS no Amazon GuardDuty](https://docs.aws.amazon.com/guardduty/latest/ug/how-runtime-monitoring-works-eks.html).
+ Para detectar possíveis ameaças de segurança em seus clusters do Amazon EKS, habilite o monitoramento de runtime do Amazon GuardDuty e implante o atendente de segurança do GuardDuty em seus clusters do Amazon EKS.

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

O complemento de atendente do Amazon CloudWatch Observability do Amazon EKS aprimora o serviço de monitoramento e observabilidade fornecido pela AWS. Esse complemento instala o Agente do CloudWatch e habilita o CloudWatch Application Signals e o CloudWatch Container Insights com observabilidade aprimorada para o Amazon EKS. Para obter mais informações, consulte [Agente do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html).

O nome do complemento do Amazon EKS é `amazon-cloudwatch-observability`.

### Permissões obrigatórias do IAM
<a name="amazon-cloudwatch-observability-iam-permissions"></a>

Este complemento usa o recurso de perfis do IAM para contas de serviço do Amazon EKS. Para obter mais informações, consulte [Funções do IAM para contas de serviço](iam-roles-for-service-accounts.md). As permissões nas políticas gerenciadas pela AWS [AWSXrayWriteOnlyAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess) e [CloudWatchAgentServerPolicy](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy) são necessárias. É possível criar um perfil do IAM, anexar as políticas gerenciadas a ele e anotar a conta de serviço do Kubernetes usada pelo complemento com o comando a seguir. Substitua *my-cluster* pelo nome do seu cluster e *AmazonEKS\$1Observability\$1role* pelo nome do seu perfil. Esse comando exige a instalação do [eksctl](https://eksctl.io) no seu dispositivo. Caso precise usar uma ferramenta diferente para criar o perfil, anexe a política a ele e anote na conta de serviço do Kubernetes. Consulte [Atribuir perfis do IAM às contas de serviço do 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
```

### Mais informações
<a name="amazon-cloudwatch-observability-information"></a>

Para saber mais, consulte [Instalar o Agente do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html).

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

O Conector de CA Privado da AWS para Kubernetes é um complemento do cert-manager que permite que os usuários obtenham certificados da AWS Private Certificate Authority (AWS Private CA).
+ O nome do complemento do Amazon EKS é `aws-privateca-connector-for-kubernetes`.
+ O namespace do complemento é `aws-privateca-issuer`.

Esse complemento requer o `cert-manager`. O `cert-manager` está disponível no Amazon EKS como um complemento da comunidade. Para obter mais informações sobre esse complemento, consulte [Cert Manager](community-addons.md#addon-cert-manager). Para obter mais informações sobre como instalar complementos, consulte [Criar um complemento do Amazon EKS](creating-an-add-on.md).

### Permissões obrigatórias do IAM
<a name="add-ons-aws-privateca-connector-iam-permissions"></a>

Esse complemento requer permissões do IAM.

Use a Identidade de Pods do EKS para anexar a política do IAM `AWSPrivateCAConnectorForKubernetesPolicy` à conta de serviço `aws-privateca-issuer` do Kubernetes. Para obter mais informações, consulte [Usar identidades de Pods para atribuir um perfil do IAM a um complemento do Amazon EKS](update-addon-role.md).

Para obter informações sobre as permissões necessárias, consulte [AWSPrivateCAConnectorForKubernetesPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSPrivateCAConnectorForKubernetesPolicy.html) na Referência de políticas gerenciadas pela AWS.

### Mais informações
<a name="add-ons-aws-privateca-connector-information"></a>

Para obter mais informações, consulte o [repositório do GitHub do Emissor de CA Privado da AWS para Kubernetes](https://github.com/cert-manager/aws-privateca-issuer).

Para obter mais informações sobre a configuração do complemento, consulte [values.yaml](https://github.com/cert-manager/aws-privateca-issuer/blob/main/charts/aws-pca-issuer/values.yaml) no repositório `aws-privateca-issuer` do GitHub. Confirme se a versão de values.yaml corresponde à versão do complemento instalado no cluster.

Esse complemento tolera o taint `CriticalAddonsOnly` usado pelo NodePool `system` do Modo automático do EKS. Para obter mais informações, consulte [Executar complementos críticos em instâncias dedicadas](critical-workload.md).

## Atendente de Identidade de Pods do EKS
<a name="add-ons-pod-id"></a>

O complemento do atentende de Identidade de Pods do Amazon EKS permite gerenciar credenciais para suas aplicações de forma semelhante a como os perfis de instância do EC2 fornecem credenciais para instâncias do EC2.

**nota**  
Você não precisa instalar esse complemento nos clusters do Modo automático do Amazon EKS. O Modo automático do Amazon EKS automático se integra à Identidade de Pods do EKS. Para obter mais informações, consulte [Considerações sobre o Modo automático do Amazon EKS](eks-add-ons.md#addon-consider-auto).

O nome do complemento do Amazon EKS é `eks-pod-identity-agent`.

### Permissões obrigatórias do IAM
<a name="add-ons-pod-id-iam-permissions"></a>

O complemento do atendente da Identidade de Pods em si não exige um perfil do IAM. Ele usa as permissões do [perfil do IAM do nó para o Amazon EKS](create-node-role.md) para funcionar, mas não precisa de um perfil do IAM dedicado para o complemento.

### Informações sobre a atualização
<a name="add-ons-pod-id-update-information"></a>

Você só pode atualizar uma versão secundária de cada vez. Por exemplo, se a versão atual for `1.28.x-eksbuild.y` e você quiser atualizar para `1.30.x-eksbuild.y`, será necessário atualizar sua versão atual para `1.29.x-eksbuild.y` e depois atualizá-la novamente para a versão `1.30.x-eksbuild.y`. Para obter mais informações sobre como atualizar o complemento, consulte [Atualizar um complemento do Amazon EKS](updating-an-add-on.md).

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

O complemento Exportador de métricas de rede SR-IOV do Amazon EKS coleta e expõe métricas sobre dispositivos de rede SR-IOV no formato Prometheus. Ele permite o monitoramento da performance da rede SR-IOV nos nós bare metal do EKS. O exportador é executado como um DaemonSet em nós com interfaces de rede compatíveis com SR-IOV e exporta métricas que podem ser coletadas pelo Prometheus.

**nota**  
Esse complemento requer nós com interfaces de rede compatíveis com SR-IOV.


| Propriedade | Valor | 
| --- | --- | 
|  Nome do complemento  |   `sriov-network-metrics-exporter`   | 
|  Namespace  |   `monitoring`   | 
|  Documentação  |   [Repositório GitHub do Exportador de métricas de rede SR-IOV](https://github.com/k8snetworkplumbingwg/sriov-network-metrics-exporter)   | 
|  Nome da conta de serviço  |  Nenhum  | 
|  política do IAM gerenciada  |  Nenhum  | 
|  Permissões do IAM personalizadas  |  Nenhum  | 

### Provedor de drivers CSI da AWS Secrets Store
<a name="add-ons-aws-secrets-store-csi-driver-provider"></a>

O provedor da AWS para drivers CSI da Secrets Store é um complemento que possibilita recuperar segredos no AWS Secrets Manager e parâmetros no AWS Systems Manager Parameter Store, realizando a montagem desses itens como arquivos dentro de pods do Kubernetes.

### Permissões obrigatórias do IAM
<a name="add-ons-ascp-iam-permissions"></a>

O complemento não exige permissões do IAM. No entanto, os pods da aplicação exigirão permissões do IAM para buscar segredos do AWS Secrets Manager e parâmetros do AWS Systems Manager Parameter Store. Após a instalação do complemento, o acesso deve ser configurado por meio de perfis do IAM para contas de serviço (IRSA, na sigla em inglês) ou Identidade de Pods do EKS. Para usar IRSA, consulte a [documentação de configuração de IRSA](https://docs.aws.amazon.com/secretsmanager/latest/userguide/integrating_ascp_irsa.html) do Secrets Manager. Para usar a Identidade de Pods do EKS, consulte a [documentação de configuração da Identidade de Pods](https://docs.aws.amazon.com/secretsmanager/latest/userguide/ascp-pod-identity-integration.html) do Secrets Manager.

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

Para obter mais informações sobre as permissões necessárias, consulte `AWSSecretsManagerClientReadOnlyAccess` na Referência de políticas gerenciadas pela AWS.

### Mais informações
<a name="_additional_information_6"></a>

Para obter mais informações, consulte o [repositório do GitHub](https://github.com/aws/secrets-store-csi-driver-provider-aws) secrets-store-csi-driver-provider-aws.

Para saber mais sobre o complemento, consulte a [documentação do AWS Secrets Manager referente ao complemento](https://docs.aws.amazon.com/secretsmanager/latest/userguide/ascp-eks-installation.html).

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

O complemento Amazon SageMaker Spaces oferece a capacidade de executar IDEs e cadernos em clusters de EKS ou do HyperPod-EKS. Os administradores podem usar o console do EKS para instalar o complemento no cluster e definir configurações padrão de espaço, como imagens, recursos de computação, armazenamento local para configurações de cadernos (armazenamento adicional a ser anexado aos espaços), sistemas de arquivos e scripts de inicialização.

Os desenvolvedores de IA podem usar o kubectl para criar, atualizar e excluir espaços. Eles têm a flexibilidade de usar as configurações padrão fornecidas pelos administradores ou personalizar os ajustes. Os desenvolvedores de IA podem acessar os espaços no EKS ou no HyperPod-EKS usando os IDEs do VS Code locais e/ou os navegadores da web, que hospedam os IDEs do JupyterLab ou do CodeEditor em domínios de DNS personalizados configurados pelos administradores. Eles também podem usar o recurso de encaminhamento de portes do Kubernetes para acessar os espaços nos navegadores da web.

O nome do complemento do Amazon EKS é `amazon-sagemaker-spaces`.

### Permissões obrigatórias do IAM
<a name="_required_iam_permissions_6"></a>

Esse complemento requer permissões do IAM. Para obter mais informações sobre a configuração do IAM necessária, consulte [Configuração de permissões do IAM](https://docs.aws.amazon.com/sagemaker/latest/dg/permission-setup.html) no *Guia do desenvolvedor do Amazon SageMaker*.

### Mais informações
<a name="_additional_information_7"></a>

Para saber mais sobre o complemento e suas funcionalidades, consulte [Cadernos do SageMaker AI no HyperPod](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-cluster-ide.html) no *Guia do desenvolvedor do Amazon SageMaker*.

# Complementos da comunidade
<a name="community-addons"></a>

É possível usar as APIs da AWS para instalar complementos da comunidade, como o Kubernetes Metrics Server. Você pode optar por instalar complementos da comunidade como complementos do Amazon EKS para reduzir a complexidade da manutenção do software em múltiplos clusters.

Por exemplo, você pode usar a API da AWS, a CLI ou o Console de Gerenciamento para instalar os complementos da comunidade. É possível instalar um complemento da comunidade durante a criação do cluster.

Você gerencia os complementos da comunidade de forma semelhante aos complementos do Amazon EKS existentes. Os complementos da comunidade são diferentes dos complementos existentes, pois contam com um escopo de suporte exclusivo.

**nota**  
Usar complementos da comunidade fica a seu critério. Como parte do [modelo de responsabilidade compartilhada](security.md) entre você e a AWS, espera-se que você entenda o que está instalando no cluster quanto a esses plug-ins de terceiros. Você também é responsável pelos complementos da comunidade que atendam às necessidades de segurança do cluster. Para obter mais informações, consulte [Suporte para software implantado no EKS](related-projects.md#oss-scope).

Os complementos da comunidade não são desenvolvidos pela AWS. A AWS apenas valida os complementos da comunidade quanto à compatibilidade de versões. Por exemplo, se você instalar um complemento da comunidade em um cluster, a AWS verifica se ele é compatível com a versão do Kubernetes do seu cluster.

No entanto, é importante ressaltar que a AWS não fornece suporte completo para os complementos da comunidade. A AWS oferece suporte somente para as operações de ciclo de vida realizadas usando as APIs da AWS, como a instalação e a exclusão de complementos.

Se você precisar de suporte para um complemento da comunidade, utilize os recursos do projeto existente. Por exemplo, é possível pode criar um problema no GitHub no repositório dedicado ao projeto.

## Determinação do tipo de complemento
<a name="_determine_add_on_type"></a>

É possível usar a AWS CLI para determinar o tipo de um complemento do Amazon EKS.

Use o comando da CLI apresentado a seguir para recuperar informações sobre um complemento. Você pode substituir `metrics-server` pelo nome de qualquer outro complemento.

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

Analise a saída da CLI para o campo `owner`.

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

Se o valor de `owner` for `community`, o complemento é classificado como complemento da comunidade. A AWS oferece suporte somente para instalar, atualizar e remover o complemento. Se você tiver dúvidas sobre a funcionalidade e sobre a operação do complemento, use recursos da comunidade, como problemas do GitHub.

## Instalação ou atualização do complemento da comunidade
<a name="_install_or_update_community_add_on"></a>

Você instala ou atualiza complementos da comunidade da mesma forma que os outros complementos do Amazon EKS.
+  [Criar um complemento do Amazon EKS](creating-an-add-on.md) 
+  [Atualizar um complemento do Amazon EKS](updating-an-add-on.md) 
+  [Remover um complemento do Amazon EKS de um cluster](removing-an-add-on.md) 

## Complementos da comunidade disponíveis
<a name="_available_community_add_ons"></a>

Os complementos da comunidade apresentados a seguir estão disponíveis no Amazon EKS.
+  [Servidor de métricas do Kubernetes](#kubernetes-metrics-server) 
+  [kube-state-metrics](#kube-state-metrics) 
+  [Exportador de nós do Prometheus](#prometheus-node-exporter) 
+  [Cert Manager](#addon-cert-manager) 
+  [DNS externo](#external-dns) 
+  [Fluent Bit](#fluent-bit) 

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

O Kubernetes Metrics Server fornece métricas de recursos de contêineres de forma escalável e eficiente para os pipelines internos de escalabilidade automática do Kubernetes. Ele coleta métricas de recursos dos Kubelets e as disponibiliza no servidor de API do Kubernetes por meio da API Metrics, permitindo seu uso pelo Horizontal Pod Autoscaler e pelo Vertical Pod Autoscaler.


| Propriedade | Valor | 
| --- | --- | 
|  Nome do complemento  |   `metrics-server`   | 
|  Namespace  |   `kube-system`   | 
|  Documentação  |   [GitHub Readme](https://github.com/kubernetes-sigs/metrics-server)   | 
|  Nome da conta de serviço  |  Nenhum  | 
|  política do IAM gerenciada  |  Nenhum  | 
|  Permissões do IAM personalizadas  |  Nenhum  | 

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

Agente complementar para gerar e expor métricas em nível de cluster.

O estado dos objetos do Kubernetes na API do Kubernetes pode ser exposto como métricas. Um agente complementar denominado kube-state-metrics pode se conectar ao servidor da API do Kubernetes e expor um endpoint HTTP com métricas geradas do estado de objetos individuais no cluster. Ele expõe várias informações sobre o estado dos objetos, como rótulos e anotações, horários de inicialização e término, status ou a fase em que o objeto está atualmente.


| Propriedade | Valor | 
| --- | --- | 
|  Nome do complemento  |   `kube-state-metrics`   | 
|  Namespace  |   `kube-state-metrics`   | 
|  Documentação  |   [Metrics for Kubernetes Object States](https://kubernetes.io/docs/concepts/cluster-administration/kube-state-metrics/) na documentação do Kubernetes  | 
|  Nome da conta de serviço  |  Nenhum  | 
|  política do IAM gerenciada  |  Nenhum  | 
|  Permissões do IAM personalizadas  |  Nenhum  | 

### Exportador de nós do Prometheus
<a name="prometheus-node-exporter"></a>

Exportador Prometheus para métricas de hardware e sistema operacional expostas por kernels \$1NIX, escrito em Go com coletores de métricas plugáveis. O Prometheus Node Exporter expõe uma grande variedade de métricas relacionadas ao hardware e ao kernel.


| Propriedade | Valor | 
| --- | --- | 
|  Nome do complemento  |   `prometheus-node-exporter`   | 
|  Namespace  |   `prometheus-node-exporter`   | 
|  Documentação  |   [Monitoring Linux host metrics with the Node Exporter](https://prometheus.io/docs/guides/node-exporter/#monitoring-linux-host-metrics-with-the-node-exporter) na documentação do Prometheus  | 
|  Nome da conta de serviço  |  Nenhum  | 
|  política do IAM gerenciada  |  Nenhum  | 
|  Permissões do IAM personalizadas  |  Nenhum  | 

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

O Cert Manager pode ser usado para gerenciar a criação e renovação de certificados.


| Propriedade | Valor | 
| --- | --- | 
|  Nome do complemento  |   `cert-manager`   | 
|  Namespace  |   `cert-manager`   | 
|  Documentação  |   [Documentos do Cert Manager](https://cert-manager.io/docs/)   | 
|  Nome da conta de serviço  |  Nenhum  | 
|  política do IAM gerenciada  |  Nenhum  | 
|  Permissões do IAM personalizadas  |  Nenhum  | 

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

O complemento DNS externo do EKS pode ser usado para gerenciar registros de DNS do Route 53 por meio de recursos do Kubernetes.

As permissões de DNS externo podem ser reduzidas para `route53:ChangeResourceRecordSets`, `route53:ListHostedZones` e `route53:ListResourceRecordSets` nas zonas hospedadas que você deseja gerenciar.


| Propriedade | Valor | 
| --- | --- | 
|  Nome do complemento  |   `external-dns`   | 
|  Namespace  |   `external-dns`   | 
|  Documentação  |   [GitHub Readme](https://github.com/kubernetes-sigs/external-dns)   | 
|  Nome da conta de serviço  |   `external-dns`   | 
|  política do IAM gerenciada  |   ` arn:aws:iam::aws:policy/AmazonRoute53FullAccess`   | 
|  Permissões do IAM personalizadas  |  Nenhum  | 

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

O Fluent Bit é um processador e encaminhador de logs leve e de alta performance. Ele permite coletar dados/logs de diferentes fontes, unificá-los e enviá-los para vários destinos, incluindo o Amazon CloudWatch Logs, o Amazon S3 e o Amazon Kinesis Data Firehose. O Fluent Bit foi projetado com a eficiência de recursos e performance em mente, tornando-o ideal para ambientes do Kubernetes.

Esse complemento não requer permissões do IAM na configuração padrão. No entanto, talvez seja necessário conceder permissões do IAM a esse complemento se você configurar um local de saída da AWS. Para obter mais informações, consulte [Usar identidades de Pods para atribuir um perfil do IAM a um complemento do Amazon EKS](update-addon-role.md).


| Propriedade | Valor | 
| --- | --- | 
|  Nome do complemento  |   `fluent-bit`   | 
|  Namespace  |   `fluent-bit`   | 
|  Documentação  |   [Documentação do Fluent Bit](https://docs.fluentbit.io/manual/)   | 
|  Nome da conta de serviço  |   `fluent-bit`   | 
|  política do IAM gerenciada  |  Nenhum  | 
|  Permissões do IAM personalizadas  |  Nenhum  | 

## Visualizar atribuições
<a name="_view_attributions"></a>

Você pode baixar as atribuições de código aberto e as informações de licença para os complementos da comunidade.

1. Determine o nome e a versão do complemento para o qual você deseja baixar as atribuições.

1. Atualize o seguinte comando com o nome e a versão:

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

   Por exemplo:

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

1. Use o comando para baixar o arquivo.

Use este arquivo zip para visualizar informações sobre as atribuições de licença.

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

Além da lista anterior de complementos do Amazon EKS, você também pode adicionar uma ampla seleção de complementos de software operacional do Amazon EKS de fornecedores de software independentes. Escolha um complemento para saber mais sobre ele e sobre seus requisitos de instalação.

[![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>

O nome do complemento é `accuknox_kubearmor` e o namespace é `kubearmor`. A Accuknox publica o complemento.

Para obter informações sobre o complemento, consulte [Introdução ao KubeArmor](https://docs.kubearmor.io/kubearmor/quick-links/deployment_guide) na documentação da KubeArmor.

### Nome da conta de serviço
<a name="add-on-accuknox-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-accuknox-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-accuknox-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `akuity_agent` e o namespace é `akuity`. A Akuity publica o complemento.

Para obter informações sobre como usar o complemento, consulte [Instalar o Akuity Agent no Amazon EKS com o complemento Akuity do EKS](https://docs.akuity.io/tutorials/eks-addon-agent-install/) na documentação do Akuity Platform.

### Nome da conta de serviço
<a name="add-on-akuity-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-akuity-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-akuity-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `calyptia_fluent-bit` e o namespace é `calytia-fluentbit`. A Calyptia publica o complemento.

Para obter informações sobre o complemento, consulte [Conceitos básicos do Calyptia Core Agent](https://docs.akuity.io/tutorials/eks-addon-agent-install/) no site de documentação do Calyptia.

### Nome da conta de serviço
<a name="add-on-calyptia-service-account-name"></a>

O nome da conta de serviço é `clyptia-fluentbit`.

### Política do IAM gerenciada da AWS
<a name="add-on-calyptia-managed-policy"></a>

Este complemento usa a política gerenciada `AWSMarketplaceMeteringRegisterUsage`. Para obter mais informações sobre essa política, consulte [AWSMarketplaceMeteringRegisterUsage](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSMarketplaceMeteringRegisterUsage.html) no Guia de referência de políticas gerenciadas pela AWS.

### Comando para criar o perfil do IAM necessário
<a name="add-on-calyptia-custom-permissions"></a>

O comando a seguir requer que você tenha um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um, consulte [Criar um provedor de identidade OIDC do IAM para o cluster](enable-iam-roles-for-service-accounts.md). Substitua *my-cluster* pelo nome do seu cluster e *my-calyptia-role* pelo nome do seu perfil. Esse comando requer que você tenha o [eksctl](https://eksctl.io) instalado no dispositivo. Se você precisar usar uma ferramenta diferente para criar o perfil e anotar na conta de serviço do Kubernetes, consulte [Atribuir perfis do IAM às contas de serviço do 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>

O nome do complemento é `cisco_cisco-cloud-observability-collectors` e o namespace é `appdynamics`. A Cisco publica o complemento.

Para obter informações sobre o 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) na documentação do Cisco AppDynamics.

### Nome da conta de serviço
<a name="add-on-cisco-collector-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

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

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-cisco-collector-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `cisco_cisco-cloud-observability-operators` e o namespace é `appdynamics`. A Cisco publica o complemento.

Para obter informações sobre o 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) na documentação do Cisco AppDynamics.

### Nome da conta de serviço
<a name="add-on-cisco-operator-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

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

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-cisco-operator-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `cloudsoft_cloudsoft-amp` e o namespace é `cloudsoft-amp`. A CLOUDSOFT publica o complemento.

Para obter informações sobre o complemento, consulte [Complemento do Amazon EKS](https://docs.cloudsoft.io/operations/configuration/aws-eks-addon.html) na documentação da CLOUDSOFT.

### Nome da conta de serviço
<a name="add-on-cloudsoft-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-cloudsoft-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-cloudsoft-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `cribl_cribledge` e o namespace é `cribledge`. A Cribl publica o complemento.

Para obter informações sobre o complemento, consulte [Instalar o complemento Cribl do Amazon EKS](https://docs.cribl.io/edge/usecase-edge-aws-eks/) na documentação da Cribl

### Nome da conta de serviço
<a name="add-on-cribl-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-cribl-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-cribl-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `dynatrace_dynatrace-operator` e o namespace é `dynatrace`. A Dynatrace publica o complemento.

Para obter informações sobre o complemento, consulte [Kubernetes monitoring](https://www.dynatrace.com/technologies/kubernetes-monitoring/) na documentação do Dynatrace.

### Nome da conta de serviço
<a name="add-on-dynatrace-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-dynatrace-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-dynatrace-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `datree_engine-pro` e o namespace é `datree`. A Datree publica o complemento.

Para obter informações sobre o complemento, consulte [Integração do Amazon EKS](https://hub.datree.io/integrations/eks-integration) na documentação da Datree.

### Nome da conta de serviço
<a name="add-on-datree-pro-service-account-name"></a>

O nome da conta de serviço é datree-webhook-server-awsmp.

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

A política gerenciada é AWSLicenseManagerConsumptionPolicy. Para obter mais informações sobre essa política, consulte [AWSLicenseManagerConsumptionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLicenseManagerConsumptionPolicy.html) no Guia de referência de políticas gerenciadas pela AWS.

### Comando para criar o perfil do IAM necessário
<a name="add-on-datree-pro-iam-command"></a>

O comando a seguir requer que você tenha um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um, consulte [Criar um provedor de identidade OIDC do IAM para o cluster](enable-iam-roles-for-service-accounts.md). Substitua *my-cluster* pelo nome do seu cluster e *my-datree-role* pelo nome do seu perfil. Esse comando requer que você tenha o [eksctl](https://eksctl.io) instalado no dispositivo. Se você precisar usar uma ferramenta diferente para criar o perfil e anotar na conta de serviço do Kubernetes, consulte [Atribuir perfis do IAM às contas de serviço do 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
```

### Permissões personalizadas
<a name="add-on-datree-pro-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `datadog_operator` e o namespace é `datadog-agent`. A Datadog publica o complemento.

Para obter informações sobre o complemento, consulte [Instalação do Datadog Agent no Amazon EKS com o complemento Datadog Operator](https://docs.datadoghq.com/containers/guide/operator-eks-addon/?tab=console) na documentação da Datadog.

### Nome da conta de serviço
<a name="add-on-datadog-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-datadog-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-datadog-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `groundcover_agent` e o namespace é `groundcover`. A Groundcover publica o complemento.

Para obter informações sobre o complemento, consulte [Instalar o complemento Groundcover do Amazon EKS](https://docs.groundcover.com/docs/~/changes/VhDDAl1gy1VIO3RIcgxD/configuration/customization-guide/customize-deployment/eks-add-on) na documentação da Groundcover.

### Nome da conta de serviço
<a name="add-on-groundcover-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-groundcover-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-groundcover-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `instana-agent` e o namespace é `instana-agent`. A IBM publica o complemento.

Para obter informações sobre o complemento, consulte [Implementar a observabilidade das workloads do Amazon EKS usando o complemento Instana Amazon EKS](https://aws.amazon.com/blogs/ibm-redhat/implement-observability-for-amazon-eks-workloads-using-the-instana-amazon-eks-add-on/) e [Monitorar e otimizar os custos do Amazon EKS com o IBM Instana e o Kubecost](https://aws.amazon.com/blogs/ibm-redhat/monitor-and-optimize-amazon-eks-costs-with-ibm-instana-and-kubecost/) no blog da AWS.

O Instana Observability (Instana) oferece um complemento do Amazon EKS que implanta atendentes Instana nos clusters do Amazon EKS. Os clientes podem usar esse complemento para coletar e analisar dados de desempenho em tempo real para obter informações sobre suas aplicações em contêineres. O complemento Instana Amazon EKS fornece visibilidade em seus ambientes Kubernetes. Depois de implantado, o atendente Instana descobre automaticamente componentes em seus clusters do Amazon EKS, incluindo nós, namespaces, implantações, serviços e pods.

### Nome da conta de serviço
<a name="add-on-instana-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-instana-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-instana-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `grafana-labs_kubernetes-monitoring` e o namespace é `monitoring`. A Grafana Labs publica o complemento.

Para obter informações sobre o complemento, consulte [Configurar o monitoramento do Kubernetes como um complemento com o Amazon EKS](https://grafana.com/docs/grafana-cloud/monitor-infrastructure/kubernetes-monitoring/configuration/config-aws-eks/) na documentação da Grafana Labs.

### Nome da conta de serviço
<a name="add-on-grafana-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-grafana-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-grafana-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

## Guance
<a name="add-on-guance"></a>
+  **Publicador**: GUANCE
+  **Nome** – `guance_datakit` 
+  **Namespace** – `datakit` 
+  **Nome da conta de serviço**: nenhuma conta de serviço é usada com esse complemento.
+  **Política gerenciada do IAM da AWS**: nenhuma política gerenciada é usada com esse complemento.
+  **Permissões personalizadas do IAM**: nenhuma permissão personalizada é usada com esse complemento.
+  **Instruções de configuração e uso**: consulte [Usar o complemento do Amazon EKS](https://docs.guance.com/en/datakit/datakit-eks-deploy/#add-on-install) na documentação da Guance.

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

O nome é `haproxy-technologies_kubernetes-ingress-ee` e o namespace é `haproxy-controller`. A HA Proxy publica o complemento.

Para obter informações sobre o complemento, consulte [Integração do Amazon EKS](https://hub.datree.io/integrations/eks-integration) na documentação da Datree.

### Nome da conta de serviço
<a name="add-on-ha-proxy-service-account-name"></a>

O nome da conta de serviço é `customer defined`.

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

A política gerenciada é AWSLicenseManagerConsumptionPolicy. Para obter mais informações sobre essa política, consulte [AWSLicenseManagerConsumptionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLicenseManagerConsumptionPolicy.html) no Guia de referência de políticas gerenciadas pela AWS.

### Comando para criar o perfil do IAM necessário
<a name="add-on-ha-proxy-iam-command"></a>

O comando a seguir requer que você tenha um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um, consulte [Criar um provedor de identidade OIDC do IAM para o cluster](enable-iam-roles-for-service-accounts.md). Substitua *my-cluster* pelo nome do seu cluster e *my-haproxy-role* pelo nome do seu perfil. Esse comando requer que você tenha o [eksctl](https://eksctl.io) instalado no dispositivo. Se você precisar usar uma ferramenta diferente para criar o perfil e anotar na conta de serviço do Kubernetes, consulte [Atribuir perfis do IAM às contas de serviço do 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
```

### Permissões personalizadas
<a name="add-on-ha-proxy-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `factorhouse_kpow` e o namespace é `factorhouse`. A Factorhouse publica o complemento.

Para obter informações sobre o complemento, consulte [AWS Marketplace LM](https://docs.kpow.io/installation/aws-marketplace-lm/) na documentação do Kpow.

### Nome da conta de serviço
<a name="add-on-kpow-service-account-name"></a>

O nome da conta de serviço é `kpow`.

### Política do IAM gerenciada da AWS
<a name="add-on-kpow-managed-policy"></a>

A política gerenciada é AWSLicenseManagerConsumptionPolicy. Para obter mais informações sobre essa política, consulte [AWSLicenseManagerConsumptionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLicenseManagerConsumptionPolicy.html) no Guia de referência de políticas gerenciadas pela AWS.

### Comando para criar o perfil do IAM necessário
<a name="add-on-kpow-iam-command"></a>

O comando a seguir requer que você tenha um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um, consulte [Criar um provedor de identidade OIDC do IAM para o cluster](enable-iam-roles-for-service-accounts.md). Substitua *my-cluster* pelo nome do cluster e *my-role-name* pelo nome desejado para o perfil. Esse comando requer que você tenha o [eksctl](https://eksctl.io) instalado no dispositivo. Se você precisar usar uma ferramenta diferente para criar o perfil e anotar na conta de serviço do Kubernetes, consulte [Atribuir perfis do IAM às contas de serviço do 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
```

### Permissões personalizadas
<a name="add-on-kpow-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `kubecost_kubecost` e o namespace é `kubecost`. A Kubecost publica o complemento.

Para obter mais informações sobre o complemento, consulte [AWS Cloud Billing Integration](https://docs.kubecost.com/install-and-configure/install/cloud-integration/aws-cloud-integrations) na documentação do Kubecost.

É necessário ter os [volumes de armazenamento do Kubernetes com o Amazon EBS](ebs-csi.md) instalados no cluster. Caso contrário, receberá um erro.

### Nome da conta de serviço
<a name="add-on-kubecost-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-kubecost-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-kubecost-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `kasten_k10` e o namespace é `kasten-io`. A Kasten by Veeam publica o complemento.

Para obter informações sobre o complemento, consulte [Instalar o K10 na AWS usando o complemento do Amazon EKS](https://docs.kasten.io/latest/install/aws-eks-addon/aws-eks-addon.html) na documentação da Kasten.

É necessário ter o driver CSI do Amazon EBS instalado no cluster com um `StorageClass` padrão.

### Nome da conta de serviço
<a name="add-on-kasten-service-account-name"></a>

O nome da conta de serviço é `k10-k10`.

### Política do IAM gerenciada da AWS
<a name="add-on-kasten-managed-policy"></a>

A política gerenciada é AWSLicenseManagerConsumptionPolicy. Para obter mais informações sobre essa política, consulte [AWSLicenseManagerConsumptionPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSLicenseManagerConsumptionPolicy.html) no Guia de referência de políticas gerenciadas pela AWS.

### Comando para criar o perfil do IAM necessário
<a name="add-on-kasten-iam-command"></a>

O comando a seguir requer que você tenha um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um, consulte [Criar um provedor de identidade OIDC do IAM para o cluster](enable-iam-roles-for-service-accounts.md). Substitua *my-cluster* pelo nome do seu cluster e *my-kasten-role* pelo nome do seu perfil. Esse comando requer que você tenha o [eksctl](https://eksctl.io) instalado no dispositivo. Se você precisar usar uma ferramenta diferente para criar o perfil e anotar na conta de serviço do Kubernetes, consulte [Atribuir perfis do IAM às contas de serviço do 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
```

### Permissões personalizadas
<a name="add-on-kasten-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `kong_konnect-ri` e o namespace é `kong`. A Kong publica o complemento.

Para obter informações sobre o complemento, consulte [Instalar o complemento Kong Gateway do EKS](https://kong.github.io/aws-marketplace-addon-kong-gateway/) na documentação da Kong.

É necessário ter os [volumes de armazenamento do Kubernetes com o Amazon EBS](ebs-csi.md) instalados no cluster. Caso contrário, receberá um erro.

### Nome da conta de serviço
<a name="add-on-kong-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-kong-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-kong-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `leaksignal_leakagent` e o namespace é `leakagent`. A LeakSignal publica o complemento.

Para obter informações sobre o complemento, consulte https://www.leaksignal.com/docs/LeakAgent/Deployment/AWS%20EKS%20Addon/[instalar o complemento LeakAgent] na documentação do LeakSignal.

É necessário ter os [volumes de armazenamento do Kubernetes com o Amazon EBS](ebs-csi.md) instalados no cluster. Caso contrário, receberá um erro.

### Nome da conta de serviço
<a name="add-on-leaksignal-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-leaksignal-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-leaksignal-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `netapp_trident-operator` e o namespace é `trident`. A NetApp publica o complemento.

Para obter informações sobre o complemento, consulte [Configure the Trident EKS add-on](https://docs.netapp.com/us-en/trident/trident-use/trident-aws-addon.html) na documentação da NetApp.

### Nome da conta de serviço
<a name="add-on-netapp-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-netapp-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-netapp-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `new-relic_kubernetes-operator` e o namespace é `newrelic`. A New Relic publica o complemento.

Para obter informações sobre o complemento, consulte [Instalando o complemento do New Relic para EKS](https://docs.newrelic.com/docs/infrastructure/amazon-integrations/connect/eks-add-on) na documentação do New Relic.

### Nome da conta de serviço
<a name="add-on-new-relic-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

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

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-new-relic-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `rafay-systems_rafay-operator` e o namespace é `rafay-system`. A Rafay publica o complemento.

Para obter informações sobre o complemento, consulte [Instalar o complemento Rafay do Amazon EKS](https://docs.rafay.co/clusters/import/eksaddon/) na documentação da Rafay.

### Nome da conta de serviço
<a name="add-on-rafay-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-rafay-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-rafay-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

## Rad Security
<a name="add-on-rad"></a>
+  **Publicador**: RAD SECURITY
+  **Nome** – `rad-security_rad-security` 
+  **Namespace** – `ksoc` 
+  **Nome da conta de serviço**: nenhuma conta de serviço é usada com esse complemento.
+  **Política gerenciada do IAM da AWS**: nenhuma política gerenciada é usada com esse complemento.
+  **Permissões personalizadas do IAM**: nenhuma permissão personalizada é usada com esse complemento.
+  **Instruções de configuração e uso**: consulte [Instalação do Rad por meio do AWS Marketplace](https://docs.rad.security/docs/installing-ksoc-in-the-aws-marketplace) na documentação do Rad Security.

## SolarWinds
<a name="add-on-solarwinds"></a>
+  **Publicador**: SOLARWINDS
+  **Nome** – `solarwinds_swo-k8s-collector-addon` 
+  **Namespace** – `solarwinds` 
+  **Nome da conta de serviço**: nenhuma conta de serviço é usada com esse complemento.
+  **Política gerenciada do IAM da AWS**: nenhuma política gerenciada é usada com esse complemento.
+  **Permissões personalizadas do IAM**: nenhuma permissão personalizada é usada com esse complemento.
+  **Instruções de configuração e uso**: consulte [Monitorar um cluster do Amazon EKS](https://documentation.solarwinds.com/en/success_center/observability/content/configure/configure-kubernetes.htm#MonitorAmazonEKS) na documentação da SolarWinds.

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

O nome do complemento é `solo-io_istio-distro` e o namespace é `istio-system`. A Solo publica o complemento.

Para obter mais informações sobre o complemento, consulte [Instalar o Istio](https://docs.solo.io/gloo-mesh-enterprise/main/setup/install/eks_addon/) na documentação da Solo.io.

### Nome da conta de serviço
<a name="add-on-solo-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-solo-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-solo-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

## Snyk
<a name="add-on-snyk"></a>
+  **Publicador**: SNYK
+  **Nome** – `snyk_runtime-sensor` 
+  **Namespace** – `snyk_runtime-sensor` 
+  **Nome da conta de serviço**: nenhuma conta de serviço é usada com esse complemento.
+  **Política gerenciada do IAM da AWS**: nenhuma política gerenciada é usada com esse complemento.
+  **Permissões personalizadas do IAM**: nenhuma permissão personalizada é usada com esse complemento.
+  **Instruções de configuração e uso**: consulte o [Sensor de runtime do Snyk](https://docs.snyk.io/integrate-with-snyk/snyk-runtime-sensor) nos documentos do usuário da Snyk.

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

O nome do complemento é `stormforge_optimize-Live` e o namespace é `stormforge-system`. A Stormforge publica o complemento.

Para obter informações sobre o complemento, consulte [Instalação do StormForge Agent](https://docs.stormforge.io/optimize-live/getting-started/install-v2/) na documentação da StormForge.

### Nome da conta de serviço
<a name="add-on-stormforge-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-stormforge-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-stormforge-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

## SUSE
<a name="add-on-suse"></a>
+  **Publicador**: SUSE
+  **Nome** – `suse_observability-agent` 
+  **Namespace** – `suse-observability` 
+  **Nome da conta de serviço**: nenhuma conta de serviço é usada com esse complemento.
+  **Política gerenciada do IAM da AWS**: nenhuma política gerenciada é usada com esse complemento.
+  **Permissões personalizadas do IAM**: nenhuma permissão personalizada é usada com esse complemento.
+  **Instruções de configuração e uso**: consulte [Início rápido](https://docs.stackstate.com/get-started/k8s-quick-start-guide#amazon-eks) na documentação do SUSE.

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

O nome do complemento é `splunk_splunk-otel-collector-chart` e o namespace é `splunk-monitoring`. A Splunk publica o complemento.

Para obter informações sobre o complemento, consulte [Instalar o complemento Splunk do 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) na documentação da Splunk.

### Nome da conta de serviço
<a name="add-on-splunk-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-splunk-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-splunk-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `teleport_teleport` e o namespace é `teleport`. A Teleport publica o complemento.

Para obter mais informações sobre o complemento, consulte [How Teleport Works](https://goteleport.com/how-it-works/) na documentação do Teleport.

### Nome da conta de serviço
<a name="add-on-teleport-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-teleport-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-teleport-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `tetrate-io_istio-distro` e o namespace é `istio-system`. A Tetrate Io publica o complemento.

Para obter informações sobre o complemento, consulte o site do [Tetrate Istio Distro](https://tetratelabs.io/).

### Nome da conta de serviço
<a name="add-on-tetrate-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-tetrate-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-tetrate-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `upbound_universal-crossplane` e o namespace é `upbound-system`. A Upbound publica o complemento.

Para obter informações sobre o complemento, consulte [Upbound Universal Crossplane (UXP)](https://docs.upbound.io/uxp/) na documentação da Upbound.

### Nome da conta de serviço
<a name="add-on-upbound-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-upbound-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-upbound-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

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

O nome do complemento é `upwind` e o namespace é `upwind`. A Upwind publica o complemento.

Para obter mais informações sobre o complemento, consulte a [Documentação da UpWind](https://docs.upwind.io/install-sensor/kubernetes/install?installation-method=amazon-eks-addon).

### Nome da conta de serviço
<a name="add-on-upwind-service-account-name"></a>

Nenhuma conta de serviço é usada com esse complemento.

### Política do IAM gerenciada da AWS
<a name="add-on-upwind-managed-policy"></a>

Nenhuma política gerenciada é usada com esse complemento.

### Permissões do IAM personalizadas
<a name="add-on-upwind-custom-permissions"></a>

Nenhuma permissão personalizada é usada com esse complemento.

# Criar um complemento do Amazon EKS
<a name="creating-an-add-on"></a>

Os complementos do Amazon EKS são um software complementar para clusters do Amazon EKS. Todos os complementos do Amazon EKS:
+ Incluem os patches de segurança e as correções de erros mais recentes.
+ São validados pela AWS para funcionar com o Amazon EKS.
+ Reduzem o trabalho necessário para gerenciar software complementar.

Você pode criar um complemento do Amazon EKS usando o `eksctl`, o Console de gerenciamento da AWS ou a AWS CLI. Caso o complemento necessite de um perfil do IAM, consulte os detalhes para o complemento específico em [Complementos do Amazon EKS](eks-add-ons.md) para obter informações sobre como criar o perfil.

## Pré-requisitos
<a name="creating-an-add-on-prereq"></a>

Antes de criar um complemento, faça o seguinte:
+ O cluster deverá existir para que você possa criar um complemento para ele. Para obter mais informações, consulte [Criar um cluster do Amazon EKS](create-cluster.md).
+ Verifique se o complemento exige um perfil do IAM. Para obter mais informações, consulte [Verificar a compatibilidade da versão do complemento do Amazon EKS com um cluster](addon-compat.md).
+ Verifique se a versão do complemento do Amazon EKS é compatível com o cluster. Para obter mais informações, consulte [Verificar a compatibilidade da versão do complemento do Amazon EKS com um cluster](addon-compat.md).
+ Verifique se a versão 0.190.0 ou posterior da ferramenta de linha de comando `eksctl` está instalada em seu computador ou no AWS CloudShell. Para obter mais informações, consulte [Instalação](https://eksctl.io/installation/) no site do `eksctl`.

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

Você pode criar um complemento do Amazon EKS usando o `eksctl`, o Console de gerenciamento da AWS ou a AWS CLI. Se o complemento exigir um perfil do IAM, consulte os detalhes para esse complemento em específico em [Complementos do Amazon EKS disponíveis da AWS](workloads-add-ons-available-eks.md) para obter informações sobre como criar o perfil.

## Criar complemento (eksctl)
<a name="_create_add_on_eksctl"></a>

1. Visualize os nomes dos complementos disponíveis para uma versão de cluster. Substitua *1.35* pela versão do seu cluster.

   ```
   eksctl utils describe-addon-versions --kubernetes-version 1.35 | grep AddonName
   ```

   Veja abaixo um exemplo de saída.

   ```
   "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. Visualize as versões disponíveis para o complemento que você deseja criar. Substitua *1.35* pela versão do seu cluster. Substitua *name-of-complemento* pelo nome do complemento para o qual você deseja visualizar as versões. O nome deve ser um dos nomes retornados na etapa anterior.

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

   A saída a seguir é um exemplo do que é retornado para o complemento denominado `vpc-cni`. Você pode ver que o complemento tem várias versões disponíveis.

   ```
   "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 se o complemento que você deseja criar é um complemento do Amazon EKS ou do AWS Marketplace. O AWS Marketplace tem complementos de terceiros que exigem que você conclua etapas adicionais para criar o complemento.

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

      Se nenhuma saída for retornada, o complemento será um complemento do Amazon EKS. Se a saída for retornada, então o complemento é um complemento do AWS Marketplace. A saída a seguir é para um complemento denominado `teleport_teleport`.

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

      Você pode obter mais informações sobre o complemento no AWS Marketplace com o URL retornado. Se o complemento exigir uma assinatura, você poderá assinar o complemento por meio do AWS Marketplace. Se você for criar um complemento no AWS Marketplace, a [entidade principal do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) que estiver usando para criar o complemento deverá ter permissão para criar o perfil vinculada ao serviço [AWSServiceRoleForAWSLicenseManagerRole](https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager-role-core.html). Para obter informações sobre como atribuir permissões a uma entidade do IAM, consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no Guia do usuário do IAM.

1. Crie um complemento do Amazon EKS. Copie o comando e substitua *user-data* da seguinte forma:
   + Substitua *my-cluster* pelo nome do cluster.
   + Substitua *name-of-complemento* pelo nome do complemento que você deseja criar.
   + Se você quiser uma versão do complemento anterior à mais recente, substitua *latest* pelo número da versão retornada na saída de uma etapa anterior que você deseja usar.
   + Se o complemento usar um perfil de conta de serviço, substitua *111122223333* pelo ID da conta e substitua *role-name* pelo nome do perfil. Para obter instruções para criar um perfil para a conta de serviço, consulte a documentação do complemento que você está criando. Para obter uma lista de complementos, consulte [Complementos da AWS](workloads-add-ons-available-eks.md). A especificação de um perfil da conta de serviço exige que você tenha um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um para o seu cluster, consulte [Criar um provedor de identidade OIDC do IAM para o cluster](enable-iam-roles-for-service-accounts.md).

     Se o complemento não usar um perfil da conta de serviço, exclua `--service-account-role-arnarn:aws:iam::111122223333:role/role-name`.
   + Esse exemplo de comando sobrescreve a configuração de qualquer versão autogerenciada do complemento existente, se houver alguma. Se você não quiser substituir a configuração de um complemento autogerenciado existente, remova a opção *--force*. Se você remover a opção e o complemento do Amazon EKS precisar sobrescrever a configuração de um complemento autogerenciado existente, a criação do complemento do Amazon EKS falhará com uma mensagem de erro para ajudar a resolver o conflito. Antes de especificar essa opção, certifique-se de que o complemento Amazon EKS não gerencie as configurações que você precisa gerenciar, pois essas configurações são substituídas por essa opção.

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

     Você pode ver uma lista de todas as opções disponíveis para o comando.

     ```
     eksctl create addon --help
     ```

     Para obter mais informações sobre as opções disponíveis, consulte [Complementos](https://eksctl.io/usage/addons/) na documentação do `eksctl`.

## Criar complemento (console do AWS)
<a name="create_add_on_console"></a>

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

1. No painel de navegação à esquerda, escolha **Clusters**.

1. Escolha o nome do cluster para o qual deseja criar o complemento.

1. Escolha a guia **Add-ons** (Complementos).

1. Escolha **Obter mais complementos**.

1. Na página **Selecionar complementos**, escolha os complementos que você deseja adicionar ao cluster. Você pode adicionar quantos **complementos do Amazon EKS** e ** do AWS Marketplace** desejar.

   Para os complementos ** do AWS Marketplace**, a [entidade principal do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) que você está usando para criar o complemento deve ter permissões para ler os direitos do complemento no AWS LicenseManager. AWS O LicenseManager requer o perfil vinculado ao serviço (SLR), [AWSServiceRoleForAWSLicenseManagerRole](https://docs.aws.amazon.com/license-manager/latest/userguide/license-manager-role-core.html) que permite que os recursos da AWS gerenciem licenças em seu nome. O SLR é exigido uma única vez para cada conta, e você não precisará criar SLRs separados para cada complemento nem para cada cluster. Para obter informações sobre como atribuir permissões a uma [entidade principal do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal) consulte [Adicionar e remover permissões de identidade do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html) no Guia do usuário do IAM.

   Se os **complementos do AWS Marketplace** que você deseja instalar não estiverem listados, será possível clicar na numeração da página para visualizar resultados de páginas adicionais ou pesquisar na caixa de pesquisa. Nas **Opções de filtragem**, também é possível filtrar por **categoria**, **fornecedor** ou **modelo de preço** e, em seguida, escolher os complementos nos resultados da pesquisa. Após selecionar os complementos que você deseja instalar, escolha **Next** (Avançar).

1. Na página **Definir as configurações dos complementos selecionados**, faça o seguinte:

   1. Escolha **Exibir opções de assinatura** para abrir o formulário **Opções de assinatura**. Revise as seções **Detalhes de preços** e **Aspectos jurídicos** e escolha o botão **Inscrever-se** para continuar.

   1. Em **Versão**, escolha a versão que você deseja usar. Recomendamos a versão marcada como **latest** (a mais recente), a menos que o complemento individual que você está criando recomende outra versão. Para determinar se um complemento tem uma versão recomendada, consulte a documentação do complemento que você está criando. Para obter uma lista de complementos, consulte [Complementos da AWS](workloads-add-ons-available-eks.md).

   1. Há duas opções para configurar perfis para complementos: perfil do IAM das Identidade de Pods do EKS e perfis do IAM para contas de serviço (IRSA). Siga a etapa apropriada para sua opção preferida abaixo. Se todos os complementos que você selecionou mostrarem **Exige assinatura** em **Status**, selecione **Próximo**. Não é possível [configurar esses complementos](updating-an-add-on.md) até que você se torne assinante deles após a criação do cluster. Para os complementos que não mostram **Exige assinatura** em **Status**, faça o seguinte:

      1. Para **Perfil do IAM de Identidade de Pods para a conta de serviço**, é possível usar um perfil do IAM de Identidade de Pods do EKS existente ou criar um usando o botão **Criar perfil recomendado**. Esse campo só fornecerá opções com a política de confiança apropriada. Quando não há nenhum perfil para seleção, é porque você não tem nenhum perfil existente com uma política de confiança correspondente. Para configurar um perfil do IAM de Identidade de Pods do EKS para contas de serviço do complemento selecionado, escolha **Criar perfil recomendado**. O assistente de criação de perfis se abrirá em uma janela separada. O assistente preencherá automaticamente as informações do perfil da maneira a seguir. Para cada complemento em que você deseja criar o perfil do IAM de Identidade de Pods do EKS, conclua as etapas no assistente do IAM da forma a seguir.
         + Na etapa **Selecionar entidade confiável**, a opção de serviço da AWS para o **EKS** e o caso de uso para **EKS: Identidade de Pods** já vêm selecionados previamente, e a política de confiança apropriada será preenchida automaticamente para o complemento. Por exemplo, o perfil será criado com a política de confiança apropriada contendo a entidade principal do IAM pods.eks.amazonaws.com, conforme detalhado em [Benefícios dos EKS Pod Identities](pod-identities.md#pod-id-benefits). Escolha **Próximo**.
         + Na etapa **Adicionar permissões**, a política gerenciada apropriada para a política de perfil é pré-selecionada para o complemento. Por exemplo, para o complemento CNI da Amazon VPC, o perfil será criado com a política gerenciada `AmazonEKS_CNI_Policy`, conforme detalhado em [Plug-in CNI da Amazon VPC para Kubernetes](workloads-add-ons-available-eks.md#add-ons-vpc-cni). Escolha **Próximo**.
         + Na etapa **Nomear, revisar e criar**, em **Nome do perfil**, o nome do perfil padrão é preenchido automaticamente para o complemento. Por exemplo, para o complemento **CNI da Amazon VPC**, o perfil será criado com a o nome **AmazonEKSPodIdentityAmazonVPCCNIRole**. Em **Descrição**, a descrição padrão é preenchida automaticamente com a descrição apropriada para o complemento. Por exemplo, para o complemento CNI do Amazon VPC, o perfil será criado com a descrição **Permite que pods em execução no cluster Amazon EKS acessem recursos da AWS**. Em **Política de confiança**, visualize a política de confiança preenchida para o complemento. Selecione **Criar perfil**.

           OBSERVAÇÃO: manter o nome do perfil padrão permite que o EKS pré-selecione o perfil para complementos em novos clusters ou ao adicionar complementos a clusters existentes. Você ainda pode substituir esse nome, e o perfil estará disponível para o complemento em seus clusters, mas o perfil precisará ser selecionado manualmente no menu suspenso.

      1. Para complementos que não tenham **Requer assinatura** em seu **Status** e para os quais você deseja configurar perfis usando o IRSA, consulte a documentação do complemento que você está criando para criar uma política do IAM e anexá-la a um perfil. Para obter uma lista de complementos, consulte [Complementos da AWS](workloads-add-ons-available-eks.md). Para selecionar um perfil do IAM, você precisa ter um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um para o seu cluster, consulte [Criar um provedor de identidade OIDC do IAM para o cluster](enable-iam-roles-for-service-accounts.md).

      1. Escolha **Optional configuration settings** (Configurações opcionais).

      1. Se o complemento exigir configuração, insira-a na caixa **Valores de configuração**. Para determinar se o complemento exige informações de configuração, consulte a documentação do complemento que você está criando. Para obter uma lista de complementos, consulte [Complementos da AWS](workloads-add-ons-available-eks.md).

      1. Selecione uma das opções disponíveis em **Método de resolução de conflitos**. Se você escolher **Substituir** como **Método de resolução de conflitos**, uma ou mais configurações do complemento existente poderão ser substituídas pelas configurações do complemento do Amazon EKS. Se você não habilitar esta opção e houver um conflito com suas configurações existentes, a operação falhará. É possível usar a mensagem de erro resultante para solucionar o conflito. Antes de escolher essa opção, certifique-se de que o complemento do Amazon EKS não gerencie as configurações que você precisa autogerenciar.

      1. **Se você quiser instalar o complemento em um namespace específico, insira-o no campo Namespace.** Para complementos da AWS e da comunidade, você pode definir um namespace Kubernetes personalizado para instalar o complemento. Para obter mais informações, consulte [Namespace personalizado para complementos](eks-add-ons.md#custom-namespace).

      1. Escolha **Próximo**.

1. Na página **Adicionar tags**, escolha **Criar**. Depois que a instalação dos complementos for concluída, você verá os complementos instalados.

1. Se algum dos complementos que você instalou exigir uma assinatura, conclua as seguintes etapas:

   1. Escolha o botão **Assinar** no canto inferior direito do complemento. Você será direcionado para a página do complemento no AWS Marketplace. Leia as informações sobre o complemento, como a **visão geral do produto** e **as informações sobre preços**.

   1. Selecione o botão **Continue to Subscribe** (Continuar a assinar) no canto superior direito da página do complemento.

   1. Leia todos os **Terms and Conditions** (Termos e condições). Se você concordar com eles, escolha **Accept Terms** (Aceitar termos). O processamento da assinatura pode levar alguns minutos. Enquanto a assinatura estiver sendo processada, o botão **Return to Amazon EKS Console** (Retornar ao console do Amazon EKS) estará acinzentado.

   1. Depois que o processamento da assinatura for concluído, o botão **Return to Amazon EKS Console** (Retornar ao console do Amazon EKS) não estará mais acinzentado. Escolha o botão para voltar à guia **Add-ons** (Complementos) do console Amazon EKS para o cluster.

   1. Para o complemento que você assinou, escolha **Remove and reinstall** (Remover e reinstalar) e depois escolha **Reinstall add-on**(Reinstalar complemento). A instalação do complemento pode levar vários minutos. Quando a instalação estiver concluída, você poderá configurar o complemento.

## Criar complemento (AWS CLI)
<a name="create_add_on_shared_aws_cli"></a>

1. Você precisa da versão `2.12.3` ou posterior ou da versão `1.27.160` ou posterior da AWS Command Line Interface (AWS CLI) instalada e configurada no seu dispositivo ou no AWS CloudShell. Para verificar sua versão atual, use `aws --version | cut -d / -f2 | cut -d ' ' -f1`. Os gerenciadores de pacotes, como `yum`, `apt-get` ou Homebrew para macOS, geralmente estão várias versões atrás da versão mais recente da AWS CLI. Para instalar a versão mais recente, consulte [Installing](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) e [Quick configuration with aws configure](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config), no *Guia do usuário da AWS Command Line Interface*. A versão da AWS CLI instalada no AWS CloudShell também pode estar várias versões atrás da versão mais recente. Para atualizá-lo, consulte [Instalar a AWS CLI no seu diretório pessoal](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software), no * Guia do usuário do AWS CloudShell*.

1. Determine quais complementos estão disponíveis. Você pode ver todos os complementos disponíveis, seu tipo e seu editor. Você também pode ver o URL dos complementos disponíveis no AWS Marketplace. Substitua *1.35* pela versão do seu cluster.

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

   Veja abaixo um exemplo de saída.

   ```
   ---------------------------------------------------------------------------------------------------------------------------------------------------------
   |                                                                 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         |
   |  [...]                                                        |  [...]                        |  [...]           |  [...]       |  [...]              |
   +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+
   ```

   A sua saída pode ser diferente. Neste exemplo de saída, há três complementos diferentes disponíveis do tipo `networking` e cinco complementos com um editor do tipo `eks`. Os complementos com `aws-marketplace` na coluna `Owner` podem requerer uma assinatura antes que você possa instalá-los. Você pode visitar a URL para obter mais informações e fazer uma assinatura do complemento.

1. Você pode ver quais versões estão disponíveis para cada complemento. Substitua *1.35* pela versão do seu cluster e substitua *vpc-cni* pelo nome de um complemento retornado na etapa 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
   ```

   Veja abaixo um exemplo de saída.

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

   A versão com `True` na coluna `Defaultversion` é a versão com a qual o complemento foi criado, por padrão.

1. (Opcional) Encontre as opções de configuração para o complemento escolhido executando o seguinte 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\"}}}"
   }
   ```

   A saída é um esquema JSON padrão.

   Aqui está um exemplo de valores de configuração válidos, no formato JSON, que funcionam com o esquema acima.

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

   Aqui está um exemplo de valores de configuração válidos, no formato YAML, que funcionam com o esquema acima.

   ```
     resources:
       limits:
         cpu: 100m
   ```

1. Determine se o complemento requer permissões do IAM. Nesse caso, você precisa (1) determinar se deseja usar identidades de pods do EKS ou perfis do IAM para contas de serviço (IRSA), (2) determinar o ARN do perfil do IAM a ser usado com o complemento e (3) determinar o nome da conta do serviço Kubernetes usada pelo complemento. Para obter mais informações, consulte [Recuperar informações do IAM sobre um complemento do Amazon EKS](retreive-iam-info.md).
   + O Amazon EKS sugerirá o uso de Identidades de Pods do EKS se o complemento oferecer suporte a esse recurso. Isso requer que o [Agente de Identidade de Pods esteja instalado no seu cluster](pod-identities.md). Para obter mais informações sobre como usar Identidades de Pods com complementos, consulte [Perfis do IAM para complementos do Amazon EKS](add-ons-iam.md).
   + Se o complemento ou seu cluster não estiver configurado para Identidades de Pods do EKS, use o IRSA. [Confirme se o IRSA está configurado no seu cluster. ](iam-roles-for-service-accounts.md) 
   +  [Analise a documentação dos complementos do Amazon EKS para determinar se o complemento exige permissões do IAM e o nome da conta do serviço Kubernetes associada. ](eks-add-ons.md) 

     1. Crie um complemento do Amazon EKS. Copie o conteúdo a seguir no seu dispositivo. Faça as seguintes modificações no comando, conforme necessário, e execute o comando modificado:
   + Substitua *my-cluster* pelo nome do cluster.
   + Substitua *vpc-cni* por um nome de complemento retornado na saída da etapa anterior que você deseja criar.
   + Substitua *o version-number* pela versão retornada na saída da etapa anterior que você deseja usar.
   + Se você quiser instalar o complemento em um namespace personalizado do Kubernetes, adicione a opção `--namespace-config 'namespace=<my-namespace>`. Essa opção só está disponível para a AWS e complementos da comunidade. Para obter mais informações, consulte . [Namespace personalizado para complementos](eks-add-ons.md#custom-namespace) 
   + Se o complemento não exigir permissões do IAM, exclua *<service-account-configuration>*.
   + Execute um destes procedimentos:
     + Se o complemento (1) exigir permissões de IAM e (2) seu cluster usar identidades de pod EKS, substitua *<service-account-configuration>* pela seguinte associação de identidade de pod. Substitua *<service-account-name>* pelo nome da conta de serviço usada pelo complemento. Substitua *<role-arn>* pelo ARN de um perfil do IAM. O perfil deve ter a política de confiança exigida pelas Identidades de Pods do EKS.

       ```
       --pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'
       ```
     + Se o complemento (1) exigir permissões de IAM e (2) seu cluster usar IRSA, substitua *<service-account-configuration>* pela seguinte configuração de IRSA. Substitua *111122223333* pelo ID da sua conta e *role-name* pelo nome de um perfil IAM existente que você criou. Para obter instruções para criar o perfil, consulte a documentação do complemento que você está criando. Para obter uma lista de complementos, consulte [Complementos da AWS](workloads-add-ons-available-eks.md). A especificação de um perfil da conta de serviço exige que você tenha um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um para o seu cluster, consulte [Criar um provedor de identidade OIDC do IAM para o cluster](enable-iam-roles-for-service-accounts.md).

       ```
       --service-account-role-arn arn:aws::iam::111122223333:role/role-name
       ```
   + Esses comandos de exemplo substituem a opção `--configuration-values` de qualquer versão autogerenciada existente do complemento, se houver. Substitua isso pelos valores de configuração desejados, como uma string ou uma entrada de arquivo. Se você não deseja fornecer valores de configuração, exclua a opção `--configuration-values`. Se você não quiser que a AWS CLI substitua a configuração de um complemento autogerenciado existente, remova a opção *--resolve-conflicts OVERWRITE*. Se você remover a opção e o complemento do Amazon EKS precisar sobrescrever a configuração de um complemento autogerenciado existente, a criação do complemento do Amazon EKS falhará com uma mensagem de erro para ajudar a resolver o conflito. Antes de especificar essa opção, certifique-se de que o complemento Amazon EKS não gerencie as configurações que você precisa gerenciar, pois essas configurações são substituídas por essa opção.

     ```
     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 obter uma lista completa das opções disponíveis, consulte ` [create-addon](https://docs.aws.amazon.com/cli/latest/reference/eks/create-addon.html) ` na Referência da linha de comando do Amazon EKS. Se o complemento que você criou tiver `aws-marketplace` listado na coluna `Owner` de uma etapa anterior, a criação poderá falhar e você poderá receber uma mensagem de erro semelhante a que se segue.

     ```
     {
         "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"
                     }
                 ]
             }
         }
     }
     ```

     Se você receber um erro semelhante ao erro da saída anterior, visite a URL na saída de uma etapa anterior para assinar o complemento. Depois de fazer a assinatura, execute o comando `create-addon` novamente.

# Atualizar um complemento do Amazon EKS
<a name="updating-an-add-on"></a>

O Amazon EKS não atualiza automaticamente o complemento quando novas versões são lançadas nem depois que você atualiza o cluster para uma nova versão secundária do Kubernetes. Para atualizar um complemento para um cluster existente, você deve iniciar a atualização. Após a atualização ser iniciada, o Amazon EKS atualizará o complemento do Amazon EKS para você. Antes de atualizar um complemento, revise sua documentação atual. Para obter uma lista dos complementos disponíveis, consulte [Complementos da AWS](workloads-add-ons-available-eks.md). Se o complemento exigir um perfil do IAM, consulte os detalhes para esse complemento em específico em [Complementos do Amazon EKS disponíveis da AWS](workloads-add-ons-available-eks.md) para obter informações sobre como criar o perfil.

## Pré-requisitos
<a name="updating-an-add-on-prereq"></a>

Antes de criar um complemento, faça o seguinte:
+ Verifique se o complemento exige um perfil do IAM. Para obter mais informações, consulte [Complementos do Amazon EKS](eks-add-ons.md).
+ Verifique se a versão do complemento do Amazon EKS é compatível com o cluster. Para obter mais informações, consulte [Verificar a compatibilidade da versão do complemento do Amazon EKS com um cluster](addon-compat.md).

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

Você pode atualizar um complemento do Amazon EKS usando `eksctl`, Console de gerenciamento da AWS ou AWS CLI.

## Complemento de atualização (eksctl)
<a name="_update_add_on_eksctl"></a>

1. Determine os complementos e as versões dos complementos instalados atualmente no cluster. Substitua *my-cluster* pelo nome do cluster.

   ```
   eksctl get addon --cluster my-cluster
   ```

   Veja abaixo um exemplo de saída.

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

   Sua saída pode ser diferente, dependendo dos complementos e versões que você tiver no cluster. Você pode ver que, na saída do exemplo anterior, dois complementos existentes no cluster têm versões mais recentes disponíveis na coluna `UPDATE AVAILABLE`.

1. Atualize o complemento.

   1. Copie o conteúdo a seguir no seu dispositivo. Faça as seguintes modificações no comando, conforme necessário:
      + Substitua *my-cluster* pelo nome do cluster.
      + Substitua *region-code* pela região da AWS em que seu cluster se encontra.
      + Substitua *vpc-cni* pelo nome de um complemento retornado na saída da etapa anterior que você deseja atualizar.
      + Se quiser atualizar para uma versão anterior à última versão disponível, substitua *latest* pelo número de versão retornado na saída da etapa anterior que você deseja usar. Alguns complementos têm versões recomendadas. Para obter mais informações, consulte a documentação do complemento que você está atualizando. Para obter uma lista de complementos, consulte a seção chamada [Complementos da AWS](workloads-add-ons-available-eks.md).**\$1** Se o complemento usar uma conta de serviço do Kubernetes e um perfil do IAM, substitua *111122223333* pelo ID da sua conta e *role-name* pelo nome de um perfil do IAM existente que você tenha criado. Para obter instruções para criar o perfil, consulte a documentação do complemento que você está criando. Para obter uma lista de complementos, consulte [Complementos da AWS](workloads-add-ons-available-eks.md). A especificação de um perfil da conta de serviço exige que você tenha um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um para o seu cluster, consulte [Criar um provedor de identidade OIDC do IAM para o cluster](enable-iam-roles-for-service-accounts.md).

        Se o complemento não usar uma conta de serviço do Kubernetes e um perfil do IAM, exclua a linha `serviceAccountRoleARN: arn:aws:iam::111122223333:role/role-name `.
      + A opção *preserve* (manter) mantém os valores existentes para o complemento. Se você definiu valores personalizados para as configurações do complemento e não usar essa opção, o Amazon EKS sobrescreverá seus valores pelos valores padrão. Se você usar essa opção, recomendamos testar qualquer alteração de campo e valor em um cluster que não seja de produção antes de atualizar o complemento no cluster de produção. Se você alterar esse valor para `overwrite`, todas as configurações serão alteradas para os valores padrão do Amazon EKS. Se você definiu valores personalizados para qualquer configuração, eles poderão ser sobrescritos pelos valores padrão do Amazon EKS. Se você alterar esse valor para `none`, o Amazon EKS não alterará o valor de nenhuma configuração, mas a atualização poderá falhar. Se a atualização falhar, você receberá uma mensagem de erro para ajudar a resolver o conflito.

        ```
        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. Execute o comando modificado para criar o arquivo `update-addon.yaml`.

   1. Aplique o arquivo de configuração ao cluster.

      ```
      eksctl update addon -f update-addon.yaml
      ```

   Para obter mais informações sobre atualização de complementos, consulte [Atualizar complementos](https://eksctl.io/usage/addons/#updating-addons) na documentação do `eksctl`.

## Atualizar complemento (console do AWS)
<a name="update_add_on_shared_aws_console"></a>

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

1. No painel de navegação à esquerda, escolha **Clusters**.

1. Escolha o nome do cluster para o qual você deseja atualizar o complemento..

1. Escolha a guia **Add-ons** (Complementos).

1. Escolha o complemento que deseja atualizar.

1. Escolha **Editar**.

1. Na **página Configurar *nome do complemento* **, faça o seguinte:

   1. Selecione a **Versão** que você deseja usar. O complemento pode ter uma versão recomendada. Para obter mais informações, consulte a documentação do complemento que você está atualizando. Para obter uma lista de complementos, consulte [Complementos da AWS](workloads-add-ons-available-eks.md).

   1. Há duas opções para configurar perfis para complementos: perfil do IAM das Identidade de Pods do EKS e perfis do IAM para contas de serviço (IRSA). Siga a etapa apropriada para sua opção preferida abaixo. Se todos os complementos que você selecionou mostrarem **Exige assinatura** em **Status**, selecione **Próximo**. Para os complementos que não mostram **Exige assinatura** em **Status**, faça o seguinte:

      1. Para **Perfil do IAM de Identidade de Pods para a conta de serviço**, é possível usar um perfil do IAM de Identidade de Pods do EKS existente ou criar um usando o botão **Criar perfil recomendado**. Esse campo só fornecerá opções com a política de confiança apropriada. Quando não há nenhum perfil para seleção, é porque você não tem nenhum perfil existente com uma política de confiança correspondente. Para configurar um perfil do IAM de Identidade de Pods do EKS para contas de serviço do complemento selecionado, escolha **Criar perfil recomendado**. O assistente de criação de perfis se abrirá em uma janela separada. O assistente preencherá automaticamente as informações do perfil da maneira a seguir. Para cada complemento em que você deseja criar o perfil do IAM de Identidade de Pods do EKS, conclua as etapas no assistente do IAM da forma a seguir.
         + Na etapa **Selecionar entidade confiável**, a opção de serviço da AWS para o **EKS** e o caso de uso para **EKS: Identidade de Pods** já vêm selecionados previamente, e a política de confiança apropriada será preenchida automaticamente para o complemento. Por exemplo, o perfil será criado com a política de confiança apropriada contendo a entidade principal do IAM pods.eks.amazonaws.com, conforme detalhado em [Benefícios dos EKS Pod Identities](pod-identities.md#pod-id-benefits). Escolha **Próximo**.
         + Na etapa **Adicionar permissões**, a política gerenciada apropriada para a política de perfil é pré-selecionada para o complemento. Por exemplo, para o complemento CNI da Amazon VPC, o perfil será criado com a política gerenciada `AmazonEKS_CNI_Policy`, conforme detalhado em [Plug-in CNI da Amazon VPC para Kubernetes](workloads-add-ons-available-eks.md#add-ons-vpc-cni). Escolha **Próximo**.
         + Na etapa **Nomear, revisar e criar**, em **Nome do perfil**, o nome do perfil padrão é preenchido automaticamente para o complemento. Por exemplo, para o complemento **CNI da Amazon VPC**, o perfil será criado com a o nome **AmazonEKSPodIdentityAmazonVPCCNIRole**. Em **Descrição**, a descrição padrão é preenchida automaticamente com a descrição apropriada para o complemento. Por exemplo, para o complemento CNI do Amazon VPC, o perfil será criado com a descrição **Permite que pods em execução no cluster Amazon EKS acessem recursos da AWS**. Em **Política de confiança**, visualize a política de confiança preenchida para o complemento. Selecione **Criar perfil**.
**nota**  
Manter o nome do perfil padrão permite que o EKS pré-selecione o perfil para complementos em novos clusters ou ao adicionar complementos a clusters existentes. Você ainda pode substituir esse nome, e o perfil estará disponível para o complemento em seus clusters, mas o perfil precisará ser selecionado manualmente no menu suspenso.

      1. Para complementos que não tenham **Requer assinatura** em seu **Status** e para os quais você deseja configurar perfis usando o IRSA, consulte a documentação do complemento que você está criando para criar uma política do IAM e anexá-la a um perfil. Para obter uma lista de complementos, consulte [Complementos da AWS](workloads-add-ons-available-eks.md). Para selecionar um perfil do IAM, você precisa ter um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um para o seu cluster, consulte [Criar um provedor de identidade OIDC do IAM para o cluster](enable-iam-roles-for-service-accounts.md).

   1. Expanda **Definições de configuração opcionais**.

   1. Em **Valores de configuração**, insira informações de configuração específica do complemento. Para obter mais informações, consulte a documentação do complemento que você está atualizando. Para obter uma lista de complementos, consulte [Complementos da AWS](workloads-add-ons-available-eks.md). .. Para **Método de resolução de conflitos**, selecione uma das opções. Se você definiu valores personalizados para as configurações do complemento, recomendamos escolher a opção **Preserve** (Manter). Se você não escolher essa opção, o Amazon EKS sobrescreverá seus valores com os valores padrão. Se você usar essa opção, recomendamos testar qualquer alteração de campo e valor em um cluster que não seja de produção antes de atualizar o complemento no cluster de produção. Se você alterar esse valor para overwrite, todas as configurações serão alteradas para os valores padrão do Amazon EKS. Se você definiu valores personalizados para qualquer configuração, eles poderão ser sobrescritos pelos valores padrão do Amazon EKS. Se você alterar esse valor para none, o Amazon EKS não vai alterar o valor de nenhuma configuração, mas a atualização poderá falhar. Se a atualização falhar, você receberá uma mensagem de erro para ajudar a resolver o conflito.

1. Escolha **Salvar alterações**.

## Atualizar complemento (AWS CLI)
<a name="update_add_on_shared_aws_cli"></a>

1. Você precisa da versão `2.12.3` ou posterior ou da versão `1.27.160` ou posterior da AWS Command Line Interface (AWS CLI) instalada e configurada no seu dispositivo ou no AWS CloudShell. Para verificar sua versão atual, use `aws --version | cut -d / -f2 | cut -d ' ' -f1`. Os gerenciadores de pacotes, como `yum`, `apt-get` ou Homebrew para macOS, geralmente estão várias versões atrás da versão mais recente da AWS CLI. Para instalar a versão mais recente, consulte [Installing](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) e [Quick configuration with aws configure](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config), no *Guia do usuário da AWS Command Line Interface*. A versão da AWS CLI instalada no AWS CloudShell também pode estar várias versões atrás da versão mais recente. Para atualizá-lo, consulte [Instalar a AWS CLI no seu diretório pessoal](https://docs.aws.amazon.com/cloudshell/latest/userguide/vm-specs.html#install-cli-software), no * Guia do usuário do AWS CloudShell*.

1. Veja uma lista de complementos instalados. Substitua *my-cluster* pelo nome do cluster.

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

   Veja abaixo um exemplo de saída.

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

1. Visualize a versão atual do complemento que você deseja atualizar. Substitua *my-cluster* pelo nome do cluster e *vpc-cni* pelo nome do complemento que você deseja atualizar.

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

   Veja abaixo um exemplo de saída.

   ```
   v1.10.4-eksbuild.1
   ```

1. Determine quais versões do complemento estão disponíveis para a versão do cluster. Substitua *1.35* pela versão do seu cluster e *vpc-cni* pelo nome do complemento que você deseja atualizar.

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

   Veja abaixo um exemplo de saída.

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

   A versão com `True` na coluna `Defaultversion` é a versão com a qual o complemento foi criado, por padrão.

1. Atualize seu complemento. Copie o conteúdo a seguir no seu dispositivo. Faça as seguintes modificações no comando, conforme necessário, e execute o comando modificado. Para obter mais informações sobre esse comando, consulte [update-complemento](https://docs.aws.amazon.com/cli/latest/reference/eks/update-addon.html) na Referência de linha de comando do Amazon EKS.
   + Substitua *my-cluster* pelo nome do cluster.
   + Substitua *vpc-cni* pelo nome do complemento que você deseja atualizar e que foi retornado na saída de uma etapa anterior.
   + Substitua *o número da versão* pela versão retornada na saída da etapa anterior para a qual você deseja atualizar. Alguns complementos têm versões recomendadas. Para obter mais informações, consulte a documentação do complemento que você está atualizando. Para obter uma lista de complementos, consulte a seção chamada [Complementos da AWS](workloads-add-ons-available-eks.md).**\$1** Se o complemento usar uma conta de serviço do Kubernetes e um perfil do IAM, substitua *111122223333* pelo ID da sua conta e *role-name* pelo nome de um perfil do IAM existente que você tenha criado. Para obter instruções para criar o perfil, consulte a documentação do complemento que você está criando. Para obter uma lista de complementos, consulte [Complementos da AWS](workloads-add-ons-available-eks.md). A especificação de um perfil da conta de serviço exige que você tenha um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um para o seu cluster, consulte [Criar um provedor de identidade OIDC do IAM para o cluster](enable-iam-roles-for-service-accounts.md).

     Se o complemento não usar uma conta de serviço do Kubernetes e um perfil do IAM, exclua a linha `serviceAccountRoleARN: arn:aws:iam::111122223333:role/role-name `.
   + A opção `--resolve-conflicts PRESERVE` mantém os valores existentes para o complemento. Se você definiu valores personalizados para as configurações do complemento e não usar essa opção, o Amazon EKS sobrescreverá seus valores pelos valores padrão. Se você usar essa opção, recomendamos testar qualquer alteração de campo e valor em um cluster que não seja de produção antes de atualizar o complemento no cluster de produção. Se você alterar esse valor para `OVERWRITE`, todas as configurações serão alteradas para os valores padrão do Amazon EKS. Se você definiu valores personalizados para qualquer configuração, eles poderão ser sobrescritos pelos valores padrão do Amazon EKS. Se você alterar esse valor para `NONE`, o Amazon EKS não alterará o valor de nenhuma configuração, mas a atualização poderá falhar. Se a atualização falhar, você receberá uma mensagem de erro para ajudar a resolver o conflito.
   + Se quiser remover todas as configurações personalizadas, execute a atualização usando a opção *--configuration-values '\$1\$1'*. Isso definirá todas as configurações personalizadas aos valores padrão. Se você não quiser alterar sua configuração personalizada, não forneça o sinalizador *--configuration-values*. Se você quiser ajustar uma configuração personalizada, substitua *\$1\$1* pelos novos 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. Verifique o status da atualização. Substitua *my-cluster* pelo nome do seu cluster e *vpc-cni* pelo nome do complemento que está atualizando.

   ```
   aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni
   ```

   Veja abaixo um exemplo de saída.

   ```
   {
       "addon": {
           "addonName": "vpc-cni",
           "clusterName": "my-cluster",
           "status": "UPDATING",
       }
   }
   ```

   Quando a atualização estiver concluída, o status será `ACTIVE`.

# Verificar a compatibilidade da versão do complemento do Amazon EKS com um cluster
<a name="addon-compat"></a>

Antes de criar um complemento do Amazon EKS, é necessário verificar se a versão do complemento do Amazon EKS é compatível com seu cluster.

Use a [API describe-addon-versions](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html) para listar as versões disponíveis dos complementos do EKS e quais versões do Kubernetes são compatíveis com cada versão do complemento.

1. Verifique se a AWS CLI está instalada e funcionando com o `aws sts get-caller-identity`. Se esse comando não funcionar, saiba como [começar a usar a AWS CLI.](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) 

1. Determine o nome do complemento para o qual você deseja recuperar as informações de compatibilidade de versão, por exemplo, `amazon-cloudwatch-observability`.

1. Determine a versão do Kubernetes do seu cluster, por exemplo, `1.35`.

1. Use a AWS CLI para recuperar as versões de complemento compatíveis com a versão do Kubernetes do seu cluster.

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

   Veja abaixo um exemplo de saída.

   ```
   {
       "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
                           }
                       ],
                   }
               ]
           }
       ]
   }
   ```

   Essa saída mostra que a versão do complemento `vX.X.X-eksbuild.X` é compatível com o cluster do Kubernetes versão `1.35`.

## Compatibilidade de complementos com tipos de computação
<a name="_add_on_compatibility_with_compute_types"></a>

O campo `computeTypes` na saída `describe-addon-versions` indica a compatibilidade de um complemento com os nós híbridos ou gerenciados pelo Modo Automático do EKS. Os complementos marcados como `auto` funcionam com a infraestrutura baseada em nuvem gerenciada pela AWS do Modo Automático do EKS, enquanto os marcados como `hybrid` podem ser executados em nós on-premises conectados ao ambiente de gerenciamento em nuvem do EKS.

Para obter mais informações, consulte [Considerações sobre o Modo automático do Amazon EKS](eks-add-ons.md#addon-consider-auto).

# Remover um complemento do Amazon EKS de um cluster
<a name="removing-an-add-on"></a>

Você pode remover um complemento do Amazon EKS do seu cluster usando `eksctl`, Console de gerenciamento da AWS ou AWS CLI.

Quando um complemento do Amazon EKS é removido de um cluster:
+ Não há tempo de inatividade para a funcionalidade que o complemento fornece.
+ Se estiver usando Perfis do IAM para contas de serviço (IRSA) e não houver um perfil do IAM associado ao complemento, o perfil do IAM não será removido.
+ Se você estiver usando identidades de pods, todas as associações de identidades de pods pertencentes ao complemento serão removidas. Se você especificar a opção `--preserve` na AWS CLI, as associações serão preservadas.
+ O Amazon EKS deixará de gerenciar as configurações do complemento.
+ O console deixará de notificar você quando novas versões estão disponíveis.
+ Você não poderá atualizar o complemento usando nenhuma das ferramentas ou APIs da AWS.
+ Você pode optar por deixar o software complementar no cluster para que ele seja autogerenciado ou pode remover o software complementar do cluster. Você só deverá remover o software complementar do cluster se não houver nenhum recurso no cluster que dependa da funcionalidade fornecida pelo complemento.

## Pré-requisitos
<a name="removing-an-add-on-prereq"></a>

Antes de criar um complemento, faça o seguinte:
+ Um cluster existente do Amazon EKS. Para implantar, consulte [Começar a usar o Amazon EKS](getting-started.md).
+ Verifique se o complemento exige um perfil do IAM. Para obter mais informações, consulte
+ Versão `0.215.0` ou posterior da ferramenta de linha de comando da `eksctl` instalada no seu dispositivo ou AWS CloudShell. Para instalar ou atualizar o `eksctl`, consulte [Instalação](https://eksctl.io/installation) na documentação do `eksctl`.

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

Você tem duas opções ao remover um complemento do Amazon EKS.
+  **Preserve add-on software on your cluster** (Preservar software de complemento no cluster): esta opção remove o gerenciamento do Amazon EKS de qualquer configuração. Também remove a capacidade do Amazon EKS de notificar você sobre atualizações e de atualizar automaticamente o complemento do Amazon EKS depois de iniciar uma atualização. No entanto, ele preserva o software de complemento em seu cluster. Essa opção torna o complemento em uma instalação autogerenciada, em vez de um complemento do Amazon EKS. Com essa opção, não há tempo de inatividade para o complemento.
+  **Remover completamente o software do complemento do cluster**: recomendamos remover o complemento do Amazon EKS do cluster se não houver recursos no cluster que dependam dele.

Você pode remover um complemento do Amazon EKS usando `eksctl`, Console de gerenciamento da AWS ou AWS CLI.

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

1. Determine quais são os complementos instalados atualmente no cluster. Substitua *my-cluster* pelo nome do cluster.

   ```
   eksctl get addon --cluster my-cluster
   ```

   Veja abaixo um exemplo de saída.

   ```
   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
   [...]
   ```

   Sua saída pode ser diferente, dependendo dos complementos e versões que você tiver no cluster.

1. Remova o complemento. Substitua *my-cluster* pelo nome do seu cluster e *name-of-complemento* pelo nome do complemento retornado na saída da etapa anterior que você deseja remover. Se você remover a opção *--preserve*, além de o Amazon EKS não gerenciar mais o complemento, o software do complemento será excluído do cluster.

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

   Para obter mais informações sobre a remoção de complementos, consulte [Excluir complementos](https://eksctl.io/usage/addons/#deleting-addons) na documentação do `eksctl`.

### Remover o complemento (Console do AWS)
<a name="remove_add_on_shared_aws_console"></a>

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

1. No painel de navegação à esquerda, escolha **Clusters**.

1. Escolha o nome do cluster para o qual você deseja remover o complemento do Amazon EKS.

1. Escolha a guia **Add-ons** (Complementos).

1. Escolha o complemento que deseja remover.

1. Escolha **Remover**.

1. Na caixa de diálogo **Remover: *nome do complemento* de confirmação **, faça o seguinte:

   1. Se quiser que o Amazon EKS pare de gerenciar as configurações do complemento, selecione **Preservar no cluster**. Faça isso se quiser manter o software de complemento em seu cluster. Isso serve para que você possa gerenciar todas as configurações do complemento por conta própria.

   1. Insira o nome do complemento.

   1. Escolha **Remover**.

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

1. Você precisa da versão `0.215.0` ou posterior da ferramenta de linha de comando da `eksctl` instalada no seu dispositivo ou AWS CloudShell. Para instalar ou atualizar o `eksctl`, consulte [Instalação](https://eksctl.io/installation) na documentação do `eksctl`.

1. Veja uma lista de complementos instalados. Substitua *my-cluster* pelo nome do cluster.

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

   Veja abaixo um exemplo de saída.

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

1. Remova o complemento instalado. Substitua *my-cluster* pelo nome do seu cluster e *name-of-complemento* pelo nome do complemento que você deseja remover. A remoção de *--preserve* exclui o software complementar do seu cluster.

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

   Veja o exemplo de saída abreviado abaixo.

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

1. Verifique o status da remoção. Substitua *my-cluster* pelo nome do seu cluster e *name-of-complemento* pelo nome do complemento que você está removendo.

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

   Após a exclusão do complemento, a saída de exemplo será semelhante a esta.

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

# Perfis do IAM para complementos do Amazon EKS
<a name="add-ons-iam"></a>

Alguns complementos do Amazon EKS precisam de permissões e perfis do IAM para chamar APIs da AWS. Por exemplo, o complemento CNI da Amazon VPC chama determinadas APIs da AWS para configurar recursos de rede na sua conta. Esses complementos precisam receber permissão usando o IAM. Mais especificamente, a conta de serviço do pod que executa o complemento precisa estar associada a um perfil do IAM com uma política do IAM específica.

A forma recomendada de conceder permissões da AWS para workloads de cluster é usando o recurso Identidades de Pods do Amazon EKS. Você pode usar uma **Associação de identidade de pods** para mapear a conta de serviço de um complemento para um perfil do IAM. Se um pod usa uma conta de serviço que tem uma associação, o Amazon EKS define variáveis de ambiente nos contêineres do pod. As variáveis de ambiente configuram os SDKs da AWS, incluindo a AWS CLI, para usar as credenciais de Identidade de pods do EKS. Para ter mais informações, consulte [Saiba como a Identidade de Pods do EKS concede aos pods acesso aos serviços da AWS](pod-identities.md). 

Os complementos do Amazon EKS podem ajudar a gerenciar o ciclo de vida das associações de identidades de pods correspondentes ao complemento. Por exemplo, você pode criar ou atualizar um complemento do Amazon EKS e a associação de identidade de pods necessária em uma única chamada de API. O Amazon EKS também fornece uma API para recuperar políticas do IAM sugeridas.

1. Confirme se o [agente de identidade de pods do Amazon EKS](pod-id-agent-setup.md) está configurado no cluster.

1. Determine se o complemento que você deseja instalar requer permissões do IAM usando a operação `describe-addon-versions` da AWS CLI. Se o sinalizador `requiresIamPermissions` for `true`, você deverá usar a operação `describe-addon-configurations` para determinar as permissões necessárias para o complemento. A resposta inclui uma lista sugerida de políticas do IAM gerenciadas.

1. Recupere o nome da conta do serviço Kubernetes e a política do IAM sugerida usando a operação `describe-addon-configuration` da CLI. Avalie o escopo da política sugerida em relação aos seus requisitos de segurança.

1. Crie um perfil do IAM usando a política de permissões sugerida e a política de confiança exigida pela Identidade de Pod. Para ter mais informações, consulte [Criar uma associação de identidade de pod (console do AWS )](pod-id-association.md#pod-id-association-create).

1. Crie ou atualize um complemento do Amazon EKS usando a CLI. Especifique pelo menos uma associação de identidade de pods. Uma associação de identidade de pods é o nome de uma conta de serviço do Kubernetes e o ARN do perfil do IAM.
   + Associações de identidades de pods criadas usando as APIs do complemento pertencem ao respectivo complemento. Se você excluir o complemento, a associação de identidade de pods também será excluída. Você pode evitar essa exclusão em cascata usando a opção `preserve` ao excluir um complemento usando a AWS CLI ou a API. Também é possível atualizar ou excluir diretamente a associação de identidade de pods, se necessário. Os complementos não podem assumir a propriedade de associações de identidades de pods existentes. Você deve excluir a associação existente e recriá-la usando uma operação de criação ou atualização de complemento.
   + O Amazon EKS recomenda o uso de associações de identidades de pods para gerenciar permissões do IAM para complementos. O método anterior, perfis do IAM para contas de serviço (IRSA), ainda é compatível. Você pode especificar um `serviceAccountRoleArn` do IRSA e uma associação de identidade de pods para um complemento. Se o agente de identidade de pods do EKS estiver instalado no cluster, `serviceAccountRoleArn` será ignorado, e o EKS usará a associação de identidade de pods fornecida. Se a Identidade de Pods não estiver habilitada, `serviceAccountRoleArn` será usado.
   + Se você atualizar as associações de identidades de pods para um complemento existente, o Amazon EKS iniciará uma reinicialização contínua dos pods do complemento.

# Recuperar informações do IAM sobre um complemento do Amazon EKS
<a name="retreive-iam-info"></a>

Antes de criar um complemento, use a AWS CLI para determinar:
+ Se o complemento requer permissões do IAM
+ A política de IAM sugerida para uso

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

1. Determine o nome do complemento que você deseja instalar e a versão Kubernetes do seu cluster. Para obter mais informações sobre complementos, consulte [Complementos do Amazon EKS](eks-add-ons.md).

1. Use a AWS CLI para determinar se o complemento requer permissões do IAM.

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

   Por exemplo:

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

   Analise o seguinte exemplo de saída. Observe que `requiresIamPermissions` é `true` e a versão padrão do complemento. Você precisa especificar a versão do complemento ao recuperar a política do 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. Se o complemento exigir permissões do IAM, use a AWS CLI para obter uma política do IAM recomendada.

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

   Por exemplo:

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

   Analise a seguinte saída. Anote o `recommendedManagedPolicies`.

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

1. Crie um perfil do IAM e anexe a Política gerenciada recomendada. Como alternativa, revise a política gerenciada e defina o escopo das permissões conforme apropriado. Para obter mais informações, consulte [Criar uma associação de identidade de pod (console do AWS )](pod-id-association.md#pod-id-association-create).

## Referência de suporte de Identidade de Pods
<a name="pod-id-add-on-versions"></a>

A tabela a seguir indica se determinados complementos do Amazon EKS oferecem suporte à Identidade de Pods do EKS.


| Nome do complemento | Suporte para Identidade de Pods | Versão mínima exigida | 
| --- | --- | --- | 
|   [Driver da CSI do Amazon EBS](workloads-add-ons-available-eks.md#add-ons-aws-ebs-csi-driver)   |  Sim  |  v1.26.0-eksbuild.1  | 
|   [CNI da Amazon VPC](workloads-add-ons-available-eks.md#add-ons-vpc-cni)   |  Sim  |  v1.15.5-eksbuild.1  | 
|   [Amazon EFS CSI Driver](workloads-add-ons-available-eks.md#add-ons-aws-efs-csi-driver)   |  Sim  |  v2.0.5-eksbuild.1  | 
|   [AWS Distro para OpenTelemetry](workloads-add-ons-available-eks.md#add-ons-adot)   |  Sim  |  v0.94.1-eksbuild.1  | 
|   [Driver da CSI do Mountpoint para Amazon S3](workloads-add-ons-available-eks.md#mountpoint-for-s3-add-on)   |  Não  |  N/D  | 
|   [Agente de observabilidade do Amazon CloudWatch](workloads-add-ons-available-eks.md#amazon-cloudwatch-observability)   |  Sim  |  v3.1.0-eksbuild.1  | 

Essa tabela foi atualizada pela última vez em 28 de outubro de 2024.

# Usar identidades de Pods para atribuir um perfil do IAM a um complemento do Amazon EKS
<a name="update-addon-role"></a>

Alguns complementos do Amazon EKS precisam de permissões e perfis do IAM. Antes de adicionar e atualizar um complemento do Amazon EKS para usar uma associação de identidade de pods, verifique o perfil e a política a serem usados. Para ter mais informações, consulte [Recuperar informações do IAM sobre um complemento do Amazon EKS](retreive-iam-info.md).

1. Determine:
   +  `cluster-name`: o nome do cluster no qual o complemento será instalado.
   +  `addon-name`: o nome do complemento a ser instalado.
   +  `service-account-name`: o nome da conta do serviço Kubernetes usada pelo complemento.
   +  `iam-role-arn`: o ARN de um perfil do IAM com permissões suficientes para o complemento. O perfil deve ter a política de confiança necessária para a identidade de pods do EKS. Para ter mais informações, consulte [Criar uma associação de identidade de pod (console do AWS )](pod-id-association.md#pod-id-association-create).

1. Atualize o complemento usando a AWS CLI. Também é possível especificar associações de identidades de pods ao criar um complemento usando a mesma sintaxe `--pod-identity-assocations`. Observe que, quando você especifica associações de identidades de pods ao atualizar um complemento, todas as associações anteriores de identidades de pods são substituídas.

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

   Por exemplo:

   ```
   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. Valide se a associação de identidade de pods foi criada:

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

   Se for bem-sucedido, você deve ver uma saída semelhante à seguinte. Observe o OwnerARN do complemento do 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"
           }
       ]
   }
   ```

# Remover associações de identidades de pods de um complemento do Amazon EKS
<a name="remove-addon-role"></a>

Remova as associações de identidades de pods de um complemento do Amazon EKS.

1. Determine:
   +  `cluster-name`: o nome do cluster EKS no qual instalar o complemento.
   +  `addon-name`: o nome do complemento do Amazon EKS a ser instalado.

1. Atualize o complemento para especificar uma matriz vazia de associações de identidades de pods.

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

# Solucionar problemas de identidades de pods para complementos do EKS
<a name="addon-id-troubleshoot"></a>

Se os seus complementos estiverem encontrando erros ao tentar operações da API, do SDK ou da AWS CLI, verifique se:
+ O Agente de identidade de pods está instalado no seu cluster.
  + Para obter informações sobre como instalar o Pod Identity Agent, consulte [Configurar o atndente do Identidade de Pods do Amazon EKS](pod-id-agent-setup.md).
+ O complemento tem uma associação de identidade de pods válida.
  + Use a AWS CLI para recuperar as associações do nome da conta de serviço usada pelo complemento.

    ```
    aws eks list-pod-identity-associations --cluster-name <cluster-name>
    ```
+ O perfil do IAM tem a política de confiança necessária para as identidades de pods.
  + Use a AWS CLI para recuperar a política de confiança de um complemento.

    ```
    aws iam get-role --role-name <role-name> --query Role.AssumeRolePolicyDocument
    ```
+ O perfil do IAM tem as permissões necessárias para o complemento.
  + Use o AWS CloudTrail para rever eventos do `AccessDenied` ou `UnauthorizedOperation`.
+ O nome da conta de serviço na associação de identidade de pods corresponde ao nome da conta de serviço usado pelo complemento.
  + Para obter informações sobre os complementos disponíveis, consulte [Complementos da AWS](workloads-add-ons-available-eks.md).
+ Verifique a configuração de MutatingWebhookConfiguration denominada `pod-identity-webhook` 
  +  As `admissionReviewVersions` do webhook precisam ser `v1beta1` e não funcionam com a `v1`.

# Determinar os campos que podem ser personalizados para os complementos do Amazon EKS
<a name="kubernetes-field-management"></a>

Os complementos do Amazon EKS são instalados no cluster usando as configurações padrão de prática recomendada. Para obter mais informações sobre como adicionar um complemento do Amazon EKS ao cluster, consulte [Complementos do Amazon EKS](eks-add-ons.md).

Talvez você queira personalizar a configuração de um complemento do Amazon EKS para habilitar recursos avançados. O Amazon EKS usa o recurso de aplicação do lado do servidor do Kubernetes para habilitar o gerenciamento de um complemento pelo Amazon EKS sem substituir a configuração por configurações que não são gerenciadas pelo Amazon EKS. Para obter mais informações, consulte [Server Side Apply](https://kubernetes.io/docs/reference/using-api/server-side-apply/) na documentação do Kubernetes. Para isso, o Amazon EKS gerencia um conjunto mínimo de campos para cada complemento instalado. Você poderá modificar todos os campos que não forem gerenciados pelo Amazon EKS ou outro processo do ambiente de gerenciamento do Kubernetes, como o `kube-controller-manager`, sem problemas.

**Importante**  
A modificação de um campo gerenciado pelo Amazon EKS impede que o Amazon EKS gerencie o complemento e pode resultar na substituição das alterações quando um complemento for atualizado.

## Sintaxe do gerenciamento de campos
<a name="add-on-config-management-understanding-field-management"></a>

Quando você visualiza os detalhes de um objeto do Kubernetes, tanto os campos gerenciados quanto os não gerenciados são retornados na saída. Os campos gerenciados podem ser de um dos seguintes tipos:
+  **Fully managed (Totalmente gerenciado)** – Todas as chaves para o campo são gerenciadas pelo Amazon EKS. Modificações em qualquer valor neste campo geram conflito.
+  **Partially managed (Parcialmente gerenciado)** – Algumas chaves para o campo são gerenciadas pelo Amazon EKS. Somente modificações nas chaves gerenciadas explicitamente pelo Amazon EKS geram conflito.

Ambos os tipos de campos são marcados com `manager: eks`.

Cada chave é um `.` que representa o próprio campo, que sempre mapeia para um conjunto vazio, ou uma string que representa um subcampo ou item. A saída para o gerenciamento de campo consiste nos seguintes tipos de declarações:
+  `f:name ` onde *name* é o nome de um campo em uma lista.
+  `k:keys ` em que *keys* é um mapa dos campos de um item de lista.
+  `v:value ` em que *value* é o valor exato formatado em JSON de um item da lista.
+  `i:index ` onde *o índice* é a posição de um item na lista.

As seguintes partes do resultado para o complemento CoreDNS ilustram as declarações anteriores:
+  **Fully managed fields (Campos totalmente gerenciados)** – Se um campo gerenciado tiver um (campo) `f:` especificado, mas não `k:` (chave), todo o campo é gerenciado. Modificações em quaisquer valores neste campo causam um conflito.

  No resultado a seguir, é possível ver que o contêiner chamado `coredns` é gerenciado pelo `eks`. Os subcampos `args`, `image` e `imagePullPolicy` também são gerenciados pelo `eks`. Modificações em qualquer valor nesse campo geram conflito.

  ```
  [...]
  f:containers:
    k:{"name":"coredns"}:
    .: {}
    f:args: {}
    f:image: {}
    f:imagePullPolicy: {}
  [...]
  manager: eks
  [...]
  ```
+  **Partially managed fields (campos parcialmente gerenciados)** – Se uma chave gerenciada tiver um valor especificado, as chaves declaradas são gerenciadas para esse campo. A modificação das chaves especificadas gera conflito.

  No resultado a seguir, é possível ver que o `eks` gerencia os volumes `config-volume` e `tmp`, definidos com a chave `name`.

  ```
  [...]
  f:volumes:
    k:{"name":"config-volume"}:
      .: {}
      f:configMap:
        f:items: {}
        f:name: {}
      f:name: {}
    k:{"name":"tmp"}:
      .: {}
      f:name: {}
  [...]
  manager: eks
  [...]
  ```
+  **Adição de chaves em campos gerenciados parcialmente** – Se apenas um valor de chave específico for gerenciado, você pode adicionar, com segurança, mais chaves, como, por exemplo, argumentos, em um campo sem gerar conflito. Se você adicionar outras chaves, certifique-se de que o campo não seja gerenciado primeiro. Adicionar ou modificar qualquer valor gerenciado causa um conflito.

  No resultado a seguir, é possível ver que tanto a chave do `name`, quando o `name` são gerenciados. Adicionar ou modificar qualquer nome de contêiner causa um conflito com essa chave gerenciada.

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

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

Você pode usar o `kubectl` para ver quais campos são gerenciados pelo Amazon EKS para qualquer complemento do Amazon EKS.

Você poderá modificar todos os campos que não forem gerenciados pelo Amazon EKS ou outro processo do ambiente de gerenciamento do Kubernetes, como o `kube-controller-manager`, sem problemas.

1. Determine qual complemento você deseja examinar. Para ver todas as `deployments` e os DaemonSets implantados no cluster, consulte [Visualize os recursos do Kubernetes na seção Console de gerenciamento da AWS](view-kubernetes-resources.md).

1. Exiba os campos gerenciados para um complemento executando o seguinte comando:

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

   Por exemplo, você pode ver os campos gerenciados do complemento CoreDNS com o comando a seguir.

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

   O gerenciamento de campo é listado na seção a seguir no resultado retornado.

   ```
   [...]
   managedFields:
     - apiVersion: apps/v1
       fieldsType: FieldsV1
       fieldsV1:
   [...]
   ```
**nota**  
Se a saída não exibir `managedFields`, adicione `--show-managed-fields` ao comando e execute-o novamente. A versão do `kubectl` que você está usando determina se os campos gerenciados serão retornados por padrão.

## Próximas etapas
<a name="view-field-management-next-steps"></a>

Personalize os campos não pertencentes à AWS para seu complemento.