我们目前有以下 Kubernetes 设置(v1.13.1,使用 设置kubeadm
),它们之间设置了连接:
- 主节点(裸机)
- 5 个工作节点(裸机)
- 2 个工作节点(云)
- 中间没有代理来访问集群,目前我们正在通过以下方式访问服务
hostname:NodePort
NodePort
我们在通过2 个云工作节点访问服务时遇到问题。发生的事情是该服务可以通过 IPv6 访问,但不能通过 IPv4:
- IPv6: telnet localhost6 30005 Trying ::1... 已连接到 localhost6。转义字符是 '^]'。
- IPv4: telnet localhost4 30005 正在尝试 127.0.0.1...
问题是两者都在裸机节点上工作。如果我使用netstat -napl | grep 30005
,我可以看到kube-proxy
正在侦听此端口 ( tcp6
)。我认为这意味着它不听tcp
,但显然情况并非如此(我在裸机工作节点上有相同的图片):
tcp6 7 0 :::30005 :::* LISTEN 24658/kube-proxy
我还读到服务正在使用 IPv6,但基于裸机工作节点,似乎在那里使用 IPv4 也不应该有问题。
知道什么会导致该问题以及如何解决吗?
谢谢你和最好的问候, Bostjan