首页 文章

无法使用相同的节点访问Cluster Ip

提问于
浏览
0

我正在使用v1.5.1版本在CentOS上部署k8s群集

有三个节点:

  • kube-01 (大师)

  • kube-02

  • kube-03

部署了一个名为 Deployment-A 的pod,其中包含pod ip Pod-A-IP ,部署在 kube-03

部署了两个名为 Deployment-B 的pod . 每个工作节点都有一个pod . 我们在 kube-02 上调用 Pod-B-02 ,在 kube-03 调用 Pod-B-03

使用类型NodePort公开 Deployment-A ,我有一个群集IP Service-A-IP

  • Pod-B-02 访问 Service-A-IP ,好的

  • Pod-B-03 访问 Service-A-IP ,超时

  • kube-02 访问 Service-A-IP ,好的

  • kube-03 访问 Service-A-IP ,好的

似乎从具有服务后端的同一节点中的pod访问服务将遇到此问题 .


更新于2月20日星期一16:22:47 CST 2017

我在 Pod-B-03 上捕获了network traffic

  • 10.244.1.10Pod-B-03 的pod ip

  • 10.107.25.245Service-A-IP

  • 10.244.1.2Pod-A-IP

我正在使用法兰绒 . 我建议法兰绒有问题吗?

1 回答

  • 1

    如果我记得正确的话,你描述的问题是我过去的问题......但是我遇到了许多不同错误来源的网络问题 . 如果它确实是同一个问题,那么将 net.bridge.bridge-nf-call-iptablesnet.bridge.bridge-nf-call-ip6tables 设置为1可能会有所帮助 . 您可以先在所有主机上尝试此操作:

    sysctl -w net.bridge.bridge-nf-call-iptables=1
    sysctl -w net.bridge.bridge-nf-call-ip6tables=1
    

    然后再次检查服务网络,而无需重新启动计算机 . 如果这有帮助,请将更改保留到 /etc/sysctl.conf/etc/sysctl.d/

    Kubernetes网络问题往往有无数的错误来源,如果没有足够的信息,很难调试它 . 如果您能提供一些有关如何设置群集(kube-up,kargo,kops,kubeadm,...),您使用哪种 Cloud (或裸机?)以及您使用哪种网络解决方案的其他信息,那将是一件好事 . 选择(编织,印花布, Cloud 提供商,......)

    它也可能有助于查看 iptables -L -t nat 和kube-proxy日志的输出,因为可以使用此信息调试大多数与服务相关的问题 .

    EDIT 我刚刚找到Kubernetes问题,我从中得到了这个解决方案:https://github.com/kubernetes/kubernetes/issues/33798

相关问题