이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
다중 클러스터 대상 그룹 구성
기본적으로 Amazon EKS Auto Mode 로드 밸런서 컨트롤러는 구성하는 대상 그룹을 완전히 제어합니다. 대상 그룹이 컨트롤러에 등록되면 현재 클러스터에 없는 모든 대상은 등록 취소됩니다. 이렇게 하면 대상 그룹이 해당 클러스터에서 관리하는 정확한 대상 집합을 반영할 수 있습니다.
MultiCluster 지원을 활성화하면 이 동작이 변경됩니다. MultiCluster 지원이 활성화된 대상 그룹은 여러 Kubernetes 클러스터와 연결하거나 다른 소스의 임의 대상을 지원할 수 있습니다. 각 클러스터는 다른 클러스터 또는 소스에 속하는 대상을 등록 취소하는 대신 소유한 대상만 등록 및 등록 취소합니다.
작동 방식
MultiCluster 지원이 활성화되면 각 클러스터는 자신이 관리하는 대상 집합을 추적하고 공유 대상 그룹에서 해당 대상만 조정합니다. Amazon EKS Auto Mode는 각 클러스터의 추적 대상을 로드 밸런서 리소스와 동일한 네임스페이스의 ConfigMap이라는 Kubernetes eks-lbc-targets-<targetgroupbinding-name>에 저장합니다.
참고
업스트림 AWS Load Balancer Controller는 aws-lbc-targets- 접두사가 있는 ConfigMap에 이 상태를 저장합니다. Amazon EKS Auto Mode에서는 접두사가 대신 eks-lbc-targets-이므로 업스트림 지침을 따를 때 eks-lbc-targets- ConfigMap을 검사합니다.
로드 밸런서는 등록된 모든 대상에 트래픽을 균등하게 분산합니다. 컨트롤러는 클러스터 간 가중치 기반 분산을 지원하지 않습니다. MultiCluster 지원은 ip 및 instance 대상 유형 모두에서 작동합니다.
MultiCluster 지원 활성화
리소스 유형에 따라 다음 방법 중 하나를 사용하여 MultiCluster 지원을 활성화합니다.
-
TargetGroupBinding -
spec.multiClusterTargetGroup: true를 설정합니다. -
Ingress(ALB) - 주석
alb.ingress.kubernetes.io/multi-cluster-target-group: "true"를 추가합니다. -
Service(NLB) -
service.beta.kubernetes.io/aws-load-balancer-multi-cluster-target-group: "true"주석을 추가합니다.
Amazon EKS Auto Mode 고려 사항
AWS Load Balancer Controller GitHub 웹사이트의 업스트림 MultiCluster 대상 그룹
-
TargetGroupBinding사용자 지정 리소스는elbv2.k8s.aws/v1beta1이 아닌eks.amazonaws.com/v1API 그룹에 있습니다. -
IngressClass컨트롤러는eks.amazonaws.com/alb입니다. -
alb.ingress.kubernetes.io/tags주석을 설정하지 마세요.AmazonEKSLoadBalancingPolicy관리형 정책은aws:TagKeys를 허용 목록으로 제한하므로 사용자 지정 태그는 액세스 거부 오류를 발생시키고 컨트롤러는 이를 조정할 수 없습니다. 이로 인해 Ingress 파이널라이저가 삭제 시 멈출 수 있습니다. -
대상 그룹의 범위가 단일 VPC로 지정되므로 모든 참여 클러스터는 동일한 VPC에 있어야 합니다.
예제
한 클러스터가 Ingress를 통해 로드 밸런서를 소유하고 다른 클러스터가 TargetGroupBinding을 통해 조인하는 두 클러스터 간에 단일 대상 그룹을 공유하는 단계별 연습은 두 클러스터 간에 대상 그룹 공유 섹션을 참조하세요.