

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

# Comparação da funcionalidade do EKS para o ACK em relação ao ACK autogerenciado
<a name="ack-comparison"></a>

A funcionalidade do EKS para o ACK é equivalente à dos controladores do ACK autogerenciados, porém apresenta vantagens operacionais significativas. Para obter uma comparação geral das funcionalidades do EKS em relação às soluções autogerenciadas, consulte [Considerações sobre as funcionalidades do EKS](capabilities-considerations.md). Este tópico se concentra nas diferenças específicas do ACK.

## Diferenças em relação à versão original do ACK
<a name="_differences_from_upstream_ack"></a>

A funcionalidade do EKS para o ACK se baseia na versão original dos controladores do ACK, porém apresenta diferenças na integração com o IAM.

 **Perfil da funcionalidade do IAM**: a funcionalidade usa um perfil do IAM dedicado com uma política de confiança que permite o serviço `capabilities.eks.amazonaws.com` da entidade principal, e não o IRSA (perfis do IAM para contas de serviços). É possível anexar políticas do IAM diretamente ao perfil da funcionalidade, sem a necessidade de criar ou anotar contas de serviços do Kubernetes ou configurar provedores OIDC. Uma prática recomendada para casos de uso em ambientes de produção é configurar permissões de serviços usando o `IAMRoleSelector`. Consulte [Configuração das permissões do ACK](ack-permissions.md) para obter mais detalhes.

 **Tags de sessão**: o recurso gerenciado define automaticamente as tags de sessão em todas as solicitações da AWS API, permitindo controle de acesso e auditoria refinados. As tags incluem `eks:eks-capability-arn`, `eks:kubernetes-namespace` e `eks:kubernetes-api-group`. Isso difere do ACK autogerenciado, que não define essas tags por padrão. Consulte [Configuração das permissões do ACK](ack-permissions.md) para obter detalhes sobre o uso de tags de sessão nas políticas do IAM.

 **Tags de recursos**: a funcionalidade aplica tags padrão diferentes aos recursos da AWS do ACK autogerenciado. O recurso usa tags prefixadas `eks:` (como`eks:kubernetes-namespace`, `eks:eks-capability-arn`) em vez das tags `services.k8s.aws/` usadas pelo ACK autogerenciado. Consulte [Considerações sobre o ACK para o EKS](ack-considerations.md) para obter a lista completa das tags de recursos padrão.

 **Compatibilidade de recursos**: os recursos personalizados do ACK funcionam de forma idêntica à versão original do ACK, sem a necessidade de alterações nos arquivos YAML de recursos do ACK. A funcionalidade usa as mesmas APIs do Kubernetes e CRDs, portanto, ferramentas como o `kubectl` funcionam de maneira semelhante. Todos os controladores e recursos em disponibilidade geral (GA, na sigla em inglês) da versão original do ACK são compatíveis.

Para obter a documentação completa do ACK e os guias específicos dos serviços, consulte a [documentação do ACK](https://aws-controllers-k8s.github.io/community/).

## Caminho de migração
<a name="_migration_path"></a>

É possível migrar de um ACK autogerenciado para a funcionalidade gerenciada sem tempo de inatividade:

1. Atualize o controlador do ACK autogerenciado para usar `kube-system` para concessões de eleição de líder, por exemplo:

   ```
   helm upgrade --install ack-s3-controller \
     oci://public.ecr.aws/aws-controllers-k8s/s3-chart \
     --namespace ack-system \
     --set leaderElection.namespace=kube-system
   ```

   Isso transfere a concessão do controlador para o `kube-system`, permitindo que a funcionalidade gerenciada se coordene com ele.

1. Crie a funcionalidade do ACK no cluster (consulte [Criação de uma funcionalidade do ACK](create-ack-capability.md))

1. A funcionalidade gerenciada reconhece os recursos da AWS gerenciados pelo ACK existentes e assume a reconciliação

1. Reduza gradualmente a escala verticalmente ou remova as implantações dos controladores autogerenciados:

   ```
   helm uninstall ack-s3-controller --namespace ack-system
   ```

Com essa abordagem, ambos os controladores podem coexistir com segurança durante a migração. A funcionalidade gerenciada assume automaticamente os recursos que antes eram gerenciados pelos controladores autogerenciados, assegurando reconciliação contínua sem gerar conflitos.

## Próximas etapas
<a name="_next_steps"></a>
+  [Criação de uma funcionalidade do ACK](create-ack-capability.md): crie um recurso de funcionalidade do ACK
+  [Conceitos do ACK](ack-concepts.md): compreenda os conceitos do ACK e o ciclo de vida dos recursos
+  [Configuração das permissões do ACK](ack-permissions.md): configure o IAM e as permissões