K8S集群pod间不能访问的问题?

背景:rancher搭建了一个calico网络组件的K8S集群.pod-a、pod-b部署在test1命名空间中,分别调度到node01、node02上; 现有一个pod-c 部署在test2命名空间中,调度在node03节点上;
现象:在pod-c中ping pod-a 不通,pod-c 中 ping pod-b通达, node01、node02、node03能够互相ping通。 

问题:想请问大佬, pod-c 不能ping 通pod-a 会是什么原因啊?

补充:没有配置任何ingress 和egress

已解决,原因:tunl没有起来 , 关闭networkmanager即恢复。

参与10

2同行回答

lych370lych370联盟成员系统运维工程师个人
不同名称空间,不同node上的pod能否互通,应该跟网络策略有关吧显示全部

不同名称空间,不同node上的pod能否互通,应该跟网络策略有关吧

收起
银行 · 2023-02-23
浏览1085
  • 能的 ,pod-c 中 ping pod-b通达; calico网络组件 没有配置网络策略。
    2023-02-23
zbjjyyzbjjyy运维上海电气
看网络的隔离策略,有的可以做到ns级别的隔离,你要访问另外一个ns的话,需要对方同意才可以访问到他的pod对应的服务。显示全部

看网络的隔离策略,有的可以做到ns级别的隔离,你要访问另外一个ns的话,需要对方同意才可以访问到他的pod对应的服务。

收起
软件开发 · 2023-02-23
浏览1035

ChatGPT 回答

根据问题描述,可以初步判断是网络配置问题导致的无法ping通pod-a。具体来说,可能是pod-a和pod-c所在的命名空间之间没有正确配置网络策略,或者是calico网络组件的配置有误。

首先,可以检查一下pod-a和pod-c所在的命名空间之间是否有网络策略限制。如果存在网络策略,需要确认是否允许pod-c访问pod-a所在的IP地址和端口。如果没有网络策略限制,则需要检查calico网络组件的配置是否正确,确保所有节点都能够正常通信。

另外,根据补充信息,可以看出问题是由于tunl没有起来导致的。tunl是calico网络组件中用于创建隧道的组件,如果没有正确启动,会导致节点之间无法通信。因此,可以检查一下tunl组件的配置和启动情况,确保其正常运行。

最后,如果以上方法都无法解决问题,可以考虑使用网络诊断工具进行排查,例如使用tcpdump抓包分析网络流量,或者使用traceroute等工具定位网络故障点。

提问者

sergio1899
系统运维工程师平安
擅长领域: 云计算容器容器云

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2023-02-23
  • 关注会员:3 人
  • 问题浏览:2249
  • 最近回答:2023-02-23
  • X社区推广