8.6. Red Hat OpenShift용 cert-manager Operator의 송신 프록시 구성
OpenShift Container Platform에 클러스터 전체 송신 프록시가 구성된 경우 OLM(Operator Lifecycle Manager)은 클러스터 전체 프록시로 관리하는 Operator를 자동으로 구성합니다. OLM은 HTTP_PROXY
,HTTPS_PROXY
,NO_PROXY
환경 변수를 사용하여 Operator의 모든 배포를 자동으로 업데이트합니다.
HTTPS 연결을 Red Hat OpenShift의 cert-manager Operator에 프록시하는 데 필요한 CA 인증서를 삽입할 수 있습니다.
8.6.1. cert-manager Operator for Red Hat OpenShift에 대한 사용자 정의 CA 인증서 삽입
OpenShift Container Platform 클러스터에 클러스터 전체 프록시가 활성화된 경우 HTTPS 연결을 Red Hat OpenShift의 cert-manager Operator에 프록시하는 데 필요한 모든 CA 인증서를 삽입할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - OpenShift Container Platform에 대해 클러스터 전체 프록시를 활성화했습니다.
절차
다음 명령을 실행하여
cert-manager
네임스페이스에 구성 맵을 생성합니다.$ oc create configmap trusted-ca -n cert-manager
다음 명령을 실행하여 OpenShift Container Platform에서 신뢰하는 CA 번들을 구성 맵에 삽입합니다.
$ oc label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true -n cert-manager
다음 명령을 실행하여 구성 맵을 사용하도록 Red Hat OpenShift의 cert-manager Operator 배포를 업데이트합니다.
$ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type='merge' -p '{"spec":{"config":{"env":[{"name":"TRUSTED_CA_CONFIGMAP_NAME","value":"trusted-ca"}]}}}'
검증
다음 명령을 실행하여 배포가 롤아웃을 완료했는지 확인합니다.
$ oc rollout status deployment/cert-manager-operator-controller-manager -n cert-manager-operator && \ oc rollout status deployment/cert-manager -n cert-manager && \ oc rollout status deployment/cert-manager-webhook -n cert-manager && \ oc rollout status deployment/cert-manager-cainjector -n cert-manager
출력 예
deployment "cert-manager-operator-controller-manager" successfully rolled out deployment "cert-manager" successfully rolled out deployment "cert-manager-webhook" successfully rolled out deployment "cert-manager-cainjector" successfully rolled out
다음 명령을 실행하여 CA 번들이 볼륨으로 마운트되었는지 확인합니다.
$ oc get deployment cert-manager -n cert-manager -o=jsonpath={.spec.template.spec.'containers[0].volumeMounts'}
출력 예
[{"mountPath":"/etc/pki/tls/certs/cert-manager-tls-ca-bundle.crt","name":"trusted-ca","subPath":"ca-bundle.crt"}]
다음 명령을 실행하여 CA 번들의 소스가
trusted-ca
구성 맵인지 확인합니다.$ oc get deployment cert-manager -n cert-manager -o=jsonpath={.spec.template.spec.volumes}
출력 예
[{"configMap":{"defaultMode":420,"name":"trusted-ca"},"name":"trusted-ca"}]