Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

In a Kubernetes cluster based on a public network, machine A is unable to ping the pods running on machine B. #1822

Open
WhiteWaterrrr opened this issue Nov 6, 2023 · 2 comments

Comments

@WhiteWaterrrr
Copy link

I have set up a k8s cluster based on the public network, using the Flannel plugin with VXLAN. Machine A and machine B have different private networks, and A and B can ping each other. However, machine A cannot ping the pod running on machine B. After packet capture analysis, it was found that the pod on machine B received the ping packet and returned the ping packet, but the eth0 network card on machine A did not receive it.

@foursunZero
Copy link

hey, guys.Is it convenient for you to display your routing or iptables information? I think there may be no corresponding route.

@Sacerdoss
Copy link

Sacerdoss commented Mar 25, 2024

It seems like we're running into the same issue after upgrading to debian 12.5 (Kernel 6.1.76-1).

kubeadm version: v1.28.7
flannel version: v0.24.4
cni version: v1.2.0

We have flannel setup in Dualstack mode on a kubeadm cluster using the following net-conf.json:

{
  "Network": "10.244.0.0/16",
  "Backend": {
    "Type": "vxlan"
  },
  "EnableIPv6": true,
  "IPv6Network": "2001:db8:42:0::/56"
}

Interestingly enough the routes were all working directly after the upgrade but after restarting a node the IPv6 routes between pods on different nodes from that restarted node were down. The IPv4 routes however kept working. After restarting the rollout for the kube-flannel daemonset the routes started working again but any node restart will kill them again.

ip -6 route shows the following before and after restart of the node:

2001:db8:42::/64 via 2001:db8:42:: dev flannel-v6.1 metric 1024 onlink pref medium
2001:db8:42:2::/64 via 2001:db8:42:2:: dev flannel-v6.1 metric 1024 onlink pref medium
2001:db8:42:4::/64 via 2001:db8:42:4:: dev flannel-v6.1 metric 1024 onlink pref medium
2001:db8:42:5::/64 via 2001:db8:42:5:: dev flannel-v6.1 metric 1024 onlink pref medium
2001:db8:42:6::/64 via 2001:db8:42:6:: dev flannel-v6.1 metric 1024 onlink pref medium
2001:db8:42:7::/64 via 2001:db8:42:7:: dev flannel-v6.1 metric 1024 onlink pref medium
2001:db8:42:8::/64 via 2001:db8:42:8:: dev flannel-v6.1 metric 1024 onlink pref medium
2001:db8:42:9:: dev flannel-v6.1 proto kernel metric 256 pref medium
2001:db8:42:9::/64 dev cni0 proto kernel metric 256 pref medium
2001:db8:42:a::/64 via 2001:db8:42:a:: dev flannel-v6.1 metric 1024 onlink pref medium
2001:db8:42:b::/64 via 2001:db8:42:b:: dev flannel-v6.1 metric 1024 onlink pref medium
2001:db8:42:e::/64 via 2001:db8:42:e:: dev flannel-v6.1 metric 1024 onlink pref medium
<SERVER_IPv6>::/64 dev enp0s31f6 proto kernel metric 256 pref medium
fe80::/64 dev enp0s31f6 proto kernel metric 256 pref medium
fe80::/64 dev flannel.1 proto kernel metric 256 pref medium
fe80::/64 dev flannel-v6.1 proto kernel metric 256 pref medium
fe80::/64 dev cni0 proto kernel metric 256 pref medium
fe80::/64 dev vethb74a35fd proto kernel metric 256 pref medium
fe80::/64 dev veth653394f6 proto kernel metric 256 pref medium
default via fe80::1 dev enp0s31f6 metric 1024 onlink pref medium

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants