温馨提示×

centos如何卸载k8s重装

小樊
36
2026-09-03 07:32:34
栏目: 智能运维

下面给你一份在 CentOS 上彻底卸载 Kubernetes(k8s)并重新安装的标准流程,适用于 kubeadm 安装方式(最常见)。如果你是用其他方式(如二进制、Rancher、kubespray),可告诉我,我再补充。


一、卸载 Kubernetes(彻底清理)

1. 重置 kubeadm(如果有)

kubeadm reset -f

2. 停止相关服务

systemctl stop kubelet
systemctl disable kubelet

3. 卸载 kubeadm / kubelet / kubectl

yum remove -y kubelet kubeadm kubectl
# 或
rpm -e kubelet kubeadm kubectl

4. 清理 Kubernetes 相关目录

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

5. 清理网络(非常重要)

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

ipvsadm --clear   # 如果用了 ipvs

6. 删除 CNI 插件(如 flannel / calico)

ip link delete cni0
ip link delete flannel.1

7. 关闭 swap(重装也需要)

swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab

8. 卸载容器运行时(可选,但推荐)

如果你要“彻底重装”:

Docker

yum remove -y docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker

containerd

yum remove -y containerd
rm -rf /var/lib/containerd

二、重新安装 Kubernetes(CentOS)

1. 系统准备

setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

systemctl stop firewalld
systemctl disable firewalld

2. 配置 Kubernetes yum 源

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

3. 安装 kubeadm / kubelet / kubectl

yum install -y kubelet kubeadm kubectl
systemctl enable kubelet

4. 安装容器运行时(推荐 containerd)

yum install -y containerd
containerd config default > /etc/containerd/config.toml
systemctl restart containerd
systemctl enable containerd

5. 初始化 Master

kubeadm init \
  --pod-network-cidr=10.244.0.0/16 \
  --image-repository=registry.aliyuncs.com/google_containers

6. 配置 kubectl

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

7. 安装网络插件(以 flannel 为例)

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

三、常见问题

节点 NotReady
→ 网络插件没装或 containerd 没配置

kubeadm init 卡住
→ 检查:

  • swap 是否关闭
  • 防火墙
  • 镜像拉取

想完全重装 Master
→ 必须执行 kubeadm reset -f + 删除 /var/lib/etcd


如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • k8s 版本
  • 单节点还是多节点
  • 是否用 Docker / containerd

我可以给你精确命令版本

0