

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

# Compartilhar grupos de destino de vários clusters
<a name="auto-multi-cluster-target-groups"></a>

Por padrão, o controlador do balanceador de carga do Modo Automático do Amazon EKS assume controle total sobre os grupos de destino que ele configura. Quando um grupo de destino é registrado no controlador, ele cancela o registro de todos os destinos que não estão atualmente no cluster. Isso garante que o grupo de destino reflita o conjunto exato de destinos gerenciados por esse cluster.

A habilitação do suporte a **MultiCluster** altera esse comportamento. Um grupo de destino com o suporte a MultiCluster habilitado pode ser associado a vários clusters do Kubernetes ou oferecer suporte a destinos arbitrários de outras fontes. Cada cluster registra e cancela o registro somente dos destinos que possui, em vez de cancelar o registro de destinos que pertencem a outros clusters ou fontes.

## Como funciona
<a name="_how_it_works"></a>

Quando o suporte a MultiCluster está habilitado, cada cluster rastreia o conjunto de destinos que gerencia e reconcilia somente os destinos no grupo de destino compartilhado. O Modo Automático do Amazon EKS armazena os destinos rastreados de cada cluster em um Kubernetes `ConfigMap` denominado `eks-lbc-targets-<targetgroupbinding-name>`, no mesmo namespace dos recursos do balanceador de carga.

**nota**  
O AWS Load Balancer Controller upstream armazena esse estado em um `ConfigMap` com o prefixo `aws-lbc-targets-`. No Modo Automático do Amazon EKS, o prefixo é `eks-lbc-targets-`, então, ao seguir as orientações upstream, inspecione o `ConfigMap` `eks-lbc-targets-`.

O balanceador de carga distribui o tráfego igualmente em todos os destinos registrados. O controlador não é compatível com a distribuição ponderada entre clusters. O suporte a MultiCluster funciona com os tipos de destino `ip` e `instance`.

## Habilitar o suporte a MultiCluster
<a name="_enable_multicluster_support"></a>

Habilite o suporte a MultiCluster usando um dos seguintes métodos, dependendo do tipo de recurso:
+  **TargetGroupBinding**: defina `spec.multiClusterTargetGroup: true`.
+  **Ingress (ALB)**: adicione a anotação `alb.ingress.kubernetes.io/multi-cluster-target-group: "true"`.
+  **Service (NLB)**: adicione a anotação `service.beta.kubernetes.io/aws-load-balancer-multi-cluster-target-group: "true"`.

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

O guia upstream [MultiCluster Target Groups](https://kubernetes-sigs.github.io/aws-load-balancer-controller/latest/guide/use_cases/multi_cluster/) em AWS Load Balancer Controller no site do GitHub explica o compartilhamento de um grupo de destino entre dois clusters. Para uma discussão mais ampla sobre arquiteturas de vários clusters, consulte [Building resilient multi-cluster applications with Amazon EKS](https://aws.amazon.com/blogs/blogs/networking-and-content-delivery/building-resilient-multi-cluster-applications-with-amazon-eks/) no Blog da AWS. O mesmo fluxo funciona no Modo Automático do Amazon EKS com as seguintes diferenças:
+ O recurso `TargetGroupBinding` personalizado está no grupo de APIs `eks.amazonaws.com/v1`, não em `elbv2.k8s.aws/v1beta1`.
+ O controlador `IngressClass` é `eks.amazonaws.com/alb`.
+ Não defina a anotação `alb.ingress.kubernetes.io/tags`. A política `AmazonEKSLoadBalancingPolicy` gerenciada restringe `aws:TagKeys` a uma lista de permissões, portanto, as tags personalizadas causam um erro de acesso negado e o controlador não consegue reconciliá-las. Isso pode fazer com que o finalizador do Ingress fique travado na exclusão.
+ Todos os clusters participantes devem estar na mesma VPC, pois um grupo de destino tem como escopo uma única VPC.

## Exemplo
<a name="_example"></a>

Para uma explicação passo a passo que compartilha um único grupo de destino entre dois clusters (um cluster que possui o balanceador de carga por meio de um Ingress e o outro que se une por meio de um `TargetGroupBinding`), consulte [Compartilhar um grupo de destino entre dois clusters](auto-multi-cluster-target-groups-example.md).