×

用途

Ingress Operator 使用证书来:

  • 保护对 Prometheus 指标的访问。

  • 保护对路由的访问。

位置

为了保护对 Ingress Operator 和 Ingress Controller 指标的访问,Ingress Operator 使用服务提供证书。Operator 从service-ca控制器请求其自身指标的证书,并且service-ca控制器将证书放在openshift-ingress-operator命名空间中名为metrics-tls的密钥中。此外,Ingress Operator 为每个 Ingress Controller 请求证书,并且service-ca控制器将证书放在名为router-metrics-certs-<name>的密钥中(其中<name>是 Ingress Controller 的名称),位于openshift-ingress命名空间中。

每个 Ingress Controller 都有一个默认证书,它用于未指定自身证书的安全路由。除非您指定自定义证书,否则 Operator 默认使用自签名证书。Operator 使用它自己的自签名签名证书来签名它生成的任何默认证书。Operator 生成此签名证书并将其放入openshift-ingress-operator命名空间中名为router-ca的密钥中。当 Operator 生成默认证书时,它会将默认证书放入名为router-certs-<name>(其中<name>是 Ingress Controller 的名称)的密钥中,位于openshift-ingress命名空间中。

Ingress Operator 会生成一个默认证书供 Ingress Controller 使用,作为您配置自定义默认证书之前的占位符。请勿在生产集群中使用 Operator 生成的默认证书。

工作流程

custom ingress certificate workflow
图 1. 自定义证书工作流程
default ingress certificate workflow
图 2. 默认证书工作流程

20 空的defaultCertificate字段会导致 Ingress Operator 使用其自签名 CA 为指定的域名生成服务证书。

20 Ingress Operator 生成的默认 CA 证书和密钥。用于签名 Operator 生成的默认服务证书。

20 在默认工作流程中,通配符默认服务证书由 Ingress Operator 创建,并使用生成的默认 CA 证书签名。在自定义工作流程中,这是用户提供的证书。

20 路由器部署。使用secrets/router-certs-default中的证书作为其默认前端服务器证书。

20 在默认工作流中,通配符默认服务证书(公钥和私钥部分)的内容将被复制到这里以启用 OAuth 集成。在自定义工作流中,这是用户提供的证书。

20 默认工作流中,通配符默认服务证书(公钥和私钥部分)的内容被复制到这里,以启用 OAuth 集成。在自定义工作流中,这是用户提供的证书。

20 集群范围内的受信任 CA 捆绑包,其中包含组合的 Red Hat Enterprise Linux CoreOS (RHCOS) 和用户提供的 CA 捆绑包,或者如果用户未提供捆绑包,则仅包含 RHCOS 捆绑包。

20 自定义 CA 证书捆绑包,用于指示其他组件(例如,authconsole)信任使用自定义证书配置的 ingresscontroller

20 trustedCA 字段用于引用用户提供的 CA 捆绑包。

20 集群网络操作员将受信任的 CA 捆绑包注入到proxy-ca配置映射中。

20 OpenShift Container Platform 4.17 及更高版本使用default-ingress-cert

过期时间

Ingress Operator 证书的过期条款如下:

  • service-ca控制器创建的指标证书的过期日期为创建日期后的两年。

  • Operator 签名证书的过期日期为创建日期后的两年。

  • Operator 生成的默认证书的过期日期为创建日期后的两年。

您无法为 Ingress Operator 或service-ca控制器创建的证书指定自定义过期条款。

安装 OpenShift Container Platform 时,您无法为 Ingress Operator 或service-ca控制器创建的证书指定过期条款。

服务

Prometheus 使用保护指标的证书。

Ingress Operator 使用其签名证书来签署为未设置自定义默认证书的 Ingress 控制器生成的默认证书。

使用安全路由的集群组件可以使用默认 Ingress 控制器的默认证书。

通过安全路由访问集群的 Ingress 使用访问路由的 Ingress 控制器的默认证书,除非路由指定其自己的证书。

管理

Ingress 证书由用户管理。有关详细信息,请参阅替换默认 Ingress 证书

更新

service-ca控制器会自动轮换其颁发的证书。但是,可以使用oc delete secret <secret>手动轮换服务提供证书。

Ingress Operator 不会轮换其自身的签名证书或其生成的默认证书。Operator 生成的默认证书旨在作为您配置的自定义默认证书的占位符。