kubeadm证书续签
在 Kubernetes 集群中,kubeadm 提供了管理证书的功能,包括自动续签证书。以下是关于如何使用 kubeadm 自动续签证书的详细步骤:
证书自动续签机制
Kubernetes 1.15 及更高版本中,kubeadm 部署的证书默认有效期为 1 年。Kubernetes 控制平面包含一个名为 kube-controller-manager 的组件,它运行一个 certificatesigningrequests 的控制器,可以自动签发新证书。
开启自动续签
kubeadm 的证书自动续签需要在集群中启用 kubelet 的 自动轮换功能。
1. 确保启用了证书轮换
检查 kubelet 的配置文件 /var/lib/kubelet/config.yaml,确保启用了以下选项:
serverTLSBootstrap: true
rotateCertificates: true
如果没有这两个选项,请添加它们,然后重启 kubelet:
systemctl restart kubelet
这会启用 kubelet 定期轮换其自己的证书。
检查证书过期时间
使用以下命令查看证书的有效期:
kubeadm certs check-expiration
输出会显示所有证书的过期日期,例如:
CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY EXTERNALLY MANAGED
admin.conf Aug 17, 2025 08:47 UTC 364d ca no
apiserver Aug 17, 2025 08:47 UTC 364d ca no
...
手动续签证书
如果发现证书即将过期,可以手动触发证书续签:
如果是高可用部署的k8s集群,则需要在所有master执行
-
更新所有证书:
kubeadm certs renew all -
仅更新某个特定证书:
比如更新 API 服务器证书:kubeadm certs renew apiserver -
更新后重启组件:
续签证书后,需要重启 Kubernetes 控制平面组件以加载新证书:systemctl restart kubelet
常见问题
-
如何查看
kubeadm生成的证书路径?
默认情况下,kubeadm管理的证书存储在/etc/kubernetes/pki。 -
kubelet 自动轮换失败怎么办?
如果kubelet证书未自动更新,可以手动删除/var/lib/kubelet/pki中的旧证书,重启kubelet:rm -rf /var/lib/kubelet/pki/* systemctl restart kubelet -
证书更新后仍提示过期?
确保所有相关服务(如kube-apiserver、kube-controller-manager、kube-scheduler)已重启加载新证书。
通过以上方法,可以确保 kubeadm 管理的证书在到期前自动更新,避免集群因证书过期导致的不可用问题。

浙公网安备 33010602011771号