无法访问具有相同节点

时间:2017-02-20 07:14:41

标签: kubernetes flannel

我在CentOS上部署k8s群集,版本为v1.5.1

有三个节点:

  • kube-01(主)
  • kube-02
  • kube-03

部署在Deployment-A

上的部署了一个名为Pod-A-IP且已安装了pod kube-03的广告连播

部署了两个名为Deployment-B的pod。每个工作节点都有一个pod。我们在Pod-B-02kube-02

上致电Pod-B-03

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

  • Service-A-IP访问Pod-B-02,确定
  • Service-A-IP访问Pod-B-03,超时
  • Service-A-IP访问kube-02,确定
  • Service-A-IP访问kube-03,确定

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

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

我已在Service-A-IP

上抓取network traffic
  • Pod-B-0310.244.1.10
  • 的pod ip
  • Pod-B-0310.107.25.245
  • Service-A-IP10.244.1.2
我正在使用法兰绒。我建议法兰绒有问题吗?

1 个答案:

答案 0 :(得分: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,...),你使用哪种云(或裸机?)以及你使用哪种网络解决方案,那将是一件好事。选择(编织,印花布,云提供商,......)

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

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