k8s v1.19版本之后,自签证书过期x509: certificate has expired or is not yet valid
前言
在 Kubernetes 1.16
版本之前,kubeadm
工具的 alpha certs
子命令用于生成和管理 Kubernetes
集群的证书。然而,从 Kubernetes 1.19
版本开始,kubeadm
引入了一套新的证书管理 API,并移除了 alpha certs
子命令。
kubeadm
的正式证书管理功能来生成和更新 Kubernetes
集群的证书。你可以使用以下命令来生成证书:
kubeadm init phase certs all
这个命令将根据 kubeadm
的配置生成所需的证书。生成的证书将存储在指定的证书目录中,通常是 /etc/kubernetes/pki/
。
解决
#查看证书到期时间
kubeadm certs check-expiration
# 备份 kubernetes配置
cp -r /etc/kubernetes /etc/kubernetes_bak
#更新自签证书
kubeadm certs renew all
# 此时所有证书都已重新生成,在 /etc/kubernetes/pki 下。/etc/kubernetes/admin.conf、/etc/kubernetes/controller-manager.conf、/etc/kubernetes/scheduler.conf 也已经更新了。
#复制配置
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
#之后重启kubelet,docker(master与node都要重启)
systemctl restart docker
systemctl restart kubelet
k8s v1.16.3,Unable to connect to the server: x509: certificate has expired or is not yet valid
说明:
certs renew 使用现有的证书作为属性(Common Name、Organization、SAN 等)的权威来源, 而不是 kubeadm-config ConfigMap。强烈建议使它们保持同步。
kubeadm certs renew 可以更新任何特定的证书,或者使用子命令 all 更新所有的证书,如下所示:
kubeadm certs renew all
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通