14.6. 为自定义域路由配置动态证书
现在,您可以在指定域的任何第一级子域上公开集群应用程序,但连接不会与应用程序域匹配的 TLS 证书进行保护。为确保这些集群应用程序为每个域名都有有效的证书,请将 cert-manager 配置为动态向域下创建的每个新路由发布证书。
创建必要的 OpenShift 资源 cert-manager 需要管理 OpenShift 路由的证书。
此步骤会创建一个新的部署(以及 pod),该部署专门监控集群中注解的路由。如果在新路由中找到
issuer-kind
和issuer-name
注解,则会为这个路由唯一的新证书请求 Issuer (本例中为ClusterIssuer),这将遵循创建路由时指定的主机名。注意如果集群无法访问 GitHub,您可以在本地保存原始内容,并运行
oc apply -f localfilename.yaml -n cert-manager
。$ oc -n cert-manager apply -f https://github.com/cert-manager/openshift-routes/releases/latest/download/cert-manager-openshift-routes.yaml
此步骤中也会创建以下额外 OpenShift 资源:
-
ClusterRole
- 授予在集群中监控和更新路由的权限 -
ServiceAccount
- 使用权限运行新创建的 pod -
ClusterRoleBinding
- 绑定这两个资源
-
确保新的
cert-manager-openshift-routes
pod 成功运行:$ oc -n cert-manager get pods
结果示例
NAME READY STATUS RESTARTS AGE cert-manager-866d8f788c-9kspc 1/1 Running 0 4h21m cert-manager-cainjector-6885c585bd-znws8 1/1 Running 0 4h41m cert-manager-openshift-routes-75b6bb44cd-f8kd5 1/1 Running 0 6s cert-manager-webhook-8498785dd9-bvfdf 1/1 Running 0 4h41m