栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

K8S-解决报错--总结日记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

K8S-解决报错--总结日记

问题一:etcd和apiserver无法正常启动 问题查看nodes节点发生报错

解决方法/步骤 步骤一:K8S集群节点异常重启后,再终端执行kubectl get nodes命令,出现报错dial tcp 10.200.18.100:6443: connect: connection refused。 步骤二:通过docker ps -a可以看到api现在处于exit退出状态。

步骤三:查看apiserver服务容器的启动日志, 发现又出现报错Error while dialing dial tcp 127.0.0.1:2379: connect: connection refused,2379是etcd的端口,那么apiserver是由于etcd无法连接而启动不了。

步骤四: 接着查看etcd的启动日志,发现报错mvcc: cannot unmarshal event: proto: wrong wireType = 0 for field Key。经查询资料,此报错是由于服务器非正常关机(意外掉电,强制拔电)后 etcd数据损坏导致的,这个节点之前确实是出现异常关机,etcd无法启动,那么解决此问题就行了。

步骤五: 按照指导进行操作,在故障节点上停止etcd服务并删除损坏的 etcd 数据,现在etcd服务本来就没有启动,删除前先备份数据,最后启动etcd服务。 注:容器的数据在/var/lib目录下,按照下图操作。
root@k8s-master:/var/lib/etcd# find ./ -type d -name member
./member
root@k8s-master:/var/lib/etcd# cd ./member
root@k8s-master:/var/lib/etcd/member# ls
snap  wal
root@k8s-master:/var/lib/etcd/member# mkdir ../bak
root@k8s-master:/var/lib/etcd/member# mv * ../bak/
root@k8s-master:/var/lib/etcd/member# ls

步骤六:最后先启动etcd服务,然后启动api-server,执行kubectl get nodes后可以正常显示节点状态,问题解决。

可以重启容器

root@k8s-master:/var/lib/etcd/member# docker start 37f1e8e68a81  重启 etcd

root@k8s-master:/var/lib/etcd/member# docker start c32fbf338038  重启 api

/etcd/member# docker start c32fbf338038 重启 api


![image-20220725175143197](https://img-blog.csdnimg.cn/img_convert/08c7edc74f3785d2957d7e6badb59244.png)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028139.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号