一、背景

有一台虚拟机,曾经用来做过rancher集群的agent(角色:etcd、control、worker),后来我删除了这个集群,现在又想用这台虚拟机做rancher集群,结果添加失败,报[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

清除完之前集群的资源后再添加集群就可以成功了。

Logo

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

更多推荐