原因:
有一台虚拟机在升级内核失败后,回滚至快照。但由于快照版本太老旧,和当前的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添加集群时间较长,需要耐心等待(只要不报错)