9.5. CertManager 사용자 정의 리소스를 사용하여 cert-manager 연산자 사용자 정의
Red Hat OpenShift용 cert-manager Operator를 설치한 후 CertManager
사용자 정의 리소스(CR)를 구성하여 다음 작업을 수행할 수 있습니다.
- cert-manager 컨트롤러, CA 인젝터, Webhook 등 cert-manager 구성 요소의 동작을 수정하기 위한 인수를 구성합니다.
- 컨트롤러 포드에 대한 환경 변수를 설정합니다.
- CPU 및 메모리 사용을 관리하기 위해 리소스 요청과 제한을 정의합니다.
- 클러스터에서 포드가 실행되는 위치를 제어하기 위해 스케줄링 규칙을 구성합니다.
예제 CertManager CR YAML 파일
지원되지 않는 인수를 재정의하려면 CertManager
리소스에 spec.unsupportedConfigOverrides
섹션을 추가할 수 있지만 spec.unsupportedConfigOverrides
를 사용하는 것은 지원되지 않습니다.
9.5.1. CertManager 사용자 정의 리소스의 필드에 대한 설명 링크 복사링크가 클립보드에 복사되었습니다!
CertManager
사용자 정의 리소스(CR)를 사용하여 Red Hat OpenShift용 cert-manager Operator의 다음 핵심 구성 요소를 구성할 수 있습니다.
-
Cert-manager 컨트롤러:
spec.controllerConfig
필드를 사용하여 cert‑manager 컨트롤러 포드를 구성할 수 있습니다. -
웹훅:
spec.webhookConfig
필드를 사용하여 검증 및 변형 요청을 처리하는 웹훅 포드를 구성할 수 있습니다. -
CA 인젝터:
spec.cainjectorConfig
필드를 사용하여 CA 인젝터 포드를 구성할 수 있습니다.
9.5.1.1. cert-manager 구성 요소에 대한 CertManager CR의 공통 구성 가능 필드 링크 복사링크가 클립보드에 복사되었습니다!
다음 표는 CertManager
CR의 spec.controllerConfig
, spec.webhookConfig
및 spec.cainjectorConfig
섹션에서 구성할 수 있는 일반 필드를 나열합니다.
필드 | 유형 | 설명 |
---|---|---|
|
| cert-manager 구성 요소에 대해 지원되는 인수를 재정의할 수 있습니다. |
|
| cert-manager 컨트롤러에 대해 지원되는 환경 변수를 재정의할 수 있습니다. 이 필드는 cert-manager 컨트롤러 구성 요소에만 지원됩니다. |
|
| cert-manager 구성 요소에 대한 CPU 및 메모리 제한을 구성할 수 있습니다. |
|
| cert-manager 구성 요소에 대한 Pod 스케줄링 제약 조건을 구성할 수 있습니다. |
9.5.1.2. cert-manager 구성 요소에 대한 재정의 가능한 인수 링크 복사링크가 클립보드에 복사되었습니다!
CertManager
CR의 spec.controllerConfig
, spec.webhookConfig
및 spec.cainjectorConfig
섹션에서 cert-manager 구성 요소에 대한 재정의 가능한 인수를 구성할 수 있습니다.
다음 표에서는 cert-manager 구성 요소에 대한 재정의 가능한 인수를 설명합니다.
인수 | 구성요소 | 설명 |
---|---|---|
| 컨트롤러 |
DNS-01 자체 검사를 쿼리할 쉼표로 구분된 이름 서버 목록을 제공합니다. 네임서버는 참고 DoH(DNS over HTTPS)는 cert-manager Operator for Red Hat OpenShift 버전 1.13.0 이상에서만 지원됩니다. |
| 컨트롤러 | 해당 도메인과 연결된 권한 있는 이름 서버를 확인하는 대신 재귀 이름 서버만 사용하도록 지정합니다. |
| 컨트롤러 |
쉼표로 구분된 < |
| 컨트롤러 |
지표 끝점의 호스트 및 포트를 지정합니다. 기본값은 |
| 컨트롤러 | 이 인수를 사용하면 주변 자격 증명을 사용하여 DNS-01 문제를 해결하도록 ACME 발급자를 구성할 수 있습니다. |
| 컨트롤러 | 이 인수는 TLS 인증서가 저장된 비밀의 소유자로 인증서 리소스를 설정합니다. 자세한 내용은 "인증서 제거 시 TLS 비밀번호를 자동으로 삭제"를 참조하세요. |
| 컨트롤러 |
ACME HTTP‑01 솔버 포드의 최대 CPU 제한을 정의합니다. 기본값은 |
| 컨트롤러 |
ACME HTTP‑01 솔버 포드의 최대 메모리 한도를 정의합니다. 기본값은 |
| 컨트롤러 |
ACME HTTP‑01 솔버 포드에 대한 최소 CPU 요청을 정의합니다. 기본값은 |
| 컨트롤러 |
ACME HTTP‑01 솔버 포드에 대한 최소 메모리 요청을 정의합니다. 기본값은 |
| 컨트롤러, 웹훅, CA 인젝터 | 로그 메시지의 자세한 정도를 결정하려면 로그 수준 자세한 정도를 지정하세요. |
9.5.1.3. cert-manager 컨트롤러에 대한 재정의 가능한 환경 변수 링크 복사링크가 클립보드에 복사되었습니다!
CertManager
CR의 spec.controllerConfig.overrideEnv
필드에서 cert-manager 컨트롤러에 대한 재정의 가능한 환경 변수를 구성할 수 있습니다.
다음 표에서는 cert-manager 컨트롤러의 재정의 가능한 환경 변수를 설명합니다.
환경 변수 | 설명 |
---|---|
| 나가는 HTTP 요청을 위한 프록시 서버. |
| 나가는 HTTPS 요청을 위한 프록시 서버입니다. |
| 프록시를 우회하는 호스트의 쉼표로 구분된 목록입니다. |
9.5.1.4. cert-manager 구성 요소에 대한 재정의 가능한 리소스 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
CertManager
CR의 spec.controllerConfig
, spec.webhookConfig
및 spec.cainjectorConfig
섹션에서 cert-manager 구성 요소의 CPU 및 메모리 제한을 구성할 수 있습니다.
다음 표에서는 cert-manager 구성 요소에 대한 재정의 가능한 리소스 매개변수를 설명합니다.
필드 | 설명 |
---|---|
| 구성 요소 Pod가 사용할 수 있는 최대 CPU 양을 정의합니다. |
| 구성 요소 Pod가 사용할 수 있는 최대 메모리 양을 정의합니다. |
| 스케줄러가 구성 요소 Pod에 대해 요청하는 최소 CPU 양을 정의합니다. |
| 스케줄러가 구성 요소 Pod에 대해 요청하는 최소 메모리 양을 정의합니다. |
9.5.1.5. cert-manager 구성 요소에 대한 재정의 가능한 스케줄링 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
CertManager
CR의 spec.controllerConfig
, spec.webhookConfig
필드 및 spec.cainjectorConfig
섹션에서 cert-manager 구성 요소에 대한 Pod 스케줄링 제약 조건을 구성할 수 있습니다.
다음 표에서는 cert-manager 구성 요소에 대한 Pod 스케줄링 매개변수를 설명합니다.
필드 | 설명 |
---|---|
| 특정 노드에 포드를 제한하기 위한 키-값 쌍입니다. |
| 오염된 노드에서 Pod를 예약하기 위한 허용 목록입니다. |
9.5.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
$ oc edit certmanager cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 재정의 인수를 사용하여
spec.controllerConfig
섹션을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고재정의 가능한 환경 변수에 대한 자세한 내용은 "CertManager 사용자 정의 리소스의 필드 설명"에서 "cert-manager 구성 요소에 대한 재정의 가능한 환경 변수"를 참조하세요.
- 변경 사항을 저장하고 텍스트 편집기를 종료하면 변경 사항이 적용됩니다.
검증
다음 명령을 실행하여 cert-manager 컨트롤러 포드가 다시 배포되었는지 확인하세요.
oc get pods -l app.kubernetes.io/name=cert-manager -n cert-manager
$ oc get pods -l app.kubernetes.io/name=cert-manager -n cert-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE cert-manager-bd7fbb9fc-wvbbt 1/1 Running 0 39s
NAME READY STATUS RESTARTS AGE cert-manager-bd7fbb9fc-wvbbt 1/1 Running 0 39s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 cert-manager pod의 환경 변수가 업데이트되었는지 확인하세요.
oc get pod <redeployed_cert-manager_controller_pod> -n cert-manager -o yaml
$ oc get pod <redeployed_cert-manager_controller_pod> -n cert-manager -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.3. 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
$ oc edit certmanager cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 재정의 인수를 사용하여
spec.controllerConfig
섹션을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 재정의 가능한 인수에 대한 자세한 내용은 "CertManager 사용자 정의 리소스의 필드 설명"에서 "cert-manager 구성 요소에 대한 재정의 가능한 인수"를 참조하세요.
- 변경 사항을 저장하고 텍스트 편집기를 종료하면 변경 사항이 적용됩니다.
검증
다음 명령을 실행하여 cert-manager 포드에 대한 인수가 업데이트되었는지 확인하세요.
oc get pods -n cert-manager -o yaml
$ oc get pods -n cert-manager -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.4. 인증서 제거 시 자동으로 TLS 시크릿 삭제 링크 복사링크가 클립보드에 복사되었습니다!
CertManager
리소스에 spec.controllerConfig
섹션을 추가하여 Red Hat OpenShift용 cert-manager Operator에 대해 --enable-certificate-owner-ref
플래그를 활성화할 수 있습니다. --enable-certificate-owner-ref
플래그는 TLS 인증서가 저장된 비밀의 소유자로 인증서 리소스를 설정합니다.
Red Hat OpenShift용 cert-manager Operator를 제거하거나 클러스터에서 인증서 리소스를 삭제하면 비밀이 자동으로 삭제됩니다. 인증서 TLS 비밀번호가 사용되는 위치에 따라 네트워크 연결 문제가 발생할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할이 있는 사용자로 OpenShift Container Platform 클러스터에 액세스할 수 있습니다. - Red Hat OpenShift용 cert-manager Operator 버전 1.12.0 이상을 설치했습니다.
프로세스
다음 명령을 실행하여
인증서
개체와 해당 비밀번호를 사용할 수 있는지 확인하세요.oc get certificate
$ oc get certificate
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY SECRET AGE certificate-from-clusterissuer-route53-ambient True certificate-from-clusterissuer-route53-ambient 8h
NAME READY SECRET AGE certificate-from-clusterissuer-route53-ambient True certificate-from-clusterissuer-route53-ambient 8h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
CertManager
리소스를 편집합니다.oc edit certmanager cluster
$ oc edit certmanager cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 재정의 인수를 사용하여
spec.controllerConfig
섹션을 추가합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 변경 사항을 저장하고 텍스트 편집기를 종료하면 변경 사항이 적용됩니다.
검증
다음 명령을 실행하여 cert-manager 컨트롤러 포드에 대한
--enable-certificate-owner-ref
플래그가 업데이트되었는지 확인하세요.oc get pods -l app.kubernetes.io/name=cert-manager -n cert-manager -o yaml
$ oc get pods -l app.kubernetes.io/name=cert-manager -n cert-manager -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.5. cert-manager 구성 요소에 대한 CPU 및 메모리 제한 덮어쓰기 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift용 cert-manager Operator를 설치한 후에는 cert-manager 컨트롤러, CA 인젝터, Webhook과 같은 cert-manager 구성 요소에 대해 Red Hat OpenShift용 cert-manager Operator API에서 CPU 및 메모리 제한을 구성할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할이 있는 사용자로 OpenShift Container Platform 클러스터에 액세스할 수 있습니다. - Red Hat OpenShift용 cert-manager Operator 버전 1.12.0 이상을 설치했습니다.
프로세스
다음 명령을 입력하여 cert-manager 컨트롤러, CA 인젝터 및 Webhook의 배포가 사용 가능한지 확인하세요.
oc get deployment -n cert-manager
$ oc get deployment -n cert-manager
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY UP-TO-DATE AVAILABLE AGE cert-manager 1/1 1 1 53m cert-manager-cainjector 1/1 1 1 53m cert-manager-webhook 1/1 1 1 53m
NAME READY UP-TO-DATE AVAILABLE AGE cert-manager 1/1 1 1 53m cert-manager-cainjector 1/1 1 1 53m cert-manager-webhook 1/1 1 1 53m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CPU 및 메모리 제한을 설정하기 전에 다음 명령을 입력하여 cert-manager 컨트롤러, CA 인젝터 및 Webhook에 대한 기존 구성을 확인하세요.
oc get deployment -n cert-manager -o yaml
$ oc get deployment -n cert-manager -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cert-manager 컨트롤러, CA 인젝터 및 Webhook에 대한 CPU 및 메모리 제한을 구성하려면 다음 명령을 입력하세요.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 재정의 가능한 리소스 매개변수에 대한 자세한 내용은 "CertManager 사용자 정의 리소스의 필드 설명"에서 "cert-manager 구성 요소에 대한 재정의 가능한 리소스 매개변수"를 참조하세요.
출력 예
certmanager.operator.openshift.io/cluster patched
certmanager.operator.openshift.io/cluster patched
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
cert-manager 구성 요소의 CPU 및 메모리 제한이 업데이트되었는지 확인하세요.
oc get deployment -n cert-manager -o yaml
$ oc get deployment -n cert-manager -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.5.6. cert-manager 구성 요소에 대한 스케줄링 재정의 구성 링크 복사링크가 클립보드에 복사되었습니다!
cert-manager 컨트롤러, CA 인젝터, Webhook 등의 Red Hat OpenShift 구성 요소인 cert-manager Operator for Red Hat OpenShift API에서 Pod 스케줄링을 구성할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할이 있는 사용자로 OpenShift Container Platform 클러스터에 액세스할 수 있습니다. - Red Hat OpenShift용 cert-manager Operator 버전 1.15.0 이상을 설치했습니다.
프로세스
다음 명령을 실행하여 원하는 구성 요소에 대한 Pod 일정 재정의를 구성하려면
certmanager.operator
사용자 지정 리소스를 업데이트합니다.controllerConfig
,webhookConfig
또는cainjectorConfig
섹션 아래의overrideScheduling
필드를 사용하여nodeSelector
및tolerations
설정을 정의합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 재정의 가능한 스케줄링 매개변수에 대한 자세한 내용은 "CertManager 사용자 정의 리소스의 필드 설명"에서 "cert-manager 구성 요소에 대한 재정의 가능한 스케줄링 매개변수"를 참조하세요.
검증
cert-manager
포드에 대한 포드 스케줄링 설정을 확인하세요.다음 명령을 실행하여
cert-manager
네임스페이스의 배포를 검사하여 올바른nodeSelector
와허용 범위
가 있는지 확인하세요.oc get pods -n cert-manager -o wide
$ oc get pods -n cert-manager -o wide
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES cert-manager-58d9c69db4-78mzp 1/1 Running 0 10m 10.129.0.36 ip-10-0-1-106.ec2.internal <none> <none> cert-manager-cainjector-85b6987c66-rhzf7 1/1 Running 0 11m 10.128.0.39 ip-10-0-1-136.ec2.internal <none> <none> cert-manager-webhook-7f54b4b858-29bsp 1/1 Running 0 11m 10.129.0.35 ip-10-0-1-106.ec2.internal <none> <none>
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES cert-manager-58d9c69db4-78mzp 1/1 Running 0 10m 10.129.0.36 ip-10-0-1-106.ec2.internal <none> <none> cert-manager-cainjector-85b6987c66-rhzf7 1/1 Running 0 11m 10.128.0.39 ip-10-0-1-136.ec2.internal <none> <none> cert-manager-webhook-7f54b4b858-29bsp 1/1 Running 0 11m 10.129.0.35 ip-10-0-1-106.ec2.internal <none> <none>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 배포에 적용된
nodeSelector
및허용
설정을 확인하세요.oc get deployments -n cert-manager -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{.spec.template.spec.nodeSelector}{"\n"}{.spec.template.spec.tolerations}{"\n\n"}{end}'
$ oc get deployments -n cert-manager -o jsonpath='{range .items[*]}{.metadata.name}{"\n"}{.spec.template.spec.nodeSelector}{"\n"}{.spec.template.spec.tolerations}{"\n\n"}{end}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
다음 명령을 실행하여
cert-manager
네임스페이스에서 Pod 스케줄링 이벤트를 확인하세요.oc get events -n cert-manager --field-selector reason=Scheduled
$ oc get events -n cert-manager --field-selector reason=Scheduled
Copy to Clipboard Copied! Toggle word wrap Toggle overflow