$ oc get secret -n openshift-etcd etcd-signer -oyaml > signer_backup_secret.yaml
etcd
证书使用 etcd 集群操作符自动轮换。但是,如果必须在自动轮换之前轮换证书,则可以手动轮换。
通过运行以下命令创建当前签名者证书的备份副本
$ oc get secret -n openshift-etcd etcd-signer -oyaml > signer_backup_secret.yaml
通过运行以下命令删除现有签名者证书
$ oc delete secret -n openshift-etcd etcd-signer
等待静态 Pod 滚动更新,方法是运行以下命令。静态 Pod 滚动更新可能需要几分钟才能完成。
$ oc wait --for=condition=Progressing=False --timeout=15m clusteroperator/etcd
手动轮换不会立即更新信任捆绑包以删除先前签名者证书的公钥。
签名者证书的公钥将在过期日期删除,但是如果必须在过期之前删除公钥,则可以删除它。
通过运行以下命令删除密钥
$ oc delete configmap -n openshift-etcd etcd-ca-bundle
等待静态 Pod 滚动更新,方法是运行以下命令。捆绑包将使用当前签名者证书重新生成,所有未知或未使用的密钥都将被删除。
$ oc adm wait-for-stable-cluster --minimum-stable-period 2m
两个警报会通知用户有关挂起的 etcd
证书过期。
etcdSignerCAExpirationWarning
在签名者过期前 730 天发生。
etcdSignerCAExpirationCritical
在签名者过期前 365 天发生。
这些警报跟踪 openshift-etcd
命名空间中签名者证书颁发机构的过期日期。
您可以出于以下原因轮换证书
您收到过期警报。
私钥泄露。
私钥泄露时,必须轮换所有证书。 |
OpenShift Container Platform 度量系统有一个 etcd
签名者。在“轮换 etcd 证书”中替换以下度量参数。
将 etcd-signer
替换为 etcd-metric-signer
将 etcd-ca-bundle
替换为 etcd-metrics-ca-bundle
etcd 证书用于 etcd 成员节点之间的加密通信以及加密的客户端流量。etcd 和与其通信的其他进程会生成和使用以下证书。
对等节点证书:用于 etcd 成员节点之间的通信。
客户端证书:用于加密的服务器-客户端通信。目前只有 API 服务器使用客户端证书,除了代理之外,其他任何服务都不应直接连接到 etcd。客户端密钥 (etcd-client
、etcd-metric-client
、etcd-metric-signer
和 etcd-signer
) 已添加到 openshift-config
、openshift-monitoring
和 openshift-kube-apiserver
命名空间。
服务器证书:etcd 服务器用于验证客户端请求的证书。
指标证书:所有指标使用者都使用指标客户端证书连接到代理。