Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvidas sobre Cluster Docker

Bom dia , Após fazer os cursos de Swarm e Kubernets ainda fiquei com algumas duvidas .

No passado eu utilizava cluster baseado em heartbeat, com isso conseguia fazer um ambiente em HA com maquinas físicas ou virtuais. Ex : host01 - eth0:1 192.168.100.1 (Virtual IP / float) eth0 192.168.200.1 eth1 192.168.20.1

host02 eth0 192.168.200.2 eth1 192.168.20.2

Neste cenário toda requisição é feita no IP 192.168.100.1 (virtual), supondo que o host01 fique offline o heartbeat subia o IP 192.168.100.1 (virtual) no host02, com isso minha aplicação continuava online.

Como eu faço para criar uma estrutura similar a esta no ambiente docker com Swarm ou kubernets?

3 respostas

Olá Ricardo, tudo bem? Não entendi bem como funcionava o seu ambiente, você poderia esclarecer melhor? Bem, utilizando o Docker Swarm ou Kubernetes, podemos deixar a aplicação ou o cluster totalmente escalável, a aplicação ou serviço nunca vai ficar offline, se informarmos que sempre queremos pelo menos um host com o serviço (container) funcionando e se precisar, se tiver muitas requisições, já podemos deixar configurado que novos hosts devem subir automaticamente com o serviço. E para direcionamento de carga poderiamos usar um LoadBalancer e ele será o responsável por direcionar as requisições para os hosts mais apropriados. Então, você poderia explicar melhor como era o seu cenário?

Vamos la . De forma mais simples , Suponto que hoje eu tenha uma aplicação web hospedada no ip 192.168.20.100 e já existe um apontamento DNS para este IP chamado xpto.dominio.br

Como ficaria esta aplicação Web em um ambiente Cluster docker , sendo que o ip 192.168.20.100 existe uma restrição que não poderá mudar.

Dei o exemplo inicial, explicando que a manipulação deste IP (192.168.20.100) sendo feita pelo hearbeat, ou seja independente do host que fique 'down' este IP sempre vai ficar UP (mudando o ip virtual de host )

solução!

Bem essa parte de direcionamento de fluxo de requisições é feito justamente pelo Load Balance, e como podemos configurar o "auto scaling" no Docker Swarm ou no Kubernetes não teríamos problemas, independentemente da quantidade ou dos endereços IP dos hosts que estão dentro do nosso cluster o Load Balance vai conseguir fazer o direcionamento da carga pra o host que possa atender melhor a requisição. Então o IP externo (público) poderia ser 192.168.20.100 e dentro os hosts poderiam ter quaisquer outros IPs e ainda funcionará muito bem o Load Balance, desde que todos os hosts estejam na mesma rede.

Espero ter ajudado!