Estou tentando entender como o balanceamento de carga / VIP incorporado do Docker funciona com redes de sobreposição. Para explicar melhor como eu entendo isso, montei um diagrama. Minha esperança é que alguém possa confirmar ou rejeitar meu entendimento.
Digamos que eu tenha dois serviços em execução em um Docker Swarm: webserver
e api
. Ambos os dois serviços foram dimensionados para duas instâncias. Essas instâncias são executadas em NODE A e NODE B .
iptables
no NODE A irá DNAT
do pedido para o ingress-sbox no NODE A . ingress-sbox
(vamos apenas considerá-lo como uma caixa preta) decide que o pedido deve ir para o servidor web em NODE B . ingress-sbox
envia a solicitação para a ponte de rede de sobreposição "api" e a solicitação é roteada por meio do túnel vxlan
para a ponte de rede de sobreposição "api" em NODE B . Esta é uma compreensão justa de como as solicitações recebidas percorrerão uma rede de sobreposição?
... e uma pergunta de acompanhamento; o que acontece quando uma solicitação vai de webserver
a api
por meio de um balanceador de carga ( ingress-sbox
). As solicitações sempre serão balanceadas por meio do ingress-sbox
no mesmo host do qual a solicitação é originada? Se este for o caso, eu assumo que isso significa que uma solicitação para um VIP de serviço sempre é roteada para o ingress-sbox
que é executado no mesmo nó de onde uma solicitação é feita?
Tags networking docker-swarm