与kubernetes HAProxy使用

我正在尝试使用HAProxybuild立一个kubernetes集群。 现在只有两个节点。 负载均衡器位于主节点上。 但是我从日志中看到连接尝试在不存在的虚拟IP上。 这里是kubernetes集群的端点。

NAME ENDPOINTS AGE activemq-svc 10.0.86.2:1883,10.0.86.2:8161,10.0.86.2:8161 + 1 more... 2h admin-svc 10.0.86.7:8080,10.0.86.7:9840,10.0.86.7:9841 2h kube-dns 10.0.54.2:53,10.0.54.2:4001,10.0.54.2:53 2h kubernetes 172.31.16.18:6443 4h mysql-admin-svc 10.0.86.6:3306 2h mysql-edu-svc 10.0.86.4:10050,10.0.86.4:3306 2h mysql-stat-svc 10.0.54.4:3306 2h platform-riak-cs-service 10.0.54.3:8087,10.0.54.3:8080,10.0.54.3:8098 2h redis-svc 10.0.86.3:6379 2h server-svc 10.0.86.10:8080,10.0.86.10:9840,10.0.86.10:9841 + 1 more... 2h statistics-svc 10.0.86.8:8080,10.0.86.8:9840,10.0.86.8:9841 2h 

但在日志中,我看到我的IP地址尝试连接到不在端点列表中的地址。 HAProxy.cfg也没有规则 .86.5。 有人可以告诉我最新情况吗?

 servicelb [INFO] Connect from 118.102.239.85:39812 to **10.0.86.5:443** (httpsfrontend/HTTP) servicelb [INFO] Connect from 118.102.239.85:40418 to 10.0.86.5:443 (httpsfrontend/HTTP) servicelb [INFO] Connect from 118.102.239.85:41057 to 10.0.86.5:443 (httpsfrontend/HTTP) servicelb [INFO] Connect from 118.102.239.85:41100 to 10.0.86.5:443 (httpsfrontend/HTTP) servicelb [INFO] Connect from 118.102.239.85:41143 to 10.0.86.5:443 (httpsfrontend/HTTP) servicelb [INFO] Connect from 10.0.86.1:49589 to 10.0.86.5:80 (httpfrontend/HTTP) servicelb [INFO] Connect from 10.0.86.1:49611 to 10.0.86.5:80 (httpfrontend/HTTP) servicelb [INFO] Connect from 10.0.86.10:53882 to 10.0.86.5:80 (httpfrontend/HTTP) servicelb [INFO] 10.0.86.10:55668 [21/Dec/2015:11:45:15.526] httpsfrontend/1: SSL handshake failure 

kube-proxy端点在默认情况下执行TCP端对端代理,因此IP地址丢失。

如果您激活基于IP表的代理服务器:

https://github.com/kubernetes/contrib/tree/master/scale-demo#activate-iptables-proxying

这是正常的,当你创build一个服务时, kube-proxy在每个节点上创build一个iptables来将stream量redirect到端点,所以使用云提供者,你将有以下scheme。

 {external load balancer ip}->{internal cluster service ip(iptables PREROUTING RULE by kubeproxy)}->{pod internal ip address} 

所以你不需要configuration内部集群服务ip。