尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
k8s中flannel网络平滑的切换为calico网络
1.查看flannel的网络rootubuntu0:~# kubectl get pods -n kube-flannelNAME READY STATUS RESTARTS AGE kube-flannel-ds-9wqdk1/1 Running12(10d ago)116d kube-flannel-ds-lp7nk1/1 Running12(10d ago)116d kube-flannel-ds-t7ch41/1 Running19(10d ago)116d rootubuntu0:~# kubectl get pods -n kube-systemNAME READY STATUS RESTARTS AGE coredns-6d8c4cb4d-8d8wn1/1 Running17(10d ago)116d coredns-6d8c4cb4d-rrtjc1/1 Running17(10d ago)116d etcd-ubuntu01/1 Running121(10d ago)116d kube-apiserver-ubuntu01/1 Running98(10d ago)116d kube-controller-manager-ubuntu01/1 Running47(10d ago)116d kube-proxy-2pl6v1/1 Running2(10d ago)46d kube-proxy-hwsck1/1 Running2(10d ago)46d kube-proxy-vt67q1/1 Running2(10d ago)46d kube-scheduler-ubuntu01/1 Running50(10d ago)116d 查看网络配置 rootubuntu0:~# cat /etc/cni/net.d/10-flannel.conflist{name:cbr0,cniVersion:0.3.1,plugins:[{type:flannel,delegate:{hairpinMode:true,isDefaultGateway:true}},{type:portmap,capabilities:{portMappings:true}}]}rootubuntu0:~# ip routedefault via192.168.23.2 dev ens33 proto static10.100.0.0/24 dev cni0 proto kernel scopelinksrc10.100.0.110.100.1.0/24 via10.100.1.0 dev flannel.1 onlink10.100.2.0/24 via10.100.2.0 dev flannel.1 onlink172.17.0.0/16 dev docker0 proto kernel scopelinksrc172.17.0.1 linkdown172.18.0.0/16 dev br-23e5e68d8326 proto kernel scopelinksrc172.18.0.1 linkdown172.20.0.0/16 dev br-5adcfddabf95 proto kernel scopelinksrc172.20.0.1192.168.23.0/24 dev ens33 proto kernel scopelinksrc192.168.23.99 下载calico网络 rootubuntu0:~# wget https://calico-v3-25.netlify.app/archive/v3.25/manifests/calico.yamlrootubuntu0:~# vim calico.yamlrootubuntu0:~# sed -i s/CALICO_IPV4POOL_CIDR: 192.168.0.0\/16/CALICO_IPV4POOL_CIDR: 172.16.0.0\/16/g calico.yamlrootubuntu0:~#rootubuntu0:~#rootubuntu0:~# kubectl apply -f calico.yamlpoddisruptionbudget.policy/calico-kube-controllers created serviceaccount/calico-kube-controllers created serviceaccount/calico-node created configmap/calico-config created customresourcedefinition.apiextensions.k8s.io/bgpconfigurations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/bgppeers.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/blockaffinities.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/caliconodestatuses.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/clusterinformations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/felixconfigurations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/globalnetworkpolicies.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/globalnetworksets.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/hostendpoints.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ipamblocks.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ipamconfigs.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ipamhandles.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ippools.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/ipreservations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/kubecontrollersconfigurations.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/networkpolicies.crd.projectcalico.org created customresourcedefinition.apiextensions.k8s.io/networksets.crd.projectcalico.org created clusterrole.rbac.authorization.k8s.io/calico-kube-controllers created clusterrole.rbac.authorization.k8s.io/calico-node created clusterrolebinding.rbac.authorization.k8s.io/calico-kube-controllers created clusterrolebinding.rbac.authorization.k8s.io/calico-node created daemonset.apps/calico-node created deployment.apps/calico-kube-controllers created rootubuntu0:~# cat /etc/cni/net.d/10-calico.conflist{name:k8s-pod-network,cniVersion:0.3.1,plugins:[{type:calico,log_level:info,log_file_path:/var/log/calico/cni/cni.log,datastore_type:kubernetes,nodename:ubuntu0,mtu:0,ipam:{type:calico-ipam},policy:{type:k8s},kubernetes:{kubeconfig:/etc/cni/net.d/calico-kubeconfig}},{type:portmap,snat:true,capabilities:{portMappings:true}},{type:bandwidth,capabilities:{bandwidth:true}}]}删除flannel网络 rootubuntu0:~# kubectl delete -f flannel/kube-flannel.ymlnamespacekube-flanneldeleted serviceaccountflanneldeleted clusterrole.rbac.authorization.k8s.ioflanneldeleted clusterrolebinding.rbac.authorization.k8s.ioflanneldeleted configmapkube-flannel-cfgdeleted daemonset.appskube-flannel-dsdeleted 为什么为什么flannel网卡还在 网络接口是持久化的Flannel 创建的虚拟网络接口如 flannel.1、cni0 和 veth*是 Linux 内核中的对象删除 Kubernetes 资源不会自动清理这些接口。这些接口需要手动删除或通过重启节点自动清理。CNI 的残留配置Flannel 的 CNI 配置文件可能仍存在于 /etc/cni/net.d/ 目录中这会影响新 CNI 插件如 Calico的安装。 rootubuntu0:~# ip a|tail -n 30inet192.168.0.10/32 scope global kube-ipvs0 valid_lft forever preferred_lft forever inet192.168.20.201/32 scope global kube-ipvs0 valid_lft forever preferred_lft forever inet192.168.0.1/32 scope global kube-ipvs0 valid_lft forever preferred_lft forever31: flannel.1:BROADCAST,MULTICAST,UP,LOWER_UPmtu1450qdisc noqueue state UNKNOWN group default link/ether c2:42:84:db:a1:93 brd ff:ff:ff:ff:ff:ff inet10.100.0.0/32 scope global flannel.1 valid_lft forever preferred_lft forever inet6 fe80::c042:84ff:fedb:a193/64 scopelinkvalid_lft forever preferred_lft forever32: cni0:BROADCAST,MULTICAST,UP,LOWER_UPmtu1450qdisc noqueue state UP group default qlen1000link/ether a2:cc:78:01:99:07 brd ff:ff:ff:ff:ff:ff inet10.100.0.1/24 brd10.100.0.255 scope global cni0 valid_lft forever preferred_lft forever inet6 fe80::a0cc:78ff:fe01:9907/64 scopelinkvalid_lft forever preferred_lft forever1.手动删除网络接口 rootubuntu0:~# ip link delete flannel.1rootubuntu0:~# ip link delete cni0rootubuntu0:~# ansible all -m shell -a ip link delete flannel.1;ip link delete cni0192.168.23.97|CHANGED|rc0192.168.23.98|CHANGED|rc02.删除 Flannel 的 CNI 配置文件 rootubuntu0:~# rm -rf /etc/cni/net.d/10-flannel.conflistrootubuntu0:~# ls /var/lib/cni/cache/ flannel/ networks/ rootubuntu0:~# rm -rf /var/lib/cni/*3.重启kubelet rootubuntu0:~# systemctl restart kubelet4.重启节点部署calico官网 https://docs.tigera.io/calico/3.29/getting-started/kubernetes/requirements rootubuntu0:~# kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.29.4/manifests/tigera-operator.yamlrootubuntu0:~# wget https://raw.githubusercontent.com/projectcalico/calico/v3.29.4/manifests/custom-resources.yamlrootubuntu0:~# grep cidr custom-resources.yamlcidr:10.100.1.0/16#修改和kubeadm初始化一样的网段rootubuntu0:~# kubectl apply -f custom-resources.yamlinstallation.operator.tigera.io/default created apiserver.operator.tigera.io/default created 下载calicoctl工具 https://archive-os-3-25.netlify.app/archive rootubuntu0:~# curl -L https://github.com/projectcalico/calico/releases/download/v3.27.5/calicoctl-linux-amd64 -o calicoctl移动Calicoctl到PATH变量[rootmaster231 ~]# mv calicoctl /usr/local/bin/[rootmaster231 ~]#添加执行权限[rootmaster231 ~]# chmod x /usr/local/bin/calicoctl[rootmaster231 ~]#[rootmaster231 ~]# ll /usr/local/bin/calicoctl-rwxr-xr-x1root root63805704Feb2810:15 /usr/local/bin/calicoctl*[rootmaster231 ~]#rootubuntu0:~# kubectl -n calico-system get pods -o wide | grep -E ubuntu1|ubuntu2calico-kube-controllers-9d99b9966-fbp5p0/1 CrashLoopBackOff8(2m50s ago)26m10.100.2.101 ubuntu1nonenonecalico-typha-7656d5444d-jmcqt0/1 CrashLoopBackOff7(2m56s ago)26m192.168.23.98 ubuntu1nonenonecsi-node-driver-tjggq2/2 Running05h43m10.100.2.100 ubuntu1nonenonecsi-node-driver-xcdrk2/2 Running06h11m10.100.1.32 ubuntu2nonenone节点未完整注册到 Calico rootubuntu0:~# calicoctl patch node ubuntu1 -p {spec: {bgp: {ipv4Address: 192.168.23.98/24}}}Successfully patched1Noderesource rootubuntu0:~# calicoctl patch node ubuntu2 -p {spec: {bgp: {ipv4Address: 192.168.23.97/24}}}Successfully patched1Noderesource rootubuntu0:~# calicoctl get nodes -o wideNAME ASN IPV4 IPV6 ubuntu0(64512)192.168.23.99/24 ubuntu1(64512)192.168.23.98/24 ubuntu2(64512)192.168.23.97/24 rootubuntu0:~# kubectl -n calico-system get pods -o wide | grep -E ubuntu1|ubuntu2calico-kube-controllers-9d99b9966-fbp5p0/1 Running9(5m38s ago)29m10.100.2.101 ubuntu1nonenonecalico-typha-7656d5444d-jmcqt0/1 Running8(5m44s ago)29m192.168.23.98 ubuntu1nonenonecsi-node-driver-tjggq2/2 Running05h45m10.100.2.100 ubuntu1nonenonecsi-node-driver-xcdrk2/2 Running06h14m10.100.1.32 ubuntu2nonenone
RELATED

相关推荐

2026年课程、师资、学费三项指标对照香港EMBA含金量

2026年课程、师资、学费三项指标对照香港EMBA含金量

2026年课程、师资、学费三项指标对照香港EMBA含金量为什么择校时要先参考EMBA公开口碑反馈?判断香港EMBA含金量的核心参考维度,可通过课程设置、师资配置、学费投入三项公开可查的指标交叉验证,无需依赖非官方的排名营销话术。近年来国内高管…

📅 2026/9/13 22:32:27
3分钟掌握Buzz:本地音频转录的终极免费解决方案

3分钟掌握Buzz:本地音频转录的终极免费解决方案

3分钟掌握Buzz:本地音频转录的终极免费解决方案 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz 音频转录、离线翻…

📅 2026/9/4 16:34:22
如何快速上手MAA明日方舟助手:面向新手的完整开源自动化工具实战指南

如何快速上手MAA明日方舟助手:面向新手的完整开源自动化工具实战指南

如何快速上手MAA明日方舟助手:面向新手的完整开源自动化工具实战指南 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址…

📅 2026/9/9 20:54:28
MORE NEWS

更多资讯

📰

从Activity Log生成周报:工作事件模型、聚合规则与事实边界

自动生成周报的可靠路径,不是让模型扫描所有聊天并自由总结,而是先建立轻量 Activity Log:用结构化工作事件记录结果、决定、阻塞、行动和来源,再按项目与时间聚合,最后由模型负责表达压缩。 工作事件模型 type WorkEv…

📰

「Python 翻车日记 · 第 12 篇」一行 read() 读 5GB,电脑就炸了?——文件是流,不是一坨

Python 翻车日记 第 12 篇:一行 read() 读 5GB,电脑就炸了?——文件是流,不是一坨 📋 本期菜单:6 个文件 I/O 的坑 + 1 个模式速查,从「read OOM」到「JSON 中文转义」 [入门] read OOM with 句柄泄漏 glob 不递归 二进制写 str [进阶] os.path.join 绝对路径丢弃 …

📰

K值新国标落地!2026选门窗不看这个参数,冬天多交一半暖气费

最近不少准备装修的朋友发现,去门店选窗户,销售都在提一个参数——K值。有的说是2.0,有的说是1.5,还有的说是1.1。这到底是个啥?新国标实施后,K值不达标会有什么后果?今天一篇讲清楚。K值到底是…

📰

Agent安全:权限控制与沙箱执行

Agent安全:权限控制与沙箱执行 专栏:AI/LLM工程化实战 - 从Prompt到Agent的完整落地指南 模块4 Agent工程实战篇 第42篇 摘要 摘要:Agent权限最小化、工具白名单、代码沙箱subprocess受限执行、敏感数据脱敏、审计日志,是Agent安全防护的五大核心手段。用可运行Python实现一道工…

📰

AI 辅助 Python 排错:从多出一个空页到回归测试

4 条数据,每页 2 条,分页函数却返回了 3 页,最后一页还是空的。 代码没有抛异常,接口也可能正常返回成功状态。直到调用方发现“下一页”里什么都没有,问题才暴露出来。 这类 Bug 很适合用来练习 AI 辅助排错&#x…

📰

Atlas 300V 24G推理卡实战:从零部署YOLOv5全流程

如果你最近在调研AI推理卡,大概率会刷到Atlas 300V 24G这个名字。上周还有朋友直接问我:这卡到底算不算运算加速卡,买回来能不能跑YOLO?我没有直接给结论,而是把工位上这块Atlas 300V Pro 24G从零到一部署YOLOv5的全过…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬