一、概述
我们知道,k8s各项组件之间的通信,都是使用https协议进行的,也就是ca证书,那么我们也知道ca证书都是有“有限期的”,一旦过期,系统就无法进行通信了;
这也是k8s在企业当中经常遇到的证书过期问题,也是需要我们来监控的;避免系统无法使用;
二、查询证书有效期
当然,折中查询方式,仅限于我们是kubeadm部署k8s集群,才能用,如果你是二进制部署,那么这个命令是不管用了,你需要使用创建证书的工具去查询;
[root@k8s231 ~]# kubeadm certs check-expiration
三、安全起见,重要的数据先备份
#备份证书
[root@k8s231 ~]# cp -rf /etc/kubernetes/ /etc/kubernetes.bak
#备份数据库
[root@k8s231 ~]# cp -rf /var/lib/etcd/ /var/lib/etcd.bak
四、升级证书
温馨提示:根证书默认创建有效期都是十年,我们不用关注,只需要关注客户端证书即可,默认客户端有效期是1年;
[root@k8s231 ~]# kubeadm certs renew all
升级后,再次查看证书,可以看到,有效期延长了(默认是再次变成有效期65天);
五、重启相关组件的pod
提示,不重启,不生效;就是删除pod;他自动回拉取新的;
[root@k8s231 ~]# kubectl delete pods -n kube-system etcd-k8s231 kube-apiserver-k8s231 kube-controller-manager-k8s231 kube-scheduler-k8s231
至此,证书升级完毕;