下面给你一份在 CentOS 上彻底卸载 Kubernetes(k8s)并重新安装的标准流程,适用于 kubeadm 安装方式(最常见)。如果你是用其他方式(如二进制、Rancher、kubespray),可告诉我,我再补充。
kubeadm reset -f
systemctl stop kubelet
systemctl disable kubelet
yum remove -y kubelet kubeadm kubectl
# 或
rpm -e kubelet kubeadm kubectl
rm -rf /etc/kubernetes
rm -rf /var/lib/etcd
rm -rf /var/lib/kubelet
rm -rf /var/lib/cni
rm -rf /etc/cni
rm -rf ~/.kube
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
ipvsadm --clear # 如果用了 ipvs
ip link delete cni0
ip link delete flannel.1
swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab
如果你要“彻底重装”:
yum remove -y docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
yum remove -y containerd
rm -rf /var/lib/containerd
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
cat > /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/repodata/repomd.xml.key
EOF
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
yum install -y containerd
containerd config default > /etc/containerd/config.toml
systemctl restart containerd
systemctl enable containerd
kubeadm init \
--pod-network-cidr=10.244.0.0/16 \
--image-repository=registry.aliyuncs.com/google_containers
mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
✅ 节点 NotReady
→ 网络插件没装或 containerd 没配置
✅ kubeadm init 卡住
→ 检查:
✅ 想完全重装 Master
→ 必须执行 kubeadm reset -f + 删除 /var/lib/etcd
如果你愿意,可以告诉我:
我可以给你精确命令版本。