O ponto final do proxy kube faz o proxy de ponta a ponta do TCP por padrão para que os endereços IP sejam perdidos.
Se você ativar o proxy baseado em tabelas de IP:
Estou tentando configurar um cluster do kubernetes usando o HAProxy. Neste momento, existem apenas dois nós. O balanceador de carga está no nó principal. Mas eu vejo nos logs que a conexão é tentada em um ip virtual que não está presente. Aqui estão os pontos de extremidade do cluster do 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
Mas nos logs, vejo que meu endereço IP tenta se conectar em um endereço que não está presente na lista de endpoints. Não há regra em HAProxy.cfg também para . .86.5. Alguém pode me dizer o que está acontecendo?
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
O ponto final do proxy kube faz o proxy de ponta a ponta do TCP por padrão para que os endereços IP sejam perdidos.
Se você ativar o proxy baseado em tabelas de IP:
Isso é normal, quando você cria um serviço, kube-proxy
cria em cada nó um iptables para redirecionar o tráfego para os endpoints, então, usando um provedor de nuvem, você terá o seguinte esquema.
{external load balancer ip:port}->{NodePort(iptables PREROUTING RULE by kubeproxy)}->{pod internal ip address}
Assim, você não precisa ter o ip do serviço de cluster interno configurado.
Tags haproxy kubernetes