4.6. etcd 证书
4.6.1. 用途
etcd 证书由 etcd-signer 签名; 证书来自由 bootstrap 过程生成的证书颁发机构 (CA)。
4.6.2. 过期
CA 证书有效期为 10 年。对等证书、客户端证书和服务器证书的有效期为三年。
4.6.3. 轮转 etcd 证书
在 etcd
证书过期前轮转它。
流程
运行以下命令,验证新签名人证书的剩余生命周期:
$ oc get secret -n openshift-etcd etcd-signer -ojsonpath='{.metadata.annotations.auth\.openshift\.io/certificate-not-after}'
如果剩余的生命周期接近当前日期,通过删除签名者并等待静态 pod 推出来重新创建签名者。
运行以下命令来删除签名者:
$ oc delete secret -n openshift-etcd etcd-signer
运行以下命令等待静态 pod 推出:
$ oc wait --for=condition=Progressing=False --timeout=15m clusteroperator/etcd
在
etcd
重启后,运行以下命令使用新的openshift-config
命名空间中切换原始 CA,在openshift-etcd
中轮转:$ oc get secret etcd-signer -n openshift-etcd -ojson | jq 'del(.metadata["namespace","creationTimestamp","resourceVersion","selfLink","uid"])' | oc apply -n openshift-config -f -
运行以下命令,等待集群 Operator 推出并稳定:
$ oc adm wait-for-stable-cluster --minimum-stable-period 2m
4.6.4. etcd 证书轮转警报和指标签名者证书
两种警报类型告知用户待处理的 etcd
证书过期:
etcdSignerCAExpirationWarning
- 在签名者过期前 730 天。
etcdSignerCAExpirationCritical
- 发生 365 天,直到签名者过期。
出于以下原因,您可以轮转证书:
- 您会收到过期警报。
- 私钥被泄漏。
当私钥泄漏时,您必须轮转所有证书。
OpenShift Container Platform 指标系统的 etcd
签名者有一个 etcd signer。在轮转 etcd 证书中替换以下指标参数。
-
etcd-metric-signer
而不是etcd-signer
-
etcd-metrics-ca-bundle
而不是etcd-ca-bundle
4.6.5. 管理
这些证书仅由系统管理,并会自动轮转。
4.6.6. 服务
etcd 证书用于 etcd 对等成员间通信的加密,以及加密客户端流量。以下证书由 etcd 和其他与 etcd 通信的进程生成和使用:
- 对等证书(Peer cerfificate): 用于 etcd 成员之间的通信。
-
客户端证书(Client certificate): 用于加密服务器和客户端间的通信。目前,API 服务器只使用客户端证书,除代理外,其他服务都不应该直接连接到 etcd。客户端 secret(
etcd-client
、etcd-metric-client
、etcd-metric-signer
和etcd-signer
)添加到openshift-config
、openshift-monitoring
和openshift-kube-apiserver
命名空间中。 - 服务器证书(Server certificate): etcd 服务器用来验证客户端请求。
- 指标证书(Metric certificate):所有使用指标的系统都使用 metric-client 证书连接到代理。