calico ebpf 数据平面下 nodeport 服务访问问题排查

2022-03-08 13:52:46 +08:00
 jarry118

背景

最近把 calico ipip 模式,切换到了 calico ebpf, 过程就不细讲了,就是按照官方手册,先把 backend 改成 vxlan,然后启用 ebpf 模式,关闭了 kube-proxy 和 iptables;

问题

切换到 ebpf 之后,发现 nodeport 相关的服务,访问不通了。到节点上 netstat 查看,发现对应 nodeport 端口没有被监听。现在 nodeport 的服务,只能访问 pod 所在节点的 ip ,k8s 集群其他节点,以 nodeip:port 访问不了了。

对 k8s 网络熟悉的大佬,麻烦指点下排查思路,目前卡在这里没了进展。

1714 次点击
所在节点    Kubernetes
4 条回复
chris89
2022-03-08 14:08:44 +08:00
重新部署下 pod 试试,之前遇到过更换网络组件后要重新部署所有的 pod 。
jarry118
2022-03-08 14:23:04 +08:00
@chris89 这个刚测试了,部署了新的 nodeport 服务,发现集群内部各个节点之间 telnet 端口都是通的,集群外部访问的话,只能访问 pod 所在节点的 nodeport 端口
YzSama
2022-03-08 20:45:28 +08:00
发现对应 nodeport 端口没有被监听。

你 k8s 集群节点是 ready 吗? 重启对应的节点试过吗?
jarry118
2022-03-09 08:42:49 +08:00
@YzSama 节点都是 ready 状态,升级 ebpf 后,每个节点都重启过

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/838853

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX