无法在IPv4上访问Kubernetes服务

时间:2019-01-30 14:36:22

标签: service kubernetes ip kubernetes-service

我们目前具有以下Kubernetes设置(v1.13.1,使用kubeadm进行设置),并在它们之间建立了连接:

  • 主节点(裸金属)
  • 5个工作节点(裸机)
  • 2个工作节点(云)
  • 两者之间没有代理访问群集,当前我们正在通过hostname:NodePort
  • 访问服务

我们在2个云工作者节点上通过NodePort访问服务时遇到问题。发生的事情是可以通过IPv6而不是通过IPv4访问该服务:

  • IPv6: 远程登录localhost6 30005 尝试:: 1 ... 连接到localhost6。 转义字符为'^]'。
  • IPv4: telnet本地主机4 30005 尝试127.0.0.1 ...

事实是两者都在裸机节点上工作。如果使用netstat -napl | grep 30005,则可以看到kube-proxy正在此端口(tcp6)上监听。我以为这意味着它不会在tcp上监听,但是显然不是这样(我在裸机工作节点上有相同的图片):

tcp6       7      0 :::30005                :::*                    LISTEN      24658/kube-proxy

我还读到服务正在使用IPv6,但是基于裸机辅助节点,似乎在那使用IPv4也应该没有问题。

您知道什么会导致该问题以及如何解决该问题吗?

感谢您和最诚挚的问候, 博斯特让

1 个答案:

答案 0 :(得分:0)

万一有人偶然发现同一问题,则可能是flannel网络覆盖的固件未打开端口的问题:

  • 8285 UDP-法兰绒UDP后端
  • 8472 UDP-法兰绒vxlan后端