8.7. cert-manager Operator API 필드 사용자 정의
환경 변수 및 인수를 재정의하여 Red Hat OpenShift API 필드의 cert-manager Operator를 사용자 지정할 수 있습니다.
지원되지 않는 인수를 재정의하려면 CertManager
리소스에 spec.unsupportedConfigOverrides
섹션을 추가할 수 있지만 spec.unsupportedConfigOverrides
는 지원되지 않습니다.
8.7.1. cert-manager Operator API에서 환경 변수를 재정의하여 cert-manager 사용자 정의
CertManager
리소스에 spec.controllerConfig
섹션을 추가하여 Red Hat OpenShift의 cert-manager Operator에 지원되는 환경 변수를 덮어쓸 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
절차
다음 명령을 실행하여
CertManager
리소스를 편집합니다.$ oc edit certmanager cluster
다음 덮어쓰기 인수를 사용하여
spec.controllerConfig
섹션을 추가합니다.apiVersion: operator.openshift.io/v1alpha1 kind: CertManager metadata: name: cluster ... spec: ... controllerConfig: overrideEnv: - name: HTTP_PROXY value: http://<proxy_url> 1 - name: HTTPS_PROXY value: https://<proxy_url> 2 - name: NO_PROXY value: <ignore_proxy_domains> 3
- 변경 사항을 저장하고 텍스트 편집기를 종료하여 변경 사항을 적용합니다.
검증
다음 명령을 실행하여 cert-manager 컨트롤러 Pod가 재배포되었는지 확인합니다.
$ oc get pods -l app.kubernetes.io/name=cert-manager -n cert-manager
출력 예
NAME READY STATUS RESTARTS AGE cert-manager-bd7fbb9fc-wvbbt 1/1 Running 0 39s
다음 명령을 실행하여 cert-manager Pod에 대한 환경 변수가 업데이트되었는지 확인합니다.
$ oc get pod <redeployed_cert-manager_controller_pod> -n cert-manager -o yaml
출력 예
env: ... - name: HTTP_PROXY value: http://<PROXY_URL> - name: HTTPS_PROXY value: https://<PROXY_URL> - name: NO_PROXY value: <IGNORE_PROXY_DOMAINS>
8.7.2. cert-manager Operator API에서 인수를 재정의하여 cert-manager 사용자 정의
CertManager
리소스에 spec.controllerConfig
섹션을 추가하여 Red Hat OpenShift의 cert-manager Operator에 대해 지원되는 인수를 덮어쓸 수 있습니다.
사전 요구 사항
-
cluster-admin
역할의 사용자로 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
절차
다음 명령을 실행하여
CertManager
리소스를 편집합니다.$ oc edit certmanager cluster
다음 덮어쓰기 인수를 사용하여
spec.controllerConfig
섹션을 추가합니다.apiVersion: operator.openshift.io/v1alpha1 kind: CertManager metadata: name: cluster ... spec: ... controllerConfig: overrideArgs: - '--dns01-recursive-nameservers=<host>:<port>' 1 - '--dns01-recursive-nameservers-only' 2 - '--acme-http01-solver-nameservers=<host>:<port>' 3 - '--v=<verbosity_level>' 4 - '--metrics-listen-address=<host>:<port>' 5 webhookConfig: overrideArgs: - '--v=4' 6 cainjectorConfig: overrideArgs: - '--v=2' 7
- 1
- DNS-01 자체 검사를 쿼리할 쉼표로 구분된 <
host>:<port
> 이름 서버 목록을 제공합니다. 예를 들면--dns01-recursive-nameservers=1.1.1.1:53
입니다. - 2
- 해당 도메인과 연결된 권한 있는 네임서버를 확인하는 대신 재귀 이름 서버만 사용하도록 지정합니다.
- 3
- ACME HTTP01 자체 검사를 쿼리하려면 쉼표로 구분된 <
host>:<port
> 이름 서버 목록을 제공합니다. 예를 들면--acme-http01-solver-nameservers=1.1.1.1:53
입니다. - 4 6 7
- 로그 메시지의 상세 수준을 결정하려면 로그 수준 세부 정보를 설정하려면 지정합니다.
- 5
- 지표 끝점의 호스트 및 포트를 지정합니다. 기본값은
--metrics-listen-address=0.0.0.0:9402
입니다.
- 변경 사항을 저장하고 텍스트 편집기를 종료하여 변경 사항을 적용합니다.
검증
다음 명령을 실행하여 cert-manager pod에 대한 인수가 업데이트되었는지 확인합니다.
$ oc get pods -n cert-manager -o yaml
출력 예
... metadata: name: cert-manager-6d4b5d4c97-kldwl namespace: cert-manager ... spec: containers: - args: - --acme-http01-solver-nameservers=1.1.1.1:53 - --cluster-resource-namespace=$(POD_NAMESPACE) - --dns01-recursive-nameservers=1.1.1.1:53 - --dns01-recursive-nameservers-only - --leader-election-namespace=kube-system - --max-concurrent-challenges=60 - --metrics-listen-address=0.0.0.0:9042 - --v=6 ... metadata: name: cert-manager-cainjector-866c4fd758-ltxxj namespace: cert-manager ... spec: containers: - args: - --leader-election-namespace=kube-system - --v=2 ... metadata: name: cert-manager-webhook-6d48f88495-c88gd namespace: cert-manager ... spec: containers: - args: ... - --v=4