

 **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 um grupo de destino entre dois clusters
<a name="auto-multi-cluster-target-groups-example"></a>

O exemplo a seguir compartilha um grupo de destino entre dois clusters. O primeiro cluster possui o Application Load Balancer por meio de um Ingress, e o segundo cluster se junta ao grupo de destino compartilhado por meio de um `TargetGroupBinding` criado manualmente. Antes de começar, revise [Compartilhar grupos de destino de vários clusters](auto-multi-cluster-target-groups.md) para entender como o suporte a MultiCluster funciona e como habilitá-lo.

## Cluster 1: gerencie o balanceador de carga por meio de um Ingress
<a name="_cluster_1_own_the_load_balancer_through_an_ingress"></a>

Implante sua aplicação (por exemplo, uma implantação com um serviço `NodePort`) e depois crie um `IngressClass` e um `Ingress` que carregue a anotação de vários clusters.

```
apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  name: alb-mc
spec:
  controller: eks.amazonaws.com/alb
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: echoserver
  namespace: echoserver
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: instance
    alb.ingress.kubernetes.io/multi-cluster-target-group: "true"
spec:
  ingressClassName: alb-mc
  rules:
    - http:
        paths:
          - path: /
            pathType: Exact
            backend:
              service:
                name: echoserver
                port:
                  number: 80
```

O controlador provisiona o balanceador de carga e gera um `TargetGroupBinding` com `spec.multiClusterTargetGroup: true`. Observe os seguintes valores do serviço e do `TargetGroupBinding` gerado: o segundo cluster precisa dos três:
+ O `targetGroupARN`.
+ O serviço do `nodePort`.
+ O ID do grupo de segurança do balanceador de carga de `spec.networking.ingress[].from[].securityGroup.groupID`.

## Cluster 2: ingresse no grupo de destino compartilhado por meio de um TargetGroupBinding
<a name="_cluster_2_join_the_shared_target_group_through_a_targetgroupbinding"></a>

Implante a mesma aplicação fixando o serviço no `nodePort` do cluster 1 e, em seguida, crie um `TargetGroupBinding` que faça referência ao ARN do grupo de destino e ao ID do grupo de segurança do cluster 1.

```
apiVersion: eks.amazonaws.com/v1
kind: TargetGroupBinding
metadata:
  name: mc-echoserver
  namespace: echoserver
spec:
  multiClusterTargetGroup: true
  serviceRef:
    name: echoserver
    port: 80
  targetGroupARN: <cluster-1-target-group-arn>
  targetType: instance
  networking:
    ingress:
      - from:
          - securityGroup:
              groupID: <cluster-1-alb-security-group-id>
        ports:
          - port: <cluster-2-node-port>
            protocol: TCP
```

Com o suporte a MultiCluster habilitado em ambas as vinculações, cada cluster registra e cancela o registro somente de seus próprios destinos. Os nós dos dois clusters permanecem íntegros em um único grupo de destino compartilhado, e o balanceador de carga distribui o tráfego em todos eles.