分享免费的编程资源和教程

网站首页 > 技术教程 正文

k8s集群证书过期的解决方案

goqiw 2024-09-24 15:51:54 技术教程 32 ℃ 0 评论

kubernetes集群证书的有效期默认是1年,包括master节点的组件apiserver、etcd、proxy和node节点的kubelet证书。

当kubernetes证书过期之后,登录到master节点执行kubectl get nodes会报错,有提示:

The connection to the server ip:6443 was refused - did you specify the right host or port?

这种情况可能是认证证书过期造成的。解决故障的步骤如下:

1.查看kubeadm的版本:

kubeadm version

比如是v1.23.1

2.查看证书是否到期:

kubeadm certs check-expiration

3.备份pki文件

cp -a /etc/kubernetes/pki /etc/kubernetes/pki-backup$(date +%F)

4.renew证书:

kubeadm certs renew all

5.查看证书有效期:

kubeadm certs check-expiration

6.查看证书到期,可以用for循环查看:

cd /etc/kubernetes/pki

for i in $(ls *.crt); do echo "===$i==="; openssl x509 -in $i -text -noout | grep -A 3 'Validity'; done

7.查看节点情况:

kubectl get node

发现k8s master节点已经是ready状态。

8.查看节点证书状态:

openssl x509 -in /var/lib/kubelet/pki/kubelet-client-current.pem -noout -text | grep Not

9.在kubernetes master节点生成kubelet证书:

mkdir -p /tmp/worker

kubeadm init --kubernetes-version=v1.23.1 phase kubeconfig kubelet --node-name k8snode --kubeconfig-dir /tmp/worker

10.拷贝kubernetes master节点证书到node节点:

scp /tmp/worker/kubelet.conf 目的IP:/etc/kubernetes/

11.node节点重启kubelet服务:

systemctl restart kubelet

12.在kubernetes master节点执行命令:

kubectl get nodes

鼓励的话语:一个人可以不屠龙,但不能不磨剑,无论是对工作还是生活,都要时刻准备着,等待下一个机遇的到来。司马懿磨剑十年,只为挥剑一次。耐得住寂寞,才能受得住繁华。做人如水,做事如山。要有水的韧劲,要有山的沉稳!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表