在 Vagrant 中使用 flannel CNI 搭建K8S,导致的POD间不能ping通的问题解决

本文记录了一次在Vagrant虚拟环境中,使用flannel CNI搭建Kubernetes集群时遇到的POD间无法通信的问题及解决过程。问题表现为节点能ping通本节点的pod,同一节点的pod能相互ping通,但不同节点的pod无法通信。解决方案在于修改kube-flannel.yaml配置,选择正确的网络接口。通过查阅flannel官方文档,了解到Vagrant分配的第二个接口应被flannel使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此问题解决花费了两天时间,上网找了不少资料,仍没有解决问题,最后是看flannel的官方资料时找到了问题答案。遇到问题查官方资料是多么重要

环境

vagrant + VM BOX 虚拟环境

1主 + 2 节点

CentOS 7.8.2003

k8s 1.26

flannel 0.22.0

问题现象:

节点能 ping 通本节点的 pod ,同一节点的 pod 能相互 ping 通

不同节点之间的 pod 无法 ping 通,包括 节点 ping pod

问题解决过程:

查看 路由 信息

[vagrant@k8s-master ~]$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0
10.244.0.0      0.0.0.0         255.255.255.0   U     0      0        0 cni0
10.244.1.0      10.244.1.0      255.255.255.0   UG    0      0        0 flannel.1
10.244.2.0      10.244.2.0      255.255.255.0   UG    0      0        0 flannel.1
192.168.111.0   0.0.0.0         255.255.255.0   U     101    0        0 eth1

[vagrant@k8s-work01 ~]$ route
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    100    0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0
10.244.0.0      10.244.0.0      255.255.255.0   UG    0      0        0 flannel.1
10.244.1.0      0.0.0.0         255.255.255.0   U     0      0        0 cni0
10.244.2.0      10.244.2.0      255.255.255.0   UG    0      0        0 flannel.1
192.168.111.0   0.0.0.0         255.255.255.0   U     101   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值