2.4. AWS Load Balancer Operator 설치
AWS Load Balancer Operator는 AWS Load Balancer 컨트롤러를 배포하고 관리합니다. OpenShift Container Platform 웹 콘솔 또는 CLI를 사용하여 OperatorHub에서 AWS Load Balancer Operator를 설치할 수 있습니다.
2.4.1. 웹 콘솔을 사용하여 AWS Load Balancer Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
웹 콘솔을 사용하여 AWS Load Balancer Operator를 설치할 수 있습니다.
사전 요구 사항
-
cluster-admin
권한이 있는 사용자로 OpenShift Container Platform 웹 콘솔에 로그인했습니다. - 클러스터는 AWS를 플랫폼 유형 및 클라우드 공급자로 구성합니다.
- STS(보안 토큰 서비스) 또는 사용자 프로비저닝 인프라를 사용하는 경우 관련 준비 단계를 따르십시오. 예를 들어 AWS Security Token Service를 사용하는 경우 "AWS Security Token Service (STS)를 사용하여 클러스터에서 AWS Load Balancer Operator 준비"를 참조하십시오.
프로세스
-
OpenShift Container Platform 웹 콘솔에서 Operators
OperatorHub 로 이동합니다. - AWS Load Balancer Operator 를 선택합니다. 키워드로 필터링 텍스트 상자를 사용하거나 필터 목록을 사용하여 Operator 목록에서 AWS Load Balancer Operator를 검색할 수 있습니다.
-
aws-load-balancer-operator
네임스페이스를 선택합니다. Operator 설치 페이지에서 다음 옵션을 선택합니다.
- 채널을 stable-v1 로 업데이트합니다.
- 클러스터의 모든 네임스페이스(기본값) 로 설치 모드입니다.
-
설치된 네임스페이스 에서
aws-load-balancer-operator
.aws-load-balancer-operator
네임스페이스가 없으면 Operator 설치 중에 생성됩니다. - 자동 또는 수동으로 승인 업데이트를 선택합니다. 기본적으로 업데이트 승인은 자동으로 설정됩니다. 자동 업데이트를 선택하면 OLM(Operator Lifecycle Manager)이 개입 없이 Operator의 실행 중인 인스턴스를 자동으로 업그레이드합니다. 수동 업데이트를 선택하면 OLM에서 업데이트 요청을 생성합니다. 클러스터 관리자는 Operator가 새 버전으로 업데이트되도록 업데이트 요청을 수동으로 승인해야 합니다.
- 설치를 클릭합니다.
검증
- AWS Load Balancer Operator에 설치된 Operator 대시보드에서 성공으로 상태가 표시되는지 확인합니다.
2.4.2. CLI를 사용하여 AWS Load Balancer Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
CLI를 사용하여 AWS Load Balancer Operator를 설치할 수 있습니다.
사전 요구 사항
-
cluster-admin
권한이 있는 사용자로 OpenShift Container Platform 웹 콘솔에 로그인되어 있습니다. - 클러스터는 AWS를 플랫폼 유형 및 클라우드 공급자로 구성합니다.
-
OpenShift CLI(
oc
)에 로그인되어 있습니다.
프로세스
Namespace
오브젝트를 생성합니다.Namespace
오브젝트를 정의하는 YAML 파일을 생성합니다.namespace.yaml
파일 예apiVersion: v1 kind: Namespace metadata: name: aws-load-balancer-operator
apiVersion: v1 kind: Namespace metadata: name: aws-load-balancer-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
Namespace
오브젝트를 생성합니다.oc apply -f namespace.yaml
$ oc apply -f namespace.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OperatorGroup
오브젝트를 생성합니다.OperatorGroup
오브젝트를 정의하는 YAML 파일을 생성합니다.operatorgroup.yaml
파일 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
OperatorGroup
오브젝트를 생성합니다.oc apply -f operatorgroup.yaml
$ oc apply -f operatorgroup.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Subscription
오브젝트를 생성합니다.Subscription
오브젝트를 정의하는 YAML 파일을 생성합니다.subscription.yaml
파일의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
Subscription
오브젝트를 생성합니다.oc apply -f subscription.yaml
$ oc apply -f subscription.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
서브스크립션에서 설치 계획의 이름을 가져옵니다.
oc -n aws-load-balancer-operator \ get subscription aws-load-balancer-operator \ --template='{{.status.installplan.name}}{{"\n"}}'
$ oc -n aws-load-balancer-operator \ get subscription 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 출력은
Complete
여야 합니다.
2.4.3. AWS Load Balancer 컨트롤러 생성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터에 AWSLoadBalancerController
오브젝트의 단일 인스턴스만 설치할 수 있습니다. CLI를 사용하여 AWS Load Balancer 컨트롤러를 생성할 수 있습니다. AWS Load Balancer Operator는 resource라는 클러스터
만 조정합니다.
사전 요구 사항
-
echoserver
네임스페이스를 생성했습니다. -
OpenShift CLI(
oc
)에 액세스할 수 있습니다.
프로세스
AWSLoadBalancerController
오브젝트를 정의하는 YAML 파일을 생성합니다.sample-aws-lb.yaml
파일 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
AWSLoadBalancerController
개체를 정의합니다.- 2
- AWS Load Balancer 컨트롤러 이름을 정의합니다. 이 인스턴스 이름은 모든 관련 리소스에 접미사로 추가됩니다.
- 3
- AWS Load Balancer Controller의 서브넷 태그 지정 방법을 구성합니다. 다음 값이 유효합니다.
-
Auto
: AWS Load Balancer Operator는 클러스터에 속하는 서브넷을 결정하고 적절하게 태그를 지정합니다. 내부 서브넷 태그가 내부 서브넷에 없으면 Operator에서 역할을 올바르게 확인할 수 없습니다. -
Manual
: 적절한 역할 태그를 사용하여 클러스터에 속한 서브넷에 수동으로 태그를 지정합니다. 사용자 제공 인프라에 클러스터를 설치한 경우 이 옵션을 사용합니다.
-
- 4
- AWS 리소스를 프로비저닝할 때 AWS Load Balancer 컨트롤러에서 사용하는 태그를 정의합니다.
- 5
- 수신 클래스 이름을 정의합니다. 기본값은
alb
입니다. - 6
- AWS Load Balancer 컨트롤러의 복제본 수를 지정합니다.
- 7
- AWS Load Balancer Controller의 애드온으로 주석을 지정합니다.
- 8
alb.ingress.kubernetes.io/wafv2-acl-arn
주석을 활성화합니다.
다음 명령을 실행하여
AWSLoadBalancerController
오브젝트를 생성합니다.oc create -f sample-aws-lb.yaml
$ oc create -f sample-aws-lb.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Deployment
리소스를 정의하는 YAML 파일을 생성합니다.sample-aws-lb.yaml
파일 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow Service
리소스를 정의하는 YAML 파일을 생성합니다.service-albo.yaml
파일 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ingress
리소스를 정의하는 YAML 파일을 생성합니다.ingress-albo.yaml
파일 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여
Ingress
리소스의 상태를HOST
변수에 저장합니다.HOST=$(oc get ingress -n echoserver echoserver --template='{{(index .status.loadBalancer.ingress 0).hostname}}')
$ HOST=$(oc get ingress -n echoserver echoserver --template='{{(index .status.loadBalancer.ingress 0).hostname}}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
Ingress
리소스의 상태를 확인합니다.curl $HOST
$ curl $HOST
Copy to Clipboard Copied! Toggle word wrap Toggle overflow