9.5. CertManager 사용자 정의 리소스를 사용하여 cert-manager Operator 사용자 정의
				Red Hat OpenShift용 cert-manager Operator를 설치한 후 CertManager CR(사용자 정의 리소스)을 구성하여 다음 작업을 수행할 수 있습니다.
			
- cert-manager 컨트롤러, CA 인젝터, Webhook와 같은 cert-manager 구성 요소의 동작을 수정하도록 인수를 구성합니다.
- 컨트롤러 Pod의 환경 변수를 설정합니다.
- CPU 및 메모리 사용량을 관리하기 위해 리소스 요청 및 제한을 정의합니다.
- 클러스터에서 Pod가 실행되는 위치를 제어하도록 스케줄링 규칙을 구성합니다.
CertManager CR YAML 파일의 예
					지원되지 않는 인수를 재정의하려면 CertManager 리소스에 spec.unsupportedConfigOverrides 섹션을 추가할 수 있지만 spec.unsupportedConfigOverrides 를 사용하는 것은 지원되지 않습니다.
				
9.5.1. CertManager 사용자 정의 리소스의 필드에 대한 설명
					CertManager CR(사용자 정의 리소스)을 사용하여 cert-manager Operator for Red Hat OpenShift의 다음 핵심 구성 요소를 구성할 수 있습니다.
				
- 
							cert-manager 컨트롤러: spec.controllerConfig필드를 사용하여 cert-manager 컨트롤러 Pod를 구성할 수 있습니다.
- 
							Webhook: spec.webhookConfig필드를 사용하여 검증 및 변경 요청을 처리하는 Webhook Pod를 구성할 수 있습니다.
- 
							CA injector: spec.cainjectorConfig필드를 사용하여 CA 인젝터 Pod를 구성할 수 있습니다.
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 솔버 Pod의 최대 CPU 제한을 정의합니다. 기본값은  | 
| 
										 | 컨트롤러 | 
										ACME HTTP-01 솔버 Pod의 최대 메모리 제한을 정의합니다. 기본값은  | 
| 
										 | 컨트롤러 | 
										ACME HTTP-01 솔버 Pod의 최소 CPU 요청을 정의합니다. 기본값은  | 
| 
										 | 컨트롤러 | 
										ACME HTTP-01 솔버 Pod에 대한 최소 메모리 요청을 정의합니다. 기본값은  | 
| 
										 | 컨트롤러, Webhook, CA 인젝터 | 로그 수준 상세 수준을 지정하여 로그 메시지의 상세 수준을 확인합니다. | 
9.5.1.3. cert-manager 컨트롤러에 대한 Overridable 환경 변수
						CertManager CR의 spec.controllerConfig.overrideEnv 필드에서 cert-manager 컨트롤러에 대해 덮어쓸 수 있는 환경 변수를 구성할 수 있습니다.
					
다음 표에서는 cert-manager 컨트롤러에 대해 덮어쓸 수 있는 환경 변수를 설명합니다.
| 환경 변수 | 설명 | 
|---|---|
| 
										 | 발신 HTTP 요청에 대한 프록시 서버입니다. | 
| 
										 | 발신 HTTPS 요청을 위한 프록시 서버입니다. | 
| 
										 | 프록시를 바이패스하는 쉼표로 구분된 호스트 목록입니다. | 
9.5.1.4. cert-manager 구성 요소에 대한 Overridable 리소스 매개변수
						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 구성 요소에 대한 Overridable 스케줄링 매개변수
						CertManager CR의 spec.controllerConfig,spec.webhookConfig 및 spec.cainjectorConfig 섹션에서 cert-manager 구성 요소에 대한 Pod 예약 제한을 구성할 수 있습니다.
					
다음 표에서는 cert-manager 구성 요소에 대한 Pod 예약 매개변수를 설명합니다.
| 필드 | 설명 | 
|---|---|
| 
										 | Pod를 특정 노드로 제한하는 키-값 쌍입니다. | 
| 
										 | 테인트된 노드에서 Pod를 예약하기 위한 허용 오차 목록입니다. | 
9.5.2. cert-manager Operator API에서 환경 변수를 재정의하여 cert-manager 사용자 정의
					CertManager 리소스에 spec.controllerConfig 섹션을 추가하여 cert-manager Operator for Red Hat OpenShift에 대해 지원되는 환경 변수를 덮어쓸 수 있습니다.
				
사전 요구 사항
- 
							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 사용자 정의 리소스의 "CertManager 사용자 정의 리소스의 필드 설명"의 "인증 관리자 구성 요소에 대한 개요 가능 환경 변수"를 참조하십시오. 
- 변경 사항을 저장하고 텍스트 편집기를 종료하여 변경 사항을 적용합니다.
검증
- 다음 명령을 실행하여 cert-manager 컨트롤러 Pod가 재배포되었는지 확인합니다. - 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 섹션을 추가하여 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 Pod에 대한 인수가 업데이트되었는지 확인합니다. - 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 섹션을 추가하여 cert-manager Operator for Red Hat OpenShift에 대해 --enable-certificate-owner-ref 플래그를 활성화할 수 있습니다. --enable-certificate-owner-ref 플래그는 인증서 리소스를 TLS 인증서가 저장된 보안의 소유자로 설정합니다.
				
cert-manager Operator for Red Hat OpenShift를 설치 제거하거나 클러스터에서 인증서 리소스를 삭제하면 보안이 자동으로 삭제됩니다. 이로 인해 인증서 TLS 보안이 사용되는 위치에 따라 네트워크 연결 문제가 발생할 수 있습니다.
사전 요구 사항
- 
							cluster-admin역할의 사용자로 OpenShift Container Platform 클러스터에 액세스할 수 있습니다.
- Red Hat OpenShift용 cert-manager Operator 버전 1.12.0 이상이 설치되어 있어야 합니다.
프로세스
- 다음 명령을 실행하여 - Certificate오브젝트 및 해당 시크릿을 사용할 수 있는지 확인합니다.- 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 컨트롤러 Pod에 대해 - --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 구성 요소에 대한 cert-manager Operator for Red Hat OpenShift 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 사용자 정의 리소스의 "CertManager 사용자 정의 리소스의 필드 설명"의 "인증 관리자 구성 요소에 대한 리소스 매개변수"를 참조하십시오.
 - 출력 예 - 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와 같은 cert-manager Operator for 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 이상을 설치했습니다.
프로세스
- 다음 명령을 실행하여 - certmanager.operator사용자 정의 리소스를 업데이트하여 원하는 구성 요소에 대한 Pod 예약 덮어쓰기를 구성합니다.- controllerConfig,- webhookConfig또는- cainjectorConfig섹션 아래의- overrideScheduling필드를 사용하여- nodeSelector및- 허용 오차설정을 정의합니다.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 덮어쓸 수 있는 스케줄링 매개변수에 대한 자세한 내용은 CertManager 사용자 정의 리소스의 "CertManager 사용자 정의 리소스의 필드 설명"에서 "인증 관리자 구성 요소에 대한 일반 예약 매개변수"를 참조하십시오.
 
검증
- cert-managerPod의 Pod 예약 설정을 확인합니다.- 다음 명령을 실행하여 - 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