2.2. OpenShift 컨테이너 플랫폼의 AWS 로드 밸런서 운영자
AWS 로드 밸런서 운영자는 AWS 로드 밸런서 컨트롤러를 배포하고 관리합니다. OpenShift Container Platform 웹 콘솔이나 CLI를 사용하여 OperatorHub에서 AWS Load Balancer Operator를 설치할 수 있습니다.
2.2.1. AWS 로드 밸런서 운영자 고려 사항 링크 복사링크가 클립보드에 복사되었습니다!
AWS Load Balancer Operator를 설치하고 사용하기 전에 다음 제한 사항을 검토하세요.
- IP 트래픽 모드는 AWS Elastic Kubernetes Service(EKS)에서만 작동합니다. AWS Load Balancer Operator는 AWS Load Balancer Controller의 IP 트래픽 모드를 비활성화합니다. IP 트래픽 모드를 비활성화한 결과, AWS Load Balancer Controller는 Pod 준비 게이트를 사용할 수 없습니다.
-
AWS Load Balancer Operator는
--disable-ingress-class-annotation
및--disable-ingress-group-name-annotation
과 같은 명령줄 플래그를 AWS Load Balancer Controller에 추가합니다. 따라서 AWS Load Balancer Operator는Ingress
리소스에서kubernetes.io/ingress.class
및alb.ingress.kubernetes.io/group.name
주석을 사용하는 것을 허용하지 않습니다. -
AWS Load Balancer Operator를 구성하여 SVC 유형이
NodePort
(LoadBalancer
또는ClusterIP가
아님)가 되도록 했습니다.
2.2.2. AWS Load Balancer Operator 링크 복사링크가 클립보드에 복사되었습니다!
AWS Load Balancer Operator는 kubernetes.io/role/elb
태그가 없는 경우 퍼블릭 서브넷에 태그를 지정할 수 있습니다. 또한 AWS Load Balancer Operator는 기본 AWS 클라우드에서 다음 정보를 감지합니다.
- 운영자를 호스팅하는 클러스터가 배포된 가상 사설 클라우드(VPC)의 ID입니다.
- 검색된 VPC의 공개 및 비공개 서브넷입니다.
AWS Load Balancer Operator는 인스턴스
대상 유형만 사용하여 Network Load Balancer(NLB)를 사용하여 LoadBalancer
유형의 Kubernetes 서비스 리소스를 지원합니다.
프로세스
OperatorHub에서 AWS Load Balancer Operator를 주문형으로 배포하려면 다음 명령을 실행하여
구독
객체를 만듭니다.oc -n aws-load-balancer-operator get sub aws-load-balancer-operator --template='{{.status.installplan.name}}{{"\n"}}'
$ oc -n aws-load-balancer-operator get sub aws-load-balancer-operator --template='{{.status.installplan.name}}{{"\n"}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 설치 계획의 상태가
완료
인지 확인하세요.oc -n aws-load-balancer-operator get ip <install_plan_name> --template='{{.status.phase}}{{"\n"}}'
$ oc -n aws-load-balancer-operator get ip <install_plan_name> --template='{{.status.phase}}{{"\n"}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
aws-load-balancer-operator-controller-manager
배포 상태를 확인하세요.oc get -n aws-load-balancer-operator deployment/aws-load-balancer-operator-controller-manager
$ oc get -n aws-load-balancer-operator deployment/aws-load-balancer-operator-controller-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY UP-TO-DATE AVAILABLE AGE aws-load-balancer-operator-controller-manager 1/1 1 1 23h
NAME READY UP-TO-DATE AVAILABLE AGE aws-load-balancer-operator-controller-manager 1/1 1 1 23h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.2.3. Outpost로 확장된 AWS VPC 클러스터에서 AWS Load Balancer Operator 사용 링크 복사링크가 클립보드에 복사되었습니다!
AWS VPC 클러스터에서 Outpost로 확장된 AWS Application Load Balancer를 프로비저닝하도록 AWS Load Balancer Operator를 구성할 수 있습니다. AWS Outposts는 AWS 네트워크 로드 밸런서를 지원하지 않습니다. 결과적으로 AWS Load Balancer Operator는 Outpost에서 Network Load Balancer를 프로비저닝할 수 없습니다.
클라우드 서브넷이나 Outpost 서브넷에서 AWS Application Load Balancer를 생성할 수 있습니다. 클라우드의 애플리케이션 로드 밸런서는 클라우드 기반 컴퓨팅 노드에 연결될 수 있으며, 아웃포스트의 애플리케이션 로드 밸런서는 에지 컴퓨팅 노드에 연결될 수 있습니다. 외부 서브넷 또는 VPC 서브넷으로 Ingress 리소스에 주석을 달어야 하지만 둘 다 해당되지는 않습니다.
사전 요구 사항
- AWS VPC 클러스터를 Outpost로 확장했습니다.
-
OpenShift CLI(
oc
)가 설치되어 있습니다. - AWS Load Balancer Operator를 설치하고 AWS Load Balancer Controller를 생성했습니다.
프로세스
지정된 서브넷을 사용하도록
Ingress
리소스를 구성합니다.Ingress
리소스 구성 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 사용할 서브넷을 지정합니다.
- 아웃포스트에서 애플리케이션 로드 밸런서를 사용하려면 아웃포스트 서브넷 ID를 지정하세요.
- 클라우드에서 Application Load Balancer를 사용하려면 서로 다른 가용성 영역에 있는 두 개 이상의 서브넷을 지정해야 합니다.