9.12. GCP 워크로드 ID를 사용하여 Red Hat OpenShift용 cert-manager Operator 인증
클라우드 인증 정보를 사용하여 GCP Workload Identity 클러스터에서 Red Hat OpenShift에 대한 cert-manager Operator를 인증할 수 있습니다. ccoctl
바이너리를 사용하여 클라우드 인증 정보를 구성할 수 있습니다.
ccoctl
바이너리를 사용하여 Red Hat OpenShift용 cert-manager Operator에 대한 클라우드 인증 정보를 생성합니다. 그런 다음 GCP 워크로드 ID 클러스터에 적용합니다.
사전 요구 사항
-
ccoctl
바이너리를 추출하여 준비합니다. - Red Hat OpenShift용 cert-manager Operator 버전 1.11.1 이상이 설치되어 있어야 합니다.
- 수동 모드에서 Cloud Credential Operator를 사용하여 GCP 워크로드 ID로 OpenShift Container Platform 클러스터를 구성했습니다.
프로세스
다음 명령을 실행하여
CredentialsRequest
리소스 YAML 파일을 저장할 디렉터리를 생성합니다.mkdir credentials-request
$ mkdir credentials-request
Copy to Clipboard Copied! Toggle word wrap Toggle overflow credentials-request
디렉터리에서 다음CredentialsRequest
매니페스트가 포함된 YAML 파일을 생성합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고dns.admin
역할은 Google Cloud DNS 리소스를 관리하기 위해 서비스 계정에 대한 관리자 권한을 제공합니다. cert-manager가 최소 권한이 있는 서비스 계정으로 실행되도록 다음 권한을 사용하여 사용자 지정 역할을 생성할 수 있습니다.-
dns.resourceRecordSets.*
-
dns.changes.*
-
dns.managedZones.list
-
ccoctl
툴을 사용하여 다음 명령을 실행하여CredentialsRequest
오브젝트를 처리합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 명령 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 클러스터의 매니페스트 디렉터리에 생성된 보안을 적용합니다.
ls <path_to_output_dir>/manifests/*-credentials.yaml | xargs -I{} oc apply -f {}
$ ls <path_to_output_dir>/manifests/*-credentials.yaml | xargs -I{} oc apply -f {}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 cert-manager Operator for Red Hat OpenShift의 서브스크립션 오브젝트를 업데이트합니다.
oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"CLOUD_CREDENTIALS_SECRET_NAME","value":"gcp-credentials"}]}}}'
$ oc -n cert-manager-operator patch subscription openshift-cert-manager-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"CLOUD_CREDENTIALS_SECRET_NAME","value":"gcp-credentials"}]}}}'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 실행하여 재배포된 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 15m39s
NAME READY STATUS RESTARTS AGE cert-manager-bd7fbb9fc-wvbbt 1/1 Running 0 15m39s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 cert-manager 컨트롤러 Pod가
mountPath
에 지정된 경로에 마운트된 GCP 워크로드 ID 인증 정보 볼륨으로 업데이트되었는지 확인합니다.oc get -n cert-manager pod/<cert-manager_controller_pod_name> -o yaml
$ oc get -n cert-manager pod/<cert-manager_controller_pod_name> -o yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow