73

我按照本指南使用kubeadm安装了 kubernetes 集群。一段时间后,我决定重新安装 K8s,但遇到了删除所有相关文件的麻烦,并且在官方网站上找不到任何文档如何删除通过 kubeadm 安装的集群。是否有人遇到过同样的问题并知道删除所有文件和依赖项的正确方法?先感谢您。

有关更多信息,我删除了 kubeadmkubectlkubelet usingapt-get purge/remove但是当我再次开始安装集群时,我得到了下一个错误:

[preflight] Some fatal errors occurred:
    Port 6443 is in use
    Port 10251 is in use
    Port 10252 is in use
    /etc/kubernetes/manifests is not empty
    /var/lib/kubelet is not empty
    Port 2379 is in use
    /var/lib/etcd is not empty
4

6 回答 6

139

在我的“Ubuntu 16.04”中,我使用后续步骤来完全删除和清理 Kubernetes(使用“apt-get”安装):

kubeadm reset
sudo apt-get purge kubeadm kubectl kubelet kubernetes-cni kube*   
sudo apt-get autoremove  
sudo rm -rf ~/.kube

重新启动计算机。

于 2018-03-13T10:03:43.723 回答
75

使用kubeadm reset命令。这将取消配置 Kubernetes 集群。

于 2017-06-22T13:56:21.177 回答
16

如果您正在清除集群以便重新启动,那么除了@rib47 所说的之外,我还执行以下操作以确保我的系统处于kubeadm init再次准备就绪的状态:

kubeadm reset -f
rm -rf /etc/cni /etc/kubernetes /var/lib/dockershim /var/lib/etcd /var/lib/kubelet /var/run/kubernetes ~/.kube/*
iptables -F && iptables -X
iptables -t nat -F && iptables -t nat -X
iptables -t raw -F && iptables -t raw -X
iptables -t mangle -F && iptables -t mangle -X
systemctl restart docker

然后,您需要重新安装docker.iokubeadmkubectl,并kubelet确保它们是您的发行版的最新版本,然后再重新初始化集群。

编辑:发现 calico 将防火墙规则添加到raw表中,因此也需要清除。

于 2020-06-30T13:08:00.573 回答
15
kubeadm reset 
/*On Debian base Operating systems you can use the following command.*/
# on debian base 
sudo apt-get purge kubeadm kubectl kubelet kubernetes-cni kube* 


/*On CentOs distribution systems you can use the following command.*/
#on centos base
sudo yum remove kubeadm kubectl kubelet kubernetes-cni kube*


# on debian base
sudo apt-get autoremove

#on centos base
sudo yum autoremove

/For all/
sudo rm -rf ~/.kube
于 2020-03-18T06:14:38.377 回答
11

您链接的指南现在有一个Tear Down部分:

使用适当的凭据与 master 对话,运行:

kubectl drain <node name> --delete-local-data --force --ignore-daemonsets
kubectl delete node <node name>

然后,在要移除的节点上,重置所有 kubeadm 安装状态:

kubeadm reset
于 2018-04-13T10:41:18.657 回答
6

我使用以下脚本完全卸载现有的 Kubernetes 集群及其正在运行的 docker 容器

sudo kubeadm reset

sudo apt purge kubectl kubeadm kubelet kubernetes-cni -y
sudo apt autoremove
sudo rm -fr /etc/kubernetes/; sudo rm -fr ~/.kube/; sudo rm -fr /var/lib/etcd; sudo rm -rf /var/lib/cni/

sudo systemctl daemon-reload

sudo iptables -F && sudo iptables -t nat -F && sudo iptables -t mangle -F && sudo iptables -X

# remove all running docker containers
docker rm -f `docker ps -a | grep "k8s_" | awk '{print $1}'`
于 2021-04-12T08:38:13.907 回答