4.6. etcd 证书
4.6.1. 用途 复制链接链接已复制到粘贴板!
etcd 证书由 etcd-signer 签名; 证书来自由 bootstrap 过程生成的证书颁发机构 (CA)。
4.6.2. 过期 复制链接链接已复制到粘贴板!
CA 证书有效期为 10 年。对等证书、客户端证书和服务器证书的有效期为三年。
4.6.3. 轮转 etcd 证书 复制链接链接已复制到粘贴板!
etcd
证书使用 etcd 集群 Operator 自动轮转。但是,如果在证书被自动轮转前必须轮转证书,您可以手动轮转它。
流程
运行以下命令,生成当前签名者证书的备份副本:
oc get secret -n openshift-etcd etcd-signer -oyaml > signer_backup_secret.yaml
$ oc get secret -n openshift-etcd etcd-signer -oyaml > signer_backup_secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来删除现有签名者证书:
oc delete secret -n openshift-etcd etcd-signer
$ oc delete secret -n openshift-etcd etcd-signer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,等待静态 pod 推出。静态 pod 推出可能需要几分钟时间才能完成。
oc wait --for=condition=Progressing=False --timeout=15m clusteroperator/etcd
$ oc wait --for=condition=Progressing=False --timeout=15m clusteroperator/etcd
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.4. 从捆绑包中删除未使用的证书颁发机构 复制链接链接已复制到粘贴板!
手动轮转不会立即更新信任捆绑包以删除以前签名者证书的公钥。
签名者证书的公钥在过期日期时被删除,但如果需要在过期前删除公钥,您可以删除它。
流程
运行以下命令来删除密钥:
oc delete configmap -n openshift-etcd etcd-ca-bundle
$ oc delete configmap -n openshift-etcd etcd-ca-bundle
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,等待静态 pod 推出部署。捆绑包使用当前签名者证书重新生成,并删除所有未知或未使用的密钥。
oc adm wait-for-stable-cluster --minimum-stable-period 2m
$ oc adm wait-for-stable-cluster --minimum-stable-period 2m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.6.5. etcd 证书轮转警报和指标签名者证书 复制链接链接已复制到粘贴板!
两个警报告知用户待处理的 etcd
证书过期:
etcdSignerCAExpirationWarning
- 在签名者过期前 730 天。
etcdSignerCAExpirationCritical
- 发生 365 天,直到签名者过期。
这些警报跟踪 openshift-etcd
命名空间中的签名人证书颁发机构的过期日期。
出于以下原因,您可以轮转证书:
- 您会收到过期警报。
- 私钥被泄漏。
当私钥泄漏时,您必须轮转所有证书。
OpenShift Container Platform 指标系统的 etcd
签名者有一个 etcd signer。在轮转 etcd 证书中替换以下指标参数。
-
etcd-metric-signer
而不是etcd-signer
-
etcd-metrics-ca-bundle
而不是etcd-ca-bundle
4.6.6. 管理 复制链接链接已复制到粘贴板!
这些证书仅由系统管理,并会自动轮转。
4.6.7. 服务 复制链接链接已复制到粘贴板!
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-etcd
,openshift-etcd-operator
, andopenshift-kube-apiserver
命名空间。 - 服务器证书(Server certificate): etcd 服务器用来验证客户端请求。
- 指标证书(Metric certificate):所有使用指标的系统都使用 metric-client 证书连接到代理。