Kubernetes pod通过自身服务向本地主机发出的请求不起作用

Kubernetes pod通过自身服务向本地主机发出的请求不起作用,kubernetes,Kubernetes,我有一个名为foo的服务,带有foopod的选择器: apiVersion: v1 kind: Service metadata: labels: name: foo name: foo namespace: bar spec: clusterIP: 172.20.166.230 ports: - port: 8080 protocol: TCP targetPort: 8080 selector: name: foo sessio

我有一个名为
foo
的服务,带有
foo
pod的选择器:

apiVersion: v1
kind: Service
metadata:
  labels:
    name: foo
  name: foo
  namespace: bar
spec:
  clusterIP: 172.20.166.230
  ports:
  - port: 8080
    protocol: TCP
    targetPort: 8080
  selector:
    name: foo
  sessionAffinity: None
  type: ClusterIP
我有一个名为
foo
的部署/吊舱,标签为
foo

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "3"
  generation: 3
  labels:
    name: foo
  name: foo
  namespace: bar
spec:
  selector:
    matchLabels:
      name: foo
  template:
    metadata:
      labels:
        name: foo
    spec:
      containers:
        image: my/image:tag
        imagePullPolicy: Always
        name: foo
        ports:
        - containerPort: 8080
          protocol: TCP
      dnsPolicy: ClusterFirst
我从
foo
pod向
foo
主机发出请求,主机已解决,但请求未通过:

$ curl -vvv foo:8080
* Rebuilt URL to: foo:8080/
*   Trying 172.20.166.230...
* TCP_NODELAY set
这在库伯内特斯应该是这样的吗

从同一名称空间的其他pod请求
foo
,我没有任何问题

我之所以不简单地使用
localhost:8080
(这很好),是因为我有相同的配置文件,不同的pod使用相同的主机,所以我不想为每个pod编写特定的逻辑


Kubernetes 1.6.4,单节点集群,iptables模式。

使用iptables作为代理模式时,这似乎是默认行为。

我也有同样的问题。您可以为SIG网络提交错误报告。