

 **Ayude a mejorar esta página** 

Para contribuir a esta guía del usuario, elija el enlace **Edit this page on GitHub** que se encuentra en el panel derecho de cada página.

# Uso compartido de un grupo de destino entre dos clústeres
<a name="auto-multi-cluster-target-groups-example"></a>

En el siguiente ejemplo, se comparte un grupo de destino entre dos clústeres. El primer clúster es propietario del equilibrador de carga de aplicación a través de una entrada, mientras que el segundo clúster se une al grupo de destino compartido mediante un `TargetGroupBinding` creado manualmente. Antes de comenzar, consulte [Configuración de grupos de destino de varios clústeres](auto-multi-cluster-target-groups.md) para comprender cómo funciona la compatibilidad con varios clústeres y cómo habilitarla.

## Clúster 1: propietario del equilibrador de carga a través de una entrada
<a name="_cluster_1_own_the_load_balancer_through_an_ingress"></a>

Implemente la aplicación (por ejemplo, una implementación con un servicio `NodePort`) y, a continuación, cree una `IngressClass` y una `Ingress` que contenga la anotación de varios clústeres.

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

El controlador aprovisiona el equilibrador de carga y genera un `TargetGroupBinding` con `spec.multiClusterTargetGroup: true`. Tenga en cuenta los siguientes valores del `TargetGroupBinding` generado y del servicio, el segundo clúster necesita los tres:
+ la , `targetGroupARN`.
+ El `nodePort` del servicio.
+ El ID del grupo de seguridad del equilibrador de carga de `spec.networking.ingress[].from[].securityGroup.groupID`.

## Clúster 2: unión al grupo de destino compartido mediante TargetGroupBinding
<a name="_cluster_2_join_the_shared_target_group_through_a_targetgroupbinding"></a>

Implemente la misma aplicación, fije el servicio al `nodePort` del clúster 1 y, a continuación, cree un `TargetGroupBinding` que haga referencia al ARN del grupo de destino y al ID del grupo de seguridad del clúster 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
```

Con la compatibilidad con varios clústeres habilitada en ambos enlaces, cada clúster registra y anula el registro solo de sus propios destinos. Los nodos de ambos clústeres se mantienen en buen estado en el único grupo de destino compartido, mientras que el equilibrador de carga distribuye el tráfico entre todos ellos.