k8 - 卸载

想要完整卸载 k8s,是个非常痛苦的事情,因为会有残留很多垃圾,甚至会影响到下一次的部署,

以下是我们正在用的脚本,只能说,经过很多次测试,目前看起来没啥问题,不保证适合所有人。

# 卸载所有节点的k8s
kubeadm reset -f

# 卸载相关程序
yum remove -y kubelet kubeadm kubectl

# 删除相关的配置文件
modprobe -r ipip
lsmod

# 删除cni网络,calico/flannel网络的残留文件
ifconfig cni0 down
ip link delete cni0
ifconfig flannel.1 down
ip link delete flannel.1
rm -rf /var/lib/cni
rm -rf /etc/cni/net.d


sudo rm -rvf $HOME/.kube
sudo rm -rvf root/.kube
sudo rm -rvf ~/.kube/
sudo rm -rvf /etc/kubernetes/

sudo rm -rvf /etc/systemd/system/kubelet.service.d
sudo rm -rvf /etc/systemd/system/kubelet.service

sudo rm -rvf /usr/bin/kube*

sudo rm -rvf /etc/cni
sudo rm -rvf /opt/cni

sudo rm -rvf /var/lib/etcd
sudo rm -rvf /var/etcd

sudo rm -rvf /usr/local/bin/kubelet 
sudo rm -rvf /usr/local/bin/kubectl 
sudo rm -rvf /usr/local/bin/kubeadm

rm -rf /etc/ssl/etcd
rm -rf /var/lib/etcd
rm -rf /usr/local/bin/etcd 
rm -rf /usr/local/bin/etcdctl 
rm -rf /etc/systemd/system/etcd.service 
rm -rf /etc/etcd.env 

rm -rf /usr/lib/firewalld/services/etcd-client.xml 
rm -rf /usr/lib/firewalld/services/etcd-server.xml


# 以下是删除containerd的镜像
nerdctl kill $(nerdctl ps -a --namespace k8s.io) --namespace k8s.io
nerdctl rm $(nerdctl ps -a -q --namespace k8s.io) --namespace k8s.io
nerdctl rmi -f $(nerdctl images -q --namespace k8s.io) --namespace k8s.io

# 以下是删除docker的镜像
docker kill $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi -f $(docker images -q)

posted on 2017-11-26 22:17  疯狂的妞妞  阅读(432)  评论(0)    收藏  举报

导航