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 클러스터에 액세스할 수 있습니다.

절차

  1. 다음 명령을 실행하여 CertManager 리소스를 편집합니다.

    $ oc edit certmanager cluster
  2. 다음 덮어쓰기 인수를 사용하여 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
    1 2
    &lt ;proxy_url&gt;을 프록시 서버 URL로 바꿉니다.
    3
    & lt;ignore_proxy_domains&gt;를 쉼표로 구분된 도메인 목록으로 바꿉니다. 이러한 도메인은 프록시 서버에서 무시합니다.
  3. 변경 사항을 저장하고 텍스트 편집기를 종료하여 변경 사항을 적용합니다.

검증

  1. 다음 명령을 실행하여 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

  2. 다음 명령을 실행하여 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 클러스터에 액세스할 수 있습니다.

절차

  1. 다음 명령을 실행하여 CertManager 리소스를 편집합니다.

    $ oc edit certmanager cluster
  2. 다음 덮어쓰기 인수를 사용하여 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 입니다.
  3. 변경 사항을 저장하고 텍스트 편집기를 종료하여 변경 사항을 적용합니다.

검증

  • 다음 명령을 실행하여 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