重新部署Kubernetes群集时,如何保持客户端证书有效?

重新部署Kubernetes群集时,如何保持客户端证书有效?,kubernetes,client-certificates,pki,kubeadm,Kubernetes,Client Certificates,Pki,Kubeadm,我们希望能够在任何时候重新部署Kubernetes群集,以便在一切都一团糟时采取紧急措施,或者作为升级到新Kubernetes版本的简单方法。我们从头开始;特别是,/etc/kubernetes被消灭了。但这迫使我们在以后分发新的用户证书。然而,目前的建议应该仍然有效 我们怎么做?将一些文件存储在/etc/kubernetes中(当然不是全部),然后将它们复制回集群?如果有,哪些文件?然后在调用kubeadm init之前或之后将它们复制回来?或者最好使用一个与证书相关的参数对kubeadm?您

我们希望能够在任何时候重新部署Kubernetes群集,以便在一切都一团糟时采取紧急措施,或者作为升级到新Kubernetes版本的简单方法。我们从头开始;特别是,/etc/kubernetes被消灭了。但这迫使我们在以后分发新的用户证书。然而,目前的建议应该仍然有效


我们怎么做?将一些文件存储在/etc/kubernetes中(当然不是全部),然后将它们复制回集群?如果有,哪些文件?然后在调用
kubeadm init
之前或之后将它们复制回来?或者最好使用一个与证书相关的参数对kubeadm?

您可以将所有证书保存在不同于默认目录
/etc/kubernetes/pki
的目录中。在运行
kubeadm init
之前执行此操作。现在运行
kubeadm init
时,通过
--cert dir
标志或kubeadm集群配置的certificatesDir字段

另一种选择是通过在
kubeadm init
中指定
--skip phases=certs,kubeconfig
跳过证书和配置生成

在某个时刻,证书将过期,然后您可以续订它们
kubeadm alpha证书续订


您可以将所有证书保存在不同于默认目录的目录中
/etc/kubernetes/pki
。您可以在运行
kubeadm init
之前执行此操作。现在,在运行
kubeadm init
时,通过
--cert dir
标志或kubeadm集群配置的certificatesDir字段指定该目录

另一种选择是通过在
kubeadm init
中指定
--skip phases=certs,kubeconfig
跳过证书和配置生成

在某个时刻,证书将过期,然后您可以续订它们
kubeadm alpha证书续订


关于
.conf
文件中的证书,例如
admin.conf
?它们是否也需要恢复?.conf文件不需要更改,除非重新生成ca证书……因此,如果您遵循其中一种方法,那么使用conf文件的客户端仍将继续工作所有
/etc/kubernetes/*.conf
文件(YAML)都包含客户端密钥和证书。因此,除了
pki/
之外,我们还应该保留它们?是的,您应该保留它们或跳过该阶段,
.conf
文件中的证书如何,例如
admin.conf
?它们是否也需要恢复?.conf文件不需要更改,除非重新生成ca证书……因此,如果您遵循其中一种方法,那么使用conf文件的客户端仍将继续工作所有
/etc/kubernetes/*.conf
文件(YAML)都包含客户端密钥和证书。因此,除了pki之外,我们还应该保留它们?是的,您应该保留它们或跳过该阶段