![Kubernetes 手动证书续订 - apiserver 证书更新失败](https://linux22.com/image/770208/Kubernetes%20%E6%89%8B%E5%8A%A8%E8%AF%81%E4%B9%A6%E7%BB%AD%E8%AE%A2%20-%20apiserver%20%E8%AF%81%E4%B9%A6%E6%9B%B4%E6%96%B0%E5%A4%B1%E8%B4%A5.png)
我们有一个使用以下方式部署的裸机 k8 集群库贝斯普雷,其证书即将到期。
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not '
要更新证书,请按照官方指南。
kubeadm certs renew all
/etc/kubernetes/manifests/
然后逐个删除了 中的清单文件,但api-server
将其清单移回 后并没有重新启动/etc/kubernetes/manifests
,不得不手动重新启动节点。
这里,建议重启docker容器。
我的问题是:
- 更新证书最安全的方法是什么(节点重启或docker重启)。
- 此证书更新过程对性能有何影响?
- 有没有办法在 kubespray 安装中定义证书有效期?
Kubernetes 版本:1.18.8
Kubeadm:v1.18.8
操作系统:Ubuntu 18.04
答案1
- 另外,您也可以尝试从 /etc/kubernetes/manifests/ 中临时删除其清单文件并等待 20 秒,如您的关联,我找到了类似的解决方法这里。
-
当根 CA 证书更新正在进行时,kubernetes 组件(apiserver、scheduler、controller-manager、kubelet)和应用程序 pod 将重新启动。由于更新是滚动更新,系统将照常运行,但更新期间性能会有轻微影响。用户应按顺序更新主机,以尽量减少影响。https://docs.starlingx.io/specs/specs/stx-6.0/approved/security-2008675-kubernetes-rootca-update.html
- 按照这个问题看起来好像没有这样的办法。