Aidez à améliorer cette page
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page qui se trouve dans le volet droit de chaque page.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Partagez un groupe cible entre deux clusters
L'exemple suivant partage un groupe cible entre deux clusters. Le premier cluster possède l'équilibreur de charge des applications via une entrée, et le second cluster rejoint le groupe cible partagé via une entrée créée manuellement. TargetGroupBinding Avant de commencer, passez Configuration de groupes cibles multi-clusters en revue pour comprendre comment fonctionne le MultiCluster support et comment l'activer.
Cluster 1 : possédez l'équilibreur de charge via une entrée
Déployez votre application (par exemple, un déploiement avec un NodePort service), puis créez un IngressClass et un Ingress contenant l'annotation multi-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
Le contrôleur approvisionne l'équilibreur de charge et génère TargetGroupBinding unspec.multiClusterTargetGroup: true. Notez les valeurs suivantes provenant des données générées TargetGroupBinding et du service : le deuxième cluster a besoin des trois :
-
La valeur
targetGroupARN. -
Le Service
nodePort. -
L'ID du groupe de sécurité de l'équilibreur de charge provenant de
spec.networking.ingress[].from[].securityGroup.groupID.
Cluster 2 : rejoignez le groupe cible partagé via un TargetGroupBinding
Déployez la même application, en épinglant le service au cluster 1, puis créez-en un TargetGroupBinding qui fait référence à l'ARN du groupe cible et à l'ID du groupe de sécurité du cluster 1. nodePort
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
La MultiCluster prise en charge étant activée sur les deux liaisons, chaque cluster enregistre et désenregistre uniquement ses propres cibles. Les nœuds des deux clusters restent sains dans le seul groupe cible partagé, et l'équilibreur de charge distribue le trafic entre chacun d'eux.