缥帙各舒散,前后互相逾。这篇文章主要讲述Kubeadm集群证书过期后的处理相关的知识,希望能为你提供帮助。
背景:紧接上文kubernetes与velero的第一次尝试。恩主要是强调一下我要准备撤销这一个集群!业务迁移完了: nacos gitlab nexus....然后我就人为等集群证书过期了.....当然了正常的集群证书过期可以通过更新集群小版本进行证书的更新!我这里正好遇到集群撤销的场景,我就想看一下证书过期的场景了......
过期前的表现.......
文章图片
now 现在过期了......
[root@sh-master-01 ~]# kubectl get nodes
error: You must be logged in to the server (Unauthorized)
注:集群为3master高可用集群
关于Kubeadm集群证书过期后的处理 1. 要不要先备份一下?只是一个个人的习惯吧....其实证书到期的更换流程很成熟了。操作集群以及更改配置之前,按照个人习惯备份一下etcd和/etc/kubernetes目录:
[root@sh-master-01 ~]# cp -rp /etc/kubernetes /etc/kubernetes.bak
[root@sh-master-01 ~]# cp -r /var/lib/etcd /tmp/etcd-backup/
2. 确认一下证书是否过期......这一步算是画蛇添足吧,肯定是过期了,这里只是复习几个命令:
[root@sh-master-02 ~]# kubeadm version###只是确定一下版本
[root@sh-master-02 ~]# cd /etc/kubernetes/pki &
&
openssl x509 -in apiserver.crt -text -noout
[root@sh-master-02 ~]# kubeadm certs check-expiration
注:3个master节点任意节点执行!
文章图片
文章图片
3. 更新证书-- kubeadm certs renew --help【Kubeadm集群证书过期后的处理】kubeadm certs renew --help可以查看一下具体用法,当然了我这里就直接all了!
[root@sh-master-02 pki]# kubeadm certs renew all
文章图片
确认一下证书是否续期并按照更新证书提示重新启动kebelet:
[root@sh-master-02 pki]# kubeadm certs check-expiration
[root@sh-master-02 pki]# systemctl restart kubelet
并切换到/etc/kubernetes/pki目录下发现证书都已经更新!
[root@sh-master-02 pki]# cd /etc/kubernetes/pki
[root@sh-master-02 pki]# ll
文章图片
重新执行一下kubectl get nodes:
[root@sh-master-02 ~]# kubectl get nodes
error: You must be logged in to the server (Unauthorized)
what ?证书不是更新了吗?
[root@sh-master-02 pki]# cd /etc/kubernetes
[root@sh-master-02 pki]# cat admin.conf
文章图片
admin.conf也同时发送了改变!要更新配置文件!
[root@sh-master-02 kubernetes]# cp admin.conf /root/.kube/config
cp:是否覆盖/root/.kube/config? y
[root@sh-master-02 kubernetes]# kubectl get nodes
NAMESTATUSROLESAGEVERSION
sh-master-01Readycontrol-plane,master366dv1.21.1
sh-master-02Readycontrol-plane,master366dv1.21.1
sh-master-03Readycontrol-plane,master366dv1.21.1
sh-work-01Ready<
none>
366dv1.21.1
sh-work-02Ready<
none>
366dv1.21.1
sh-work-03Ready<
none>
366dv1.21.1
同理在 其他两台master节点执行更新:
kubeadm certs renew all
systemctl restart kubelet
cp admin.conf /root/.kube/config
当然了....接着可以假装一下升级一下小版本:
[root@sh-master-02 kubernetes]# yum list --showduplicates kubeadm --disableexcludes=kubernetes
文章图片
这里就忽略具体的过程了!
思考: 1.设置证书十年有没有必要?很多人搭建kubernetes集群设置十年证书,到底有没有必要?网上很多人写这样的文章,感觉很牛的样子?kubernetes的更新流程为觉得很好了。本应该就是滚动的进行更新,设置十年是为了十年不更新集群吗?那完全没有必要用kubernetes了为觉得
2.版本的更新也确实有坑跨版本更新的时候也确实很容易有问题,比如:apiversion 的更改,网络组件的匹配,或者其他组件?甚至马上就要移除的docker!这只能通过看官方文档和测试环境进行测试,然后去迁移升级集群,这也是个人认同的一个学习路径与方法!直面挑战,去解决问题,而不是逃避。
推荐阅读
- 存储性能测试漫谈
- C语言简单实现“猜数字小游戏”
- 递归和非递归(青蛙跳台阶讲解)
- lvm缩减和迁移快照删除等
- 如何为 .NET 项目自定义强制代码样式规则#yyds干货盘点#
- springboot html vue.js 前后分离代码示例
- 4种典型限流实践保障应用高可用|云效工程师指北
- OpenHarmony——ets自定义弹窗UI组件封装
- 月薪过万必会的(双亲委托模型)