k8s证书过期,更新后kubelet启动失败

早上登录测试环境发现k8s证书过期了

PS:简单,2条命令更新一下证书,没想到麻烦才刚刚开始

刷新证书

# 重新刷新证书
kubeadm certs renew all 
# 查看证书过期时间
kubeadm certs check-expiration

在这里插入图片描述

更新了不好使,分析报错

证书更新了,执行kubectl命令发现不能执行,查看kubelet,发现kubelet没有正常启动,重启发现也不好使

Systemctl status kubelet

在这里插入图片描述
没有可用信息,查看具体报错

journalctl -xu kubelet

在这里插入图片描述
发现了问题

Error: failed to run Kubelet: unable to load bootstrap kubeconfig: stat /etc/kubernetes/bootstrap-kubelet.conf: no such file or directory

缺少bootstrap-kubelet.conf文件,感觉还是证书更新的有问题
那就继续,既然更新证书不好使,那就重新生成

备份一下原有ca证书和配置文件

mkdir  /etc/kubernetes/pkibackup
cd /etc/kubernetes/pki
mv {apiserver.crt,apiserver-etcd-client.key,apiserver-kubelet-client.crt,front-proxy-ca.crt,front-proxy-client.crt,front-proxy-client.key,front-proxy-ca.key,apiserver-kubelet-client.key,apiserver.key,apiserver-etcd-client.crt} ../pkibackup
# 生成证书
kubeadm init --apiserver-advertise-address={master节点IP}  phase certs all
#例
kubeadm init --apiserver-advertise-address=192.168.0.183  phase certs all

# 清理配置文件
mkdir /etc/kubernetes/k8sconfbackup
mv {admin.conf,controller-manager.conf,kubelet.conf,scheduler.conf} k8sconfbackup/

# 生成配置文件
kubeadm init --apiserver-advertise-address={master节点IP} phase kubeconfig all
# 例
kubeadm init --apiserver-advertise-address=192.168.0.183 phase kubeconfig all

执行完成后重启kubelet

systemctl restart kubelet

到了这发现,kubelet可以正常启动,证书也重新生成,但是node节点发现显示No Ready
原因是ca证书和配置文件没有更新过去导致
那就拷贝一下
拷贝ca.crt 和kubelet.conf配置文件到node节点,观察是否正常

拷贝后发现节点还是异常,在这里没有细究,直接执行重新纳管节点

node节点重新绑定节点

登录master节点

# 生成纳管节点命令,记录此命令,后面会在node节点上执行
kubeadm token create --print-join-command

在这里插入图片描述

登录node节点

# 重置节点
kubeadm reset
# 对接master,执行上面记录的命令
kubeadm join 192.168.0.183:6443 --token 804ljn.mdw*****m5xr7 --discovery-token-ca-cert-hash sha256:dfe6a54******************48a6ee3134c085529335012ea2f39895261

执行完成后,登录master节点,kubectl get node查看已经是正常状态

在这里插入图片描述
到这里证书过期引发的问题已经完全解决了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值