2.5. AWS Load Balancer Operator 구성
2.5.1. 클러스터 전체 프록시의 인증 기관 신뢰 링크 복사링크가 클립보드에 복사되었습니다!
AWS Load Balancer Operator에서 클러스터 전체 프록시를 구성할 수 있습니다. 클러스터 전체 프록시를 구성한 후 OLM(Operator Lifecycle Manager)은 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
- 수신 클래스 이름을 정의합니다. Ingress 클래스가 클러스터에 없으면 AWS Load Balancer 컨트롤러가 하나를 생성합니다.
spec.controller
가ingress.k8s.aws/alb
로 설정된 경우 AWS Load Balancer 컨트롤러는 추가 ingress 클래스 값을 조정합니다.
Ingress
리소스를 정의하는 YAML 파일을 생성합니다.add-tls-termination-ingress.yaml
파일의 예Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.5.3. 단일 AWS Load Balancer를 통해 여러 수신 리소스 생성 링크 복사링크가 클립보드에 복사되었습니다!
단일 AWS Load Balancer를 통해 단일 도메인에 속하는 여러 수신 리소스를 사용하여 트래픽을 다른 서비스로 라우팅할 수 있습니다. 각 Ingress 리소스는 도메인의 다른 끝점을 제공합니다.
사전 요구 사항
-
OpenShift CLI(
oc
)에 액세스할 수 있습니다.
프로세스
다음과 같이
IngressClassParams
리소스 YAML 파일을 생성합니다(예:sample-single-lb-params.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
- 이 수신에 속하는 Ingress 클래스를 지정합니다.
- 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 Load Balancer Operator 로그 링크 복사링크가 클립보드에 복사되었습니다!
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