SlideShare uma empresa Scribd logo
1 de 17
HAProxy + Consul = Balance de Carga
Transparente para Containers
Docker Meetup BH
Oi
Guilherme Reis
greis@thoughtworks.com
Desenvolvedor
Docker XP: 7 meses
Docker
O que vemos no site...
"An open platform for
distributed applications..."
"... ability to deploy scalable
services..."
Muito associado a
microserviços
Descoberta de Serviços
Objetivo
Cliente
H
A
P
r
o
x
y
App
App
App
App
App
Objetivo
Consul Template
R
e
g
i
s
t
r
a
t
o
r
Consul Server
App
App
App
Cliente
H
A
P
r
o
x
y
App
Mas porque dessa solução?
Flexibilidade
Sem soluções proprietárias
Entender como as coisas funcionam
Aplicação
Imagem: marcells/aspnet-hello-world
Comando:
$ docker run -dit -p 8080:5004 marcells/aspnet-hello-world
Consul
Descoberta de Serviços simples
Armazenamento Chave/Valor
Acesso via UI ou REST Api
Multi Datacenter
Roda facilmente em um Container ;)
Comando:
$ docker run -dit -v /vagrant/provision/consul:/etc/consul -p 8500:8500
gliderlabs/consul-server -config-dir=/etc/consul
Registrator (Dedo duro)
Adiciona e remove automaticamente containers;
Suporta diferentes produtos: Consul, etcd and SkyDNS 2.
Comando:
$ docker run -dit -v /var/run/docker.sock:/tmp/docker.sock
gliderlabs/registrator -resync 120 -retry-attempts -1 -retry-interval 2000 -ip
172.17.0.1 --cleanup consul://172.17.0.1:8500
HAProxy com Consul Template
HAProxy: Balanceador de Carga muito utilizado (segundo pesquisas ;)
Consul Template: Responsável por reescrever automaticamente o arquivo de
configuração do HAProxy quando alguma informação do Consul mudar.
Arquivo: haproxy.json
HAProxy com Consul Template
Arquivo: haproxy.ctmpl
HAProxy com Consul Template
Imagem: sirile/haproxy
Já possui ambos o/
Comando:
$ docker run -dit -v /vagrant/provision/haproxy:/tmp:rw --net=host
sirile/haproxy -consul=localhost:8500
Docker
Compose
Facilitando nossa vida o/
Orchestração
$ docker-compose up
Escalonamento
$ docker-compose scale app=3
Referências Repositório
Passo-a-passo
ThoughtWorks
|o|
Obrigado!

Mais conteúdo relacionado

Semelhante a HAProxy + Consul balance carga containers

Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)TechCobli
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaRodrigo Marques Teixeira
 
DevOps na prática - Savanna Denega
DevOps na prática - Savanna DenegaDevOps na prática - Savanna Denega
DevOps na prática - Savanna DenegaSavanna Denega
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersFrancisco Gonçalves
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...Renato Groffe
 
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresasRafael Gomes
 
Dockerizando uma aplicação NodeJS
Dockerizando uma aplicação NodeJSDockerizando uma aplicação NodeJS
Dockerizando uma aplicação NodeJSLuís Bianchin
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker ContainersHugo Henley
 
TDC2018SP | Trilha Testes II - Descomplicando a montagem de ambientes de Test...
TDC2018SP | Trilha Testes II - Descomplicando a montagem de ambientes de Test...TDC2018SP | Trilha Testes II - Descomplicando a montagem de ambientes de Test...
TDC2018SP | Trilha Testes II - Descomplicando a montagem de ambientes de Test...tdc-globalcode
 
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...Renato Groff
 
Api com sql server em container
Api com sql server em containerApi com sql server em container
Api com sql server em containerThaise Dantas
 
Docker Everywhere - MTAC Week
Docker Everywhere - MTAC WeekDocker Everywhere - MTAC Week
Docker Everywhere - MTAC WeekLuiz Carlos Faria
 
Docker para Desenvolvedores .NET - .NET SP - Abril-2018
Docker para Desenvolvedores .NET - .NET SP - Abril-2018Docker para Desenvolvedores .NET - .NET SP - Abril-2018
Docker para Desenvolvedores .NET - .NET SP - Abril-2018Renato Groff
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Marcel Cattaneo
 
Modernizando projetos legados usando APIs
Modernizando projetos legados usando APIsModernizando projetos legados usando APIs
Modernizando projetos legados usando APIsElton Minetto
 
Docker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoDocker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoMarcela Carvalho
 
Docker: ganhe tempo e seja eficiente na entrega de serviços de TI
Docker: ganhe tempo e seja eficiente na entrega de serviços de TIDocker: ganhe tempo e seja eficiente na entrega de serviços de TI
Docker: ganhe tempo e seja eficiente na entrega de serviços de TIRicardo Ferreira Costa
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo realEvandro Silvestre
 

Semelhante a HAProxy + Consul balance carga containers (20)

Docker
DockerDocker
Docker
 
Usp codelabs (docker)
Usp codelabs (docker)Usp codelabs (docker)
Usp codelabs (docker)
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
 
DevOps na prática - Savanna Denega
DevOps na prática - Savanna DenegaDevOps na prática - Savanna Denega
DevOps na prática - Savanna Denega
 
Re pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containersRe pensando-virtualização-através-linux containers
Re pensando-virtualização-através-linux containers
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
 
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
 
Dockerizando uma aplicação NodeJS
Dockerizando uma aplicação NodeJSDockerizando uma aplicação NodeJS
Dockerizando uma aplicação NodeJS
 
Deploying Docker Containers
Deploying Docker ContainersDeploying Docker Containers
Deploying Docker Containers
 
TDC2018SP | Trilha Testes II - Descomplicando a montagem de ambientes de Test...
TDC2018SP | Trilha Testes II - Descomplicando a montagem de ambientes de Test...TDC2018SP | Trilha Testes II - Descomplicando a montagem de ambientes de Test...
TDC2018SP | Trilha Testes II - Descomplicando a montagem de ambientes de Test...
 
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
Descomplicando a montagem de ambientes de Testes com Docker - TDC 2018 - São ...
 
Api com sql server em container
Api com sql server em containerApi com sql server em container
Api com sql server em container
 
Docker Everywhere - MTAC Week
Docker Everywhere - MTAC WeekDocker Everywhere - MTAC Week
Docker Everywhere - MTAC Week
 
Docker para Desenvolvedores .NET - .NET SP - Abril-2018
Docker para Desenvolvedores .NET - .NET SP - Abril-2018Docker para Desenvolvedores .NET - .NET SP - Abril-2018
Docker para Desenvolvedores .NET - .NET SP - Abril-2018
 
Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.Docker: Introdução à Conteinerização de Apps e Nuvem.
Docker: Introdução à Conteinerização de Apps e Nuvem.
 
Modernizando projetos legados usando APIs
Modernizando projetos legados usando APIsModernizando projetos legados usando APIs
Modernizando projetos legados usando APIs
 
Docker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimentoDocker: Uso no dia a dia de desenvolvimento
Docker: Uso no dia a dia de desenvolvimento
 
Docker: ganhe tempo e seja eficiente na entrega de serviços de TI
Docker: ganhe tempo e seja eficiente na entrega de serviços de TIDocker: ganhe tempo e seja eficiente na entrega de serviços de TI
Docker: ganhe tempo e seja eficiente na entrega de serviços de TI
 
Usando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NETUsando Docker no desenvolvimento .NET
Usando Docker no desenvolvimento .NET
 
Source-to-container no mundo real
Source-to-container no mundo realSource-to-container no mundo real
Source-to-container no mundo real
 

HAProxy + Consul balance carga containers