重新部署 Kubernetes 集群时,如何保持客户端证书有效?
When re-deploying a Kubernetes cluster, how can I keep the client certificates valid?
我们希望能够随时重新部署我们的 Kubernetes 集群,以便在一切都搞砸时采取紧急措施,或者作为升级到新 Kubernetes 版本的简便方法。我们从头开始;特别是 /etc/kubernetes 被清除了。但这迫使我们之后分发新的用户证书。但是,当前的应该仍然有效。
我们该怎么做?在 /etc/kubernetes 中存储一些文件(肯定不是全部)并将它们复制回集群?如果是这样,哪些文件?并在 kubeadm init
调用之前或之后将它们复制回去?还是使用 kubeadm 的证书相关参数之一更好?
您可以将所有证书保存在与默认目录 /etc/kubernetes/pki
不同的目录中。您在 运行 kubeadm init
之前这样做。现在 运行 kubeadm init
通过 --cert-dir
标志或 kubeadm 的 ClusterConfiguration 的 certificatesDir 字段指定该目录。
另一种选择是通过在 kubeadm init
中指定 --skip-phases=certs,kubeconfig
来跳过证书和配置生成。
证书有时会过期,然后您可以续订它们kubeadm alpha certs renew
https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/
我们希望能够随时重新部署我们的 Kubernetes 集群,以便在一切都搞砸时采取紧急措施,或者作为升级到新 Kubernetes 版本的简便方法。我们从头开始;特别是 /etc/kubernetes 被清除了。但这迫使我们之后分发新的用户证书。但是,当前的应该仍然有效。
我们该怎么做?在 /etc/kubernetes 中存储一些文件(肯定不是全部)并将它们复制回集群?如果是这样,哪些文件?并在 kubeadm init
调用之前或之后将它们复制回去?还是使用 kubeadm 的证书相关参数之一更好?
您可以将所有证书保存在与默认目录 /etc/kubernetes/pki
不同的目录中。您在 运行 kubeadm init
之前这样做。现在 运行 kubeadm init
通过 --cert-dir
标志或 kubeadm 的 ClusterConfiguration 的 certificatesDir 字段指定该目录。
另一种选择是通过在 kubeadm init
中指定 --skip-phases=certs,kubeconfig
来跳过证书和配置生成。
证书有时会过期,然后您可以续订它们kubeadm alpha certs renew
https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/