如何更新kubernetes过期证书

发布时间:2021-12-22 17:05:48 作者:小新
来源:亿速云 阅读:397

这篇文章将为大家详细讲解有关如何更新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输出类似如下信息: 如何更新kubernetes过期证书

证书更新策略:

多master节点证书更新

备份原始配置和证书

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

更新证书

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

⚠️ 不同的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/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
  1. 验证etcd:查看etcd中某个节点的docker日志,日志中所有etcd peer均active且加入到同一个集群

  2. 验证kubernetes 集群:运行kubectl cluster-infokubectl 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过期证书”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

推荐阅读:
  1. Kubernetes证书相关(CFSSL)
  2. kubernetes怎么更新过期证书?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

kubernetes

上一篇:如何在Chrome中使用即时支付功能

下一篇:mysql中出现1053错误怎么办

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》