I'm setting up a single node (for now) Kubernetes 1.6.1 "cluster" on bare-metal with CentOS 7.

My setup is as follow:

  • Master IP: 10.88.139.41/21
  • Service CIDR: 172.16.60.0/24
  • Cluster/Flannel CIDR: 172.16.34.0/23

I got all the components working and talking to each other with SSL enabled and I'm able to schedule pods, so that part works.

But I've been struggling for days with routing from the pods CIDR to the outside net and also to the service CIDR.

The ping/curl situation right now:

  • Pod -> Pod: OK
  • Node -> Pod: fails
  • Pod -> Node: fails
  • Pod -> Service: fails
  • Node -> Service: OK

I currently only have a single node, so I'm not really interested in checking if the Flannel tunnel is working, I'll cross that bridge when I get there.

I did notice that ARP requests are sent over the cni0 bridge when trying to contact things outside the Flannel net from a pod, but the other interfaces remain silent and the requests are never replied to.

Also, if I run a container with Docker directly it's able to ping the outside net and the service CIDR, but not the pods. This leads me to think that there's an issue with the how iptables is setup for the cni0 bridge.

I compiled a Gist of everything I tried and configured, at this point I started playing with every single flag related to network so things might be weird: https://gist.github.com/wwwiiilll/017d721785523b75c0acd26c13cb566e

I'm really out of things to check.


EDIT: I fixed it by removing the docker0 bridge and the --bip options based on this CoreOS issue, is this the right way to go? That issue is from a year ago, has things changed?

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.