2.10. 入口证书(Ingress certificate)
用途
Ingress Operator 使用以下证书:
- 保证 Prometheus 指标的访问安全。
- 保证对路由的访问安全。
位置
为了保证对 Ingress Operator 和 Ingress Controller 指标的访问安全,Ingress Operator 使用 service serving 证书。Operator 为自己的指标从 service-ca
控制器请求证书,service-ca
控制器将证书放置在 openshift-ingress
secret 中。另外,Ingress Operator 会为每个 Ingress Controller 请求一个证书,-operator 命名空间中的名为 metrics-tls
的service-ca
控制器会将证书放在名为 router-metrics-certs-<name>
的 secret 中,其中 <name>
是 Ingress Controller 的名称(在 openshift-ingress
命名空间中)。
每个 Ingress Controller 都有一个默认证书,用于没有指定其自身证书的安全路由。除非指定了自定义证书,Operator 默认使用自签名证书。Operator 使用自己的自签名签名证书为其生成的任何默认证书签名。Operator 生成此签名证书,并将其置于 openshift-ingress-operator
命名空间中的名为 router-ca
的 secret 中。当 Operator 生成默认证书时,它会将默认证书放在 openshift-ingress
命名空间的名为 router-certs-<name>
(其中 <name>
是 Ingress Controller 的名称)的 secret 中。
Ingress Operator 为 Ingress Controller 生成默认证书,以充当占位符,直到您配置了自定义默认证书为止。不要在生产环境集群中使用 Operator 生成的默认证书。
工作流
图 2.1. 自定义证书工作流
图 2.2. 默认证书工作流
空的 defaultCertificate
项会使 Ingress Operator 使用它自己签名的 CA 来为指定的域生成 serving 证书。
Ingress Operator 生成的默认 CA 证书和密钥。用来为 Operator 生成的默认 serving 证书签名。
在默认工作流中,通配符默认服务证书,由 Ingress Operator 创建,并使用生成的默认 CA 证书签名。在自定义工作流中,这是用户提供的证书。
路由器部署。使用 secrets/router-certs-default
中的证书作为其默认前端服务器证书。
在默认工作流中,通配符默认服务证书(公共和私有组件)的内容在此复制,以启用 OAuth 集成。在自定义工作流中,这是用户提供的证书。
包含 Operator 生成的默认 CA 证书(公共部分)的资源; 由 OAuth 和 Web 控制台读取以建立信任。这个对象将在以后的发行版本中被删除。
默认服务证书的公共(certificate)部分。替换 configmaps/router-ca
资源。
用户使用对 ingresscontroller
serving 证书签名的 CA 证书更新集群代理配置。这可让 auth
、console
和 registry 等组件信任 serving 证书。
包含合并的 Red Hat Enterprise Linux CoreOS (RHCOS) 和用户提供的 CA 捆绑包(如果未提供用户捆绑包)的集群范围可信 CA 捆绑包。
自定义 CA 证书捆绑包,用于指示其他组件(如 auth
和 console
)信任配置了自定义证书的 ingresscontroller
。
trustedCA
字段用来引用用户提供的 CA 捆绑包。
Cluster Network Operator 将可信 CA 捆绑包注入 proxy-ca
ConfigMap。
OpenShift Container Platform 4.3 及更早的版本使用 router-ca
。
过期
Ingress Operator 证书的过期条件如下:
-
service-ca
控制器创建的指标证书的过期日期为创建日期后的两年。 - Operator 的签名证书的过期日期是创建日期后的两年。
- Operator 生成的默认证书的过期日期是在创建日期后两年的时间。
您不能自定义 Ingress Operator 或 service-ca
控制器创建的证书的过期条款。
安装 OpenShift Container Platform 时,不能为 Ingress Operator 或 service-ca
控制器创建的证书指定过期条款。
服务
Prometheus 使用的用来确保指标安全的证书。
Ingress Operator 使用它的签名证书来为 Ingress Controller 签名默认证书,您不要为其设置自定义默认证书。
使用安全路由的集群组件可使用默认 Ingress Controller 默认证书。
通过安全路由进入集群的入口使用 Ingress Controller 的默认证书,该证书将访问该路由,除非该路由指定了自己的证书。
管理
入口证书由用户管理。如需 更多信息,请参阅重新放置默认入口证书。
续订
service-ca
控制器自动轮转其发放的证书。但是,可以使用 oc delete secret <secret>
来手动轮转 service serving 证书。
Ingress Operator 不轮转其自身的签名证书或它生成的默认证书。Operator 生成的默认证书的目的是作为您配置的自定义默认证书的占位者。