Traefik : Load balancer para containers

Neste post será apresentado como realizar a primeira configuração do Traefik.

Traefik é um proxy reverso e load balancer para microservices que suporta: Docker, Swarm mode, Kubernetes, Marathon, Consul, Etcd, Rancher e Amazon ECS.

 

 

1) Ambiente :

Neste primeiro post sobre o assunto será apresentado apenas um cenário simples escalando containers .

10.0.0.70 – devops-lab

 

2) Configuração :

Será utilizado o docker compose para este laboratório .

 

Docker : Instalação do Docker compose

 

Será criada a estrutura /opt/docker/build/traefik .

 

vim /opt/docker/build/traefik/docker-compose.yml


traefik:
image: traefik
command: --web --docker --docker.domain=docker.localhost
ports:
- "80:80"
- "8085:8080"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /dev/null:/traefik.toml

wildfly:
image: wildfly:v1
labels:
- "traefik.backend=fajlinux"
- "traefik.frontend.rule=Host:fajlinux.example.com"

 

Inicie os containers


docker-compose up

 

3) Testes :

Com os containers criados podemos acessar o console do traefik via url http://SERVER:8085/dashboard .

 

No dashboard é apresentado a url de frontend e os serviços cadastrados no backend , em nosso exemplo é um container do Wildfly.

 

Será executado os comandos abaixo para registrarmos mais containers no backend que estamos testando .

 


docker-compose scale wildfly=2
docker-compose scale wildfly=3

 

Com a criação de mais  containers podemos observar o aumento do backend que estamos testando .

 

Teste da url frontend http://fajlinux.example.com

 

 

Nos próximos posts será falado do Traefik com Docker Swarm .

 

Referência :

https://traefik.io

https://katacoda.com/