2.5. AWS 로드 밸런서 운영자 구성
2.5.1. 클러스터 전체 프록시의 인증 기관 신뢰 링크 복사링크가 클립보드에 복사되었습니다!
AWS Load Balancer Operator에서 클러스터 전체 프록시를 구성할 수 있습니다. 클러스터 전체 프록시를 구성한 후, Operator Lifecycle Manager(OLM)는 HTTP_PROXY
, HTTPS_PROXY
, NO_PROXY
와 같은 환경 변수를 사용하여 모든 Operator 배포를 자동으로 업데이트합니다. 이러한 변수는 AWS Load Balancer Operator에 의해 관리되는 컨트롤러에 채워집니다.
다음 명령을 실행하여
aws-load-balancer-operator
네임스페이스에 인증 기관(CA) 번들을 포함하는 구성 맵을 만듭니다.oc -n aws-load-balancer-operator create configmap trusted-ca
$ oc -n aws-load-balancer-operator create configmap trusted-ca
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 신뢰할 수 있는 CA 번들을 구성 맵에 주입하려면 다음 명령을 실행하여 구성 맵에
config.openshift.io/inject-trusted-cabundle=true
레이블을 추가합니다.oc -n aws-load-balancer-operator label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true
$ oc -n aws-load-balancer-operator label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 AWS Load Balancer Operator 배포의 구성 맵에 액세스하도록 AWS Load Balancer Operator 구독을 업데이트합니다.
oc -n aws-load-balancer-operator patch subscription aws-load-balancer-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}],"volumes":[{"name":"trusted-ca","configMap":{"name":"trusted-ca"}}],"volumeMounts":[{"name":"trusted-ca","mountPath":"/etc/pki/tls/certs/albo-tls-ca-bundle.crt","subPath":"ca-bundle.crt"}]}}}'
$ oc -n aws-load-balancer-operator patch subscription aws-load-balancer-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}],"volumes":[{"name":"trusted-ca","configMap":{"name":"trusted-ca"}}],"volumeMounts":[{"name":"trusted-ca","mountPath":"/etc/pki/tls/certs/albo-tls-ca-bundle.crt","subPath":"ca-bundle.crt"}]}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS Load Balancer Operator가 배포된 후 다음 명령을 실행하여 CA 번들이
aws-load-balancer-operator-controller-manager
배포에 추가되었는지 확인합니다.oc -n aws-load-balancer-operator exec deploy/aws-load-balancer-operator-controller-manager -c manager -- bash -c "ls -l /etc/pki/tls/certs/albo-tls-ca-bundle.crt; printenv TRUSTED_CA_CONFIGMAP_NAME"
$ oc -n aws-load-balancer-operator exec deploy/aws-load-balancer-operator-controller-manager -c manager -- bash -c "ls -l /etc/pki/tls/certs/albo-tls-ca-bundle.crt; printenv TRUSTED_CA_CONFIGMAP_NAME"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
-rw-r--r--. 1 root 1000690000 5875 Jan 11 12:25 /etc/pki/tls/certs/albo-tls-ca-bundle.crt trusted-ca
-rw-r--r--. 1 root 1000690000 5875 Jan 11 12:25 /etc/pki/tls/certs/albo-tls-ca-bundle.crt trusted-ca
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 선택 사항: 다음 명령을 실행하여 구성 맵이 변경될 때마다 AWS Load Balancer Operator 배포를 다시 시작합니다.
oc -n aws-load-balancer-operator rollout restart deployment/aws-load-balancer-operator-controller-manager
$ oc -n aws-load-balancer-operator rollout restart deployment/aws-load-balancer-operator-controller-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.2. AWS Load Balancer에 TLS 종료 추가 링크 복사링크가 클립보드에 복사되었습니다!
도메인의 트래픽을 서비스의 Pod로 라우팅하고 AWS Load Balancer에 TLS 종료를 추가할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)에 액세스할 수 있습니다.
프로세스
AWSLoadBalancerController
리소스를 정의하는 YAML 파일을 만듭니다.add-tls-termination-albc.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 수신 클래스 이름을 정의합니다. 클러스터에 수신 클래스가 없으면 AWS Load Balancer Controller가 수신 클래스를 생성합니다.
spec.controller가
ingress.k8s.aws/alb
로 설정된 경우 AWS Load Balancer Controller는 추가 수신 클래스 값을 조정합니다.
Ingress
리소스를 정의하는 YAML 파일을 만듭니다.add-tls-termination-ingress.yaml
파일 예시Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.3. 단일 AWS 로드 밸런서를 통해 여러 개의 수신 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
단일 AWS Load Balancer를 통해 단일 도메인에 속한 여러 개의 수신 리소스가 있는 다양한 서비스로 트래픽을 라우팅할 수 있습니다. 각 수신 리소스는 도메인의 다른 엔드포인트를 제공합니다.
사전 요구 사항
-
OpenShift CLI(
oc
)에 액세스할 수 있습니다.
프로세스
다음과 같이
sample-single-lb-params.yaml
과 같은IngressClassParams
리소스 YAML 파일을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
IngressClassParams
리소스를 만듭니다.oc create -f sample-single-lb-params.yaml
$ oc create -f sample-single-lb-params.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같이
IngressClass
리소스 YAML 파일(예:sample-single-lb-class.yaml)
을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
IngressClass
리소스를 만듭니다.oc create -f sample-single-lb-class.yaml
$ oc create -f sample-single-lb-class.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같이
AWSLoadBalancerController
리소스 YAML 파일(예:sample-single-lb.yaml )
을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
IngressClass
리소스의 이름을 정의합니다.
다음 명령을 실행하여
AWSLoadBalancerController
리소스를 만듭니다.oc create -f sample-single-lb.yaml
$ oc create -f sample-single-lb.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같이
Ingress
리소스 YAML 파일(예:sample-multiple-ingress.yaml )
을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 수신 이름을 지정합니다.
- 2
- 인터넷에 액세스하기 위해 공용 서브넷에 로드 밸런서를 프로비저닝하는 것을 나타냅니다.
- 3
- 로드 밸런서에서 요청을 수신할 때 여러 인그레스 리소스의 규칙이 매칭되는 순서를 지정합니다.
- 4
- 로드 밸런서가 서비스에 도달하기 위해 OpenShift Container Platform 노드를 타겟으로 한다는 것을 나타냅니다.
- 5
- 이 수신에 속하는 수신 클래스를 지정합니다.
- 6
- 요청 라우팅에 사용되는 도메인 이름을 정의합니다.
- 7
- 서비스로 라우팅해야 하는 경로를 정의합니다.
- 8
Ingress
리소스에 구성된 엔드포인트를 제공하는 서비스 이름을 정의합니다.- 9
- 엔드포인트에 서비스를 제공하는 서비스의 포트를 정의합니다.
다음 명령을 실행하여
Ingress
리소스를 만듭니다.oc create -f sample-multiple-ingress.yaml
$ oc create -f sample-multiple-ingress.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.4. AWS 로드 밸런서 운영자 로그 링크 복사링크가 클립보드에 복사되었습니다!
oc logs
명령을 사용하면 AWS Load Balancer Operator 로그를 볼 수 있습니다.
프로세스
다음 명령을 실행하여 AWS Load Balancer Operator의 로그를 확인하세요.
oc logs -n aws-load-balancer-operator deployment/aws-load-balancer-operator-controller-manager -c manager
$ oc logs -n aws-load-balancer-operator deployment/aws-load-balancer-operator-controller-manager -c manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow