K8S证书过期(kubelet证书轮换失败)

kubeadm证书更新

查看证书有效期

kubeadm alpha certs check-expiration

备份配置文件

kubeadm config view > /root/kubeadm.yaml

重新生成证书,使用该命令不用提前删除过期证书

kubeadm alpha certs renew all

拷贝证书文件到用户目录下

cp -rf /etc/kubernetes/admin.conf /root/.kube/config

重启apiserver,scheduler,controller-manager 容器

docker ps | grep -v pause | grep -E "etcd|scheduler|controller|apiserver" | awk '{print $1}' | xargs docker restart

重启kubelet服务:

systemctl restart kubelet

kubelet证书更新

重启后使用systemctl status kubelet发现 kubelet没有起来,状态一直是尝试重启,查看日志发现报错:

/etc/kubernetes/bootstrap-kubelet.conf: no such file or directory

解决方法

复制/etc/kubernetes/admin.conf文件中client-certificate-data和client-key-data两个特定键的内容粘贴到/etc/kubernetes/kubelet.conf相同键下的文件中。然后只是一个sudo service kubelet restart

更新从节点kubelet token

  1. master节点执行kubeadm token create会获得一个token串
  2. 把得到的token串替换掉每一个从节点上/etc/kubernetes/bootstrap-kubelet.conf文件中token键的内容
  3. 每一个从几点执行systemctl restart kubelet
  4. 主节点执行kubectl get no 显示所有节点为Ready
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐