Uso de HAProxy com kubernetes

4

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
    
por tariq zafar 21.12.2015 / 13:57

2 respostas

0

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:

link

    
por 09.02.2016 / 20:53
0

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.

    
por 17.03.2016 / 12:01