k8s卸载与安装

k8s卸载与安装

参考链接
https://blog.youkuaiyun.com/weixin_39589455/article/details/129160682
https://blog.youkuaiyun.com/LONG_Yi_1994/article/details/127139637
https://blog.youkuaiyun.com/weixin_56752399/article/details/123217472

卸载

1、停止相关服务

首先,如果是卸载k8s-1.24以上版本,需要单独卸载containerd
sudo apt-get purge   --auto-remove containerd.io


# 注意顺序
systemctl stop kubelet 
systemctl stop etcd 
systemctl stop docker

2、卸载

kubeadm reset -f

3、删除相关目录

sudo apt-get purge   --auto-remove kubernetes-cni
sudo apt-get purge --auto-remove kubeadm
sudo apt-get purge --auto-remove kubectl
sudo apt-get purge --auto-remove kubelet

sudo modprobe -r ipip
sudo rm -rf ~/.kube/
sudo rm -rf /etc/kubernetes/
sudo rm -rf /etc/systemd/system/kubelet.service.d
sudo rm -rf /etc/systemd/system/kubelet.service
sudo rm -rf /usr/bin/kube*
sudo rm -rf /etc/cni
sudo rm -rf /opt/cni
sudo rm -rf /var/lib/etcd
sudo rm -rf /var/etcd
sudo apt clean all
sudo apt remove kube*

利用dpkg命令查看是否还有k8s其他服务
dpkg -l |</
<think>好的,我现在需要帮助用户在Kubernetes集群中卸载Flannel并安装Calico v3.15版本。首先,我得回忆一下Flannel和Calico的相关知识,以及它们在Kubernetes中的工作原理。 根据用户提供的引用内容,特别是引用[1]中的步骤,卸载Flannel需要删除其配置文件,比如10-flannel.conflist,可能位于/etc/cni/net.d/目录下。这一步应该在所有节点上执行,以确保彻底移除Flannel的影响。不过,用户提到直接删除配置文件后,还需要重启节点或者相关服务,这可能是因为Flannel的守护进程或CNI插件仍在运行,导致残留的网络接口或路由存在。但重启节点可能比较麻烦,所以需要确认是否有替代方法,比如重启kubelet服务或者删除相关网络接口。 接下来是安装Calico v3.15。根据引用[2],Calico有两种安装方式:使用calico.yaml清单文件或者通过Tigera Calico Operator。用户需要的是v3.15版本,而该版本开始推荐使用Operator方式,但用户可能更倾向于直接使用清单文件安装,因为操作更直接。需要确认v3.15对应的calico.yaml文件的正确下载地址,可能需要查找官方文档中的具体版本链接。 另外,引用[3]提到Flannel为每个节点分配子网,使用VXLAN作为后端,而Calico可能采用不同的网络模型,比如BGP。所以在切换网络插件时,需要注意集群的网络配置是否兼容,比如Pod CIDR的设置是否一致,避免IP冲突。 现在,具体步骤可能包括: 1. 卸载Flannel:删除Flannel的DaemonSet,并清理CNI配置。 2. 删除所有节点上的Flannel残留文件,如提到的rm -rf /etc/cni/net.d/10-flannel.conflist。 3. 重启节点或相关服务,确保Flannel的组件完全停止。 4. 安装Calico v3.15,可能需要下载对应的calico.yaml,并应用该清单。 5. 验证Calico安装是否成功,检查Pod网络是否正常。 需要注意的是,在卸载Flannel后,集群的网络可能会暂时中断,直到Calico被正确安装并运行。此外,节点重启可能不是必须的,但如果有残留的网络接口或路由,可能需要更彻底地清理,比如使用ip link删除虚拟网卡,或者修改路由表。不过,用户提到的引用[1]中建议重启节点可能是一种更简单但影响较大的方法。 另外,安装Calico时,要确保集群满足系统要求,如CPU、内存、操作系统版本等,如引用[2]中提到的。特别是权限方面,Calico需要管理cali和tunl接口,可能需要相应的安全策略或权限配置。 最后,安装完成后,应该检查CoreDNS或其他依赖于网络的组件是否正常运行,可能需要重新启动这些Pod以确保它们获得新的IP地址。</think>### 在Kubernetes卸载Flannel并安装Calico v3.15的步骤 #### **一、卸载Flannel网络插件** 1. **删除Flannel的DaemonSet和资源** ```bash kubectl delete -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml ``` 这会移除Flannel的Pod和相关配置[^3]。 2. **清理所有节点的CNI配置文件** 在所有节点执行以下命令,删除Flannel的残留配置: ```bash rm -rf /etc/cni/net.d/10-flannel.conflist ``` 3. **重启节点或相关服务(可选但推荐)** - **方法1**:重启节点以彻底清理Flannel的虚拟网卡(如`flannel.1`)和路由表。 - **方法2**:仅重启`kubelet`和容器运行时(如Docker/Containerd): ```bash systemctl restart kubelet docker ``` #### **二、安装Calico v3.15** 1. **下载Calico清单文件** 使用官方提供的`calico.yaml`文件(确保版本为v3.15): ```bash curl https://docs.projectcalico.org/v3.15/manifests/calico.yaml -O ``` 2. **修改Pod CIDR(可选)** 如果Flannel和Calico的Pod CIDR不同,需在`calico.yaml`中修改`CALICO_IPV4POOL_CIDR`字段,确保集群配置一致。默认值为`192.168.0.0/16`。 3. **应用Calico清单文件** ```bash kubectl apply -f calico.yaml ``` 4. **验证安装状态** ```bash kubectl get pods -n kube-system | grep calico ``` 正常情况应显示所有Calico Pod处于`Running`状态[^2]。 #### **三、注意事项** - **节点兼容性**:确保节点操作系统为RedHat 7.x+/CentOS 7.x+/Ubuntu 16.04+,并满足CPU和内存要求[^2]。 - **网络中断**:切换网络插件时,已有Pod可能需要重建以获取新IP。 - **Calico配置**:若使用BGP模式,需配置物理网络支持;若使用VXLAN模式,无需额外配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值