原因
有一台虚拟机在升级内核失败后,回滚至快照。但由于快照版本太老旧,和当前的rancher版本不匹配,服务器上的agent等需要清楚后,重新在rancher添加集群;但是只删除了rancher镜像以及agent相关容器,在添加之后连接失败,报错[etcd] Failed to bring up Etcd Plane: [etcd] Etcd Cluster is not healthy,查看etcd容器日志如下,
在这里插入图片描述
解决方法
百度之后找到原因:删除齐郡的适合需要把所有相关容器资源全部删除,需要执行以下操作
# 在虚拟机上执行以下操作

step1:删除rancher相关容器(注:以下命令会删除所有容器,如果你的虚拟机还有rancher集群之外的其他容器,也会被删掉)

$ docker rm -f $(docker ps -qa)
$ docker rmi -f $(docker images -q)

step2:删除mount挂载点

$ for mount in $(mount | grep tmpfs | grep ‘/var/lib/kubelet’ | awk ‘{ print $3 }’) /var/lib/kubelet /var/lib/rancher; do umount $mount; done

step3:删除映射的目录

$ rm -rf /etc/ceph
/etc/cni
/etc/kubernetes
/opt/cni
/opt/rke
/run/secrets/kubernetes.io
/run/calico
/run/flannel
/var/lib/calico
/var/lib/etcd
/var/lib/cni
/var/lib/kubelet
/var/lib/rancher/rke/log
/var/log/containers
/var/log/kube-audit
/var/log/pods
/var/run/calico

step4:重启机器

$ reboot

清除完资源和再次添加集群就可以了,不再报错了。其中etcd服务启动较慢,且rancher添加集群时间较长,需要耐心等待(只要不报错)

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐