#!/bin/bash

RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'

echo -e "${YELLOW}开始删除Kubernetes集群...${NC}"

echo -e "${YELLOW}停止Kubernetes相关服务...${NC}"
systemctl stop kubelet 2>/dev/null
systemctl stop docker 2>/dev/null
systemctl stop etcd 2>/dev/null
systemctl stop containerd 2>/dev/null
systemctl disable kubelet 2>/dev/null
systemctl disable docker 2>/dev/null
systemctl disable etcd 2>/dev/null
systemctl disable containerd 2>/dev/null

echo -e "${YELLOW}卸载Kubernetes组件...${NC}"
yum remove -y kubeadm kubelet kubectl 2>/dev/null
yum remove -y kubernetes-cni 2>/dev/null

echo -e "${YELLOW}卸载Docker...${NC}"
yum remove -y docker-ce docker-ce-cli containerd.io 2>/dev/null

echo -e "${YELLOW}清理配置文件...${NC}"
rm -rf /etc/kubernetes
rm -rf /var/lib/etcd
rm -rf /var/lib/kubelet
rm -rf /var/lib/dockershim
rm -rf /var/lib/cni
rm -rf /var/run/calico
rm -rf /var/run/flannel
rm -rf /opt/cni
rm -rf /etc/cni

echo -e "${YELLOW}清理Docker数据...${NC}"
rm -rf /var/lib/docker
rm -rf /data/docker
rm -rf /etc/docker

echo -e "${YELLOW}清理网络配置...${NC}"
ip link delete cni0 2>/dev/null
ip link delete docker0 2>/dev/null
ip link delete flannel.1 2>/dev/null

echo -e "${YELLOW}清理iptables规则...${NC}"
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

echo -e "${YELLOW}清理IPVS规则...${NC}"
ipvsadm --clear 2>/dev/null

echo -e "${YELLOW}清理残留进程...${NC}"
pkill -f kubelet
pkill -f kube-proxy
pkill -f flanneld
pkill -f calico
pkill -f etcd

echo -e "${YELLOW}清理日志文件...${NC}"
rm -rf /var/log/containers
rm -rf /var/log/pods
rm -rf /var/log/kube*

echo -e "${YELLOW}清理用户和组...${NC}"
userdel -r kube 2>/dev/null
groupdel kube 2>/dev/null

echo -e "${YELLOW}清理systemd服务文件...${NC}"
rm -f /etc/systemd/system/kubelet.service
rm -f /etc/systemd/system/kubelet.service.d/*
rm -f /usr/lib/systemd/system/kubelet.service

systemctl daemon-reload
systemctl reset-failed

echo -e "${YELLOW}清理包缓存...${NC}"
yum clean all

echo -e "${GREEN}Kubernetes集群已彻底删除！${NC}"
echo -e "${YELLOW}请重启系统以确保生效${NC}"
