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에 대해 클러스터 전체 프록시를 활성화했습니다.

절차

  1. 다음 명령을 실행하여 cert-manager 네임스페이스에 구성 맵을 생성합니다.

    $ oc create configmap trusted-ca -n cert-manager
  2. 다음 명령을 실행하여 OpenShift Container Platform에서 신뢰하는 CA 번들을 구성 맵에 삽입합니다.

    $ oc label cm trusted-ca config.openshift.io/inject-trusted-cabundle=true -n cert-manager
  3. 다음 명령을 실행하여 구성 맵을 사용하도록 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"}]}}}'

검증

  1. 다음 명령을 실행하여 배포가 롤아웃을 완료했는지 확인합니다.

    $ 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

  2. 다음 명령을 실행하여 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"}]

  3. 다음 명령을 실행하여 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"}]

8.6.2. 추가 리소스