k8s之认证文件丢失

报错

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

解决方法一:

重新生成一遍证书:

  • 备份并重新生成证书(这样会全部重置集群)
cd /etc/kubernetes/pki/
mkdir backup
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 backup
kubeadm init phase certs all
  • 备份并重新生成配置文件
cd /etc/kubernetes/
mkdir backup
mv admin.conf controller-manager.conf kubelet.conf scheduler.conf  backup
kubeadm init phase kubeconfig all

配置文件生成完后,会将原有的pod,svc,ns等资源去除,配置的一些内容也会更新,需要确认。

如:你将master节点设置为可以调度,将配置文件重新生成后,master节点会恢复到原来的不可调度的情况,当你的k8s集群只要一个master节点,那么pod将没有机器可以调度。

pod会一直处于pending的状态,这时describe查看pod信息。

目前只找到一种解决方法,没有做快照,这种方法处理完,没有办法测试其他方法了,哈哈。(不过这种方法不太适合在生产环境,自己搭着学习可以使用,etcd的元数据会全部重置)

Logo

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

更多推荐