千家信息网

如何更新kubernetes过期证书

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关如何更新kubernetes过期证书,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。kubeadm 版本在kubernetes 1.15
千家信息网最后更新 2026年11月03日如何更新kubernetes过期证书

这篇文章将为大家详细讲解有关如何更新kubernetes过期证书,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

kubeadm 版本在kubernetes 1.15 版本 提供了强大的证书管理功能,本文章适用于kubernetes1.15以下版本(文章中kubernetes版本是1.13.2)。

1.15 版本的证书管理相关文档:

  1. 官方文档-使用 kubeadm 进行证书管理

  2. [官方文档-kubeadm alpha 使用说明]9https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-alpha/)

查看证书有效期方法:

openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not '

⚠️ kubeadm 默认生成的ca证书有效期是10年,其他证书(如etcd证书,apiserver证书)有效期均为1年。

更新证书和配置

整体思路:

  1. 备份:在进行证书更新前,建议备份/etc/kubernetes,防止操作失误。

  2. 更新证书:使用kubeadm alpha certs renew重新生成证书。仅更新***.key文件,需要原始的crt文件才能生成对应的key文件。

  3. 更新配置:使用kubeadm init phase kubeconfig all --config ${kubeadm.yaml配置文件}或者kubeadm alpha kubeconfig user 命令。

⚠️ 不同版本的kubeadm对于证书renew的命令有细微的差异,具体情况需要依据已经安装的kubeadm来判断。通过命令行kubeadm alpha certs renew --help输出类似如下信息:

证书更新策略:

  • 单主节点:可以直接运行kubeadm alpha certs renew all --config kubeadm.yaml完成证书更新。然后替换kubelet配置

  • 多主节点:建议使用原ca证书(有效期10年),每个组件(etcd、apiserver 等)单独更新。

多master节点证书更新

备份原始配置和证书

所有master节点运行命令:cp -r /etc/kubernetes /home/heguangfu/kubernetes

更新证书

所有master节点依次完成如下命令:

  • etcd 心跳证书:kubeadm alpha certs renew etcd-healthcheck-client --config kubeadm-config.ict15.yaml

  • etcd peer证书:kubeadm alpha certs renew etcd-peer --config kubeadm-config.ict15.yaml

  • etcd server证书:kubeadm alpha certs renew etcd-server --config kubeadm-config.ict15.yaml

  • front-proxy-client 证书:kubeadm alpha certs renew front-proxy-client --config kubeadm-config.ict15.yaml

  • apiserver-etcd-client 证书kubeadm alpha certs renew apiserver-etcd-client --config kubeadm-config.ict15.yaml

  • apiserver-kubelet-client 证书kubeadm alpha certs renew apiserver-kubelet-client --config kubeadm-config.ict15.yaml

  • apiserver 证书kubeadm alpha certs renew apiserver --config kubeadm-config.ict15.yaml

⚠️ 不同的master节点使用的kubeadm配置有细微的差异,执行更新证书是,每个master在--config后面使用原来集群创建时,当前master对应的kubeadm配置文件。

更新配置

所有master节点,在更新完证书后,使用kubeadm init phase kubeconfig all --config ${kubeadm.yaml配置文件}更新kubernetes 配置

验证集群状态

清理前次的kubectl权限信息:rm -rf $HOME/.kube。

重新配置kubectl权限信息:

mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
  1. 验证etcd:查看etcd中某个节点的docker日志,日志中所有etcd peer均active且加入到同一个集群

  2. 验证kubernetes 集群:运行kubectl cluster-info和kubectl get nodes 符合预期。

  3. 确性kubernetes 系统相关的服务运行正常(核心是kube-apiserver,kube-controller-manager,kube-proxy, kube-flannel):kubectl get pods -n kube-system

  4. 检查pod的运行状态:kubectl get pods --all-namespaces。

可能的问题

  1. Part of the existing bootstrap client certificate is expired: 2020-01-19 15:10:17 +0000 UTC:确认全部证书更新,并且证书更新好后,更新了kubernetes配置

  2. api server日志:Unable to authenticate the request due to an error: [x509: certificate has expired or is not yet valid, x509: certificate has expired or is not yet valid]。可能原因有:证书过期;证书部分更新;master上包含了代理配置,导致对apiserver的请求走了代理,证书认证通不过(运行unset http_proxy;unset ftp_proxy;unset socks_proxy;unset https_proxy,取消代理配置)。

关于"如何更新kubernetes过期证书"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

证书 更新 配置 节点 文件 版本 运行 命令 有效 有效期 集群 信息 备份 文档 日志 篇文章 代理 生成 管理 验证 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 九亚互联网科技 佩信高科技互联网 互联网科技教育视频 彤创互联网科技有限公司 苏州铭阳互联网科技有限公司 互联网媒体平台算高科技产业 本届互联网博览会上的黑科技 畅思互联网科技 卓翼科技产业互联网合作 徐州市互联网科技有限公司 华中科技大学互联网的牛人 富国互联网金融科技混合基金 宇信科技在杭州互联网排第几 2021世界互联网领先科技成果发布 抖集互联网科技技术咨询 互联网科技新闻 互联网界的黑科技 互联网科技收购价值 易租星互联网科技有限公司 优雇互联网科技有限公司 南京欣网互联网络科技 伟宏互联网科技 深圳九邦互联网科技有限公司 西安互联网科技 深圳卡尔迅互联网科技有限公司怎么样 济南和联互联网科技有限公司 元气玛特互联网科技公司是外包吗 互联网科技股为什么大涨 江苏互联网科技小贷 亚光科技低轨卫星互联网
0