文章目录
- 前言
- 一、报错信息
- 二、查看证书过期时间
- 三、备份证书
- 四、更新证书
- 4.1、场景一:证书还未过期更新
- 4.2、场景二:证书已经过期更新
- 4.2.1、有配置文件
- 4.2.2、无配置文件
- 五、重启服务
- 六、查看证书过期时间
- 总结:整理不易,如果对你有帮助,可否点赞关注一下?
前言
说明:kubernetes证书过期处理流程适用于单master或多master的kubeadm安装部署方式。
一、报错信息
如下图所示:
说明:如上图报错则表明kubernetes证书过期了,需要重新续签证书。
二、查看证书过期时间
find /etc/kubernetes/pki -name "*.crt"|xargs -I{} openssl x509 -in {} -noout -dates|grep notAfter
如下图所示:
三、备份证书
cp -r /etc/kubernetes /etc/kubernetes.bak
四、更新证书
4.1、场景一:证书还未过期更新
说明:由于做了kubernetes证书监控,证书还有10天过期,这个时候可以在kubernetes集群出现问题之前手动更新证书。
# 1、生产配置文件
kubeadm config view > kubeadm-config.yaml
# 2、更新证书
kubeadm alpha certs renew all --config kubeadm-config.yaml
kubeadm alpha kubeconfig user --client-name=admin
kubeadm alpha kubeconfig user --org system:masters --client-name kubernetes-admin > /etc/kubernetes/admin.conf
kubeadm alpha kubeconfig user --client-name system:kube-controller-manager > /etc/kubernetes/controller-manager.conf
kubeadm alpha kubeconfig user --org system:nodes --client-name system:node:$(hostname) > /etc/kubernetes/kubelet.conf
kubeadm alpha kubeconfig user --client-name system:kube-scheduler > /etc/kubernetes/scheduler.conf
# 3、复制证书
mv ~/.kube ~/.kube.bak
mkdir ~/.kube
cp /etc/kubernetes/admin.conf ~/.kube/config
4.2、场景二:证书已经过期更新
4.2.1、有配置文件
说明:由于未做kubernetes证书监控或者做了kubernetes证书监控未及时处理,导致集群不可用。
# 1、配置文件
找到kubeadm-config.yaml文件所在文件,这里路径为 /data/pkgs/kubernete-tools/install-kubernetes
# 2、更新证书
kubeadm alpha certs renew all --config /data/pkgs/kubernete-tools/install-kubernetes/kubeadm-config.yaml
kubeadm alpha kubeconfig user --client-name=admin
kubeadm alpha kubeconfig user --org system:masters --client-name kubernetes-admin > /etc/kubernetes/admin.conf
kubeadm alpha kubeconfig user --client-name system:kube-controller-manager > /etc/kubernetes/controller-manager.conf
kubeadm alpha kubeconfig user --org system:nodes --client-name system:node:$(hostname) > /etc/kubernetes/kubelet.conf
kubeadm alpha kubeconfig user --client-name system:kube-scheduler > /etc/kubernetes/scheduler.conf
# 2、复制证书
mv ~/.kube ~/.kube.bak
mkdir ~/.kube
cp /etc/kubernetes/admin.conf ~/.kube/config
4.2.2、无配置文件
# 1、配置文件
如果找不到配置文件,则使用date命令将修改服务器时间为过期前时间
# 2、生成配置文件
kubeadm config view > kubeadm-config.yaml
# 2、更新证书
kubeadm alpha certs renew all --config kubeadm-config.yaml
kubeadm alpha kubeconfig user --client-name=admin
kubeadm alpha kubeconfig user --org system:masters --client-name kubernetes-admin > /etc/kubernetes/admin.conf
kubeadm alpha kubeconfig user --client-name system:kube-controller-manager > /etc/kubernetes/controller-manager.conf
kubeadm alpha kubeconfig user --org system:nodes --client-name system:node:$(hostname) > /etc/kubernetes/kubelet.conf
kubeadm alpha kubeconfig user --client-name system:kube-scheduler > /etc/kubernetes/scheduler.conf
# 3、复制证书
mv ~/.kube ~/.kube.bak
mkdir ~/.kube
cp /etc/kubernetes/admin.conf ~/.kube/config
五、重启服务
docker restart $(docker ps | grep kube-apiserver | grep pause |awk '{print $1}')
docker restart $(docker ps | grep kube-apiserver | grep -v pause |awk '{print $1}')
systemctl restart kubelet.service
六、查看证书过期时间
find /etc/kubernetes/pki -name "*.crt"|xargs -I{} openssl x509 -in {} -noout -dates|grep notAfter
如下图所示:
说明:上图中表明证书已经更新完成,如果有多台master,需要执行上述操作。
下一章将介绍:《Kubernets证书篇:kubernetes1.17.4证书时间过期》
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:企业级K8s集群运维实战