From cc2cc29dd440e8955b8e3a6b9e515e57b3b72030 Mon Sep 17 00:00:00 2001 From: Hzbb Date: Tue, 31 Oct 2023 06:58:49 +0000 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20'rancher-clear.sh'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rancher-clear.sh | 97 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 rancher-clear.sh diff --git a/rancher-clear.sh b/rancher-clear.sh new file mode 100644 index 0000000..703e589 --- /dev/null +++ b/rancher-clear.sh @@ -0,0 +1,97 @@ +#!/bin/bash +KUBE_SVC=' +kubelet +kube-scheduler +kube-proxy +kube-controller-manager +kube-apiserver +' +for kube_svc in ${KUBE_SVC}; +do + # 停止服务 + if [[ `systemctl is-active ${kube_svc}` == 'active' ]]; then + systemctl stop ${kube_svc} + fi + # 禁止服务开机启动 + if [[ `systemctl is-enabled ${kube_svc}` == 'enabled' ]]; then + systemctl disable ${kube_svc} + fi +done +# 停止所有容器 +docker stop $(docker ps -aq) +# 删除所有容器 +docker rm -f $(docker ps -qa) +# 删除所有容器卷 +docker volume rm $(docker volume ls -q) +# 卸载mount目录 +for mount in $(mount | grep tmpfs | grep '/var/lib/kubelet' | awk '{ print $3 }') /var/lib/kubelet /var/lib/rancher; +do + umount $mount; +done +# 备份目录 +mv /etc/kubernetes /etc/kubernetes-bak-$(date +"%Y%m%d%H%M") +mv /var/lib/etcd /var/lib/etcd-bak-$(date +"%Y%m%d%H%M") +mv /var/lib/rancher /var/lib/rancher-bak-$(date +"%Y%m%d%H%M") +mv /opt/rke /opt/rke-bak-$(date +"%Y%m%d%H%M") +# 删除残留路径 +rm -rf /etc/ceph \ + /etc/cni \ + /opt/cni \ + /run/secrets/kubernetes.io \ + /run/calico \ + /run/flannel \ + /var/lib/calico \ + /var/lib/cni \ + /var/lib/kubelet \ + /var/log/containers \ + /var/log/kube-audit \ + /var/log/pods \ + /var/run/calico \ + /usr/libexec/kubernetes +# 清理网络接口 +no_del_net_inter=' +lo +docker0 +eth +ens +bond +' +network_interface=`ls /sys/class/net` +for net_inter in $network_interface; +do + if ! echo "${no_del_net_inter}" | grep -qE ${net_inter:0:3}; then + ip link delete $net_inter + fi +done +# 清理残留进程 +port_list=' +80 +443 +6443 +2376 +2379 +2380 +8472 +9099 +10250 +10254 +' +for port in $port_list; +do + pid=`netstat -atlnup | grep $port | awk '{print $7}' | awk -F '/' '{print $1}' | grep -v - | sort -rnk2 | uniq` + if [[ -n $pid ]]; then + kill -9 $pid + fi +done +kube_pid=`ps -ef | grep -v grep | grep kube | awk '{print $2}'` +if [[ -n $kube_pid ]]; then + kill -9 $kube_pid +fi +# 清理Iptables表 +## 注意:如果节点Iptables有特殊配置,以下命令请谨慎操作 +sudo iptables --flush +sudo iptables --flush --table nat +sudo iptables --flush --table filter +sudo iptables --table nat --delete-chain +sudo iptables --table filter --delete-chain +systemctl restart docker \ No newline at end of file