9.14. 在 GCP 上为 Red Hat OpenShift 验证 cert-manager Operator
您可以在 GCP 集群中为 Red Hat OpenShift 配置云凭证。云凭证由 Cloud Credential Operator 生成。
要为 GCP 集群上的 Red Hat OpenShift 配置 cert-manager Operator 云凭证,您必须创建一个 CredentialsRequest
对象,并允许 Cloud Credential Operator 生成云凭证 secret。
先决条件
- 您已为 Red Hat OpenShift 安装了 cert-manager Operator 版本 1.11.1 或更高版本。
- 您已将 Cloud Credential Operator 配置为以 mint 或 passthrough 模式运行。
流程
通过应用以下 yaml 创建
CredentialsRequest
资源 YAML 文件,如sample-credential-request.yaml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意dns.admin
角色为管理 Google Cloud DNS 资源的服务帐户提供管理员特权。要确保 cert-manager 使用具有最小权限的服务帐户运行,您可以创建一个具有以下权限的自定义角色:-
dns.resourceRecordSets.*
-
dns.changes.*
-
dns.managedZones.list
-
运行以下命令来创建
CredentialsRequest
资源:oc create -f sample-credential-request.yaml
$ oc create -f sample-credential-request.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,为 Red Hat OpenShift 更新 cert-manager Operator 的订阅对象:
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 凭证卷更新: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