kube-proxy不会redirect到正确的节点

我试图在4个虚拟机上运行一个Kubernetes集群(一个主机和一个3分钟)。 我正在尝试部署由1个主服务器和2个服务器组成的应用程序。 服务器应该能够与主人沟通,如果他们在不同的服务器上使用服务Ip关联到主人。

这是应用程序的主服务的定义

apiVersion: v1 kind: Service metadata: name: "container-master" namespace: default spec: clusterIP: 10.254.3.160 ports: - name: "p0" nodePort: 0 port: 52100 targetPort: 8001 protocol: "TCP" selector: name: "container-master-pod" 

相关的复制控制器是:

 > apiVersion: "v1" kind: "ReplicationController" metadata: name: > "container-master-controller" namespace: default spec: replicas: 1 > selector: > name: "container-master-pod" template: > metadata: > annotations: > pod.beta.kubernetes.io/hostname: "master" > labels: > name: "container-master-pod" > spec: > containers: > - name: "master" > image: "MY_LOCAL_REGISTRY/master:latest" > ports: > - containerPort: 8001 > name: "c0" > env: > - name: "MASTER_HOST" > value: "10.254.3.160" > - name: "MASTER_PORT" > value: "52100" > resources: > limits: > memory: "2Gi" > dnsPolicy: ClusterFirst > imagePullSecrets: > - name: mysecretkey > restartPolicy: Always 

我只能从托pipe主节点的节点连接到集群IP,而不能从其他节点连接到集群IP。 小兵的kube-proxyconfiguration如下:

 KUBE_PROXY_ARGS=" --healthz-port=0 --master=http://master-kubernetes:8080 --oom-score-adj=-999 --proxy-port-range=0-0 --proxy-mode=userspace" 

每次我尝试连接到10.254.3.160:52100它会返回一个“由外部主机closures的连接”。

我也尝试将-proxy-mode更改为iptables,但无法连接到服务ip。 问题在这里我想

 [root@]# iptables-save | grep master -A KUBE-PORTALS-CONTAINER -d 10.254.3.160/32 -p tcp -m comment --comment "default/container-master:p0" -m tcp --dport 52100 -j REDIRECT --to-ports 42291 -A KUBE-PORTALS-HOST -d 10.254.3.160/32 -p tcp -m comment --comment "default/container-master:p0" -m tcp --dport 52100 -j DNAT --to-destination LOCAL_MINION:42291 

而不是local_minion,它应该redirect到承载应用程序的主服务器。 群集正在运行

Kubernetes客户端和服务器版本:v1.2.0

Docker客户端和服务器版本:1.10.3

Docker API版本:1.22

操作系统:centOS 7

内核:3.10.0-327.36.3.el7.x86_64

先谢谢你。

干杯,

安东尼奥