Como criar um load balance com Nginx

O Engine X (sim, é assim que se fala!) é formidável.
Hoje é quase obrigatório esse conhecimento, mesmo para quem trabalha com tecnologias mais distantes como Microsoft.
A seguir vamos ver o seguinte desafio:

  • Criar um container com o Nginx
  • Configurar o Nginx como proxy-reverso para outros 5 containers
  • Todos os containers específicos devem ter sites estáticos simples, publicados com outros nginx
  • Todos esses sites estáticos devem compartilhar o mesmo volume
  • Todos os containers devem estar na mesma rede
  • Devo usar o VS Code para construir o site
# Parte 1 - Configuração dos nodos
docker run -dit -p 80 -v $(pwd)/home/fapp:/usr/share/nginx/html --name fnode1 --network fwire nginx:alpine
cd $(pwd)/home/fapp
sudo chown -R thiago .
code .

docker run -dit -p 80 -v $(pwd)/home/fapp:/usr/share/nginx/html --name fnode2 --network fwire nginx:alpine
docker run -dit -p 80 -v $(pwd)/home/fapp:/usr/share/nginx/html --name fnode3 --network fwire nginx:alpine
docker run -dit -p 80 -v $(pwd)/home/fapp:/usr/share/nginx/html --name fnode4 --network fwire nginx:alpine
docker run -dit -p 80 -v $(pwd)/home/fapp:/usr/share/nginx/html --name fnode5 --network fwire nginx:alpine
# Parte 2 - Configuração do Master
docker run -dit --name master -p 9006:80 --network fwire nginx:alpine
docker exec master apk add bash vim
docker exec -it master bash 

# Os comandos a seguir são dentro do container master
cd /etc/nginx/conf.d/
vim default.conf
nginx -t # apenas para verificar se a configuração está ok
nginx -s reload 
Configuração do default.conf


Thiago Anselme
Thiago Anselme - Gerente de TI - Arquiteto de Soluções

Ele atua/atuou como Dev Full Stack C# .NET / Angular / Kubernetes e afins. Ele possui certificações Microsoft MCTS (6x), MCPD em Web, ITIL v3 e CKAD (Kubernetes) . Thiago é apaixonado por tecnologia, entusiasta de TI desde a infância bem como amante de aprendizado contínuo.

Deixe um comentário