docker consul service discovery esp

15

Click here to load reader

Upload: miguel-angel-guillen-tarazaga

Post on 10-Jul-2015

269 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Docker consul service discovery esp

Docker, consul y

service discovery

por Miguel Angel Guillen

Page 2: Docker consul service discovery esp

¿Quien es…?

Miguel Angel Guillen● DevOp en Discavo

● Contribuyo al proyecto SaltStack (¡usalo!)

● Entusiasta de la virtualizacion

● Trabajé como Administrador de OpenStack

● Estoy presentado esta diapositiva

Page 3: Docker consul service discovery esp

● Herramienta para administrar contenedores

● Nueva filosofía para desplegar aplicaciones

● Nueva forma de administrar

Page 4: Docker consul service discovery esp
Page 5: Docker consul service discovery esp

● Provee service discovery (zookeeper, etcd,etc..)

● interfaz HTTP/DNS para service discovery, almacen de

Clave/Valor, Multi Datacenter

● Basado en el protocolo raft de consenso

● Hecho por Hashicorp (vagrant)

Page 6: Docker consul service discovery esp

¿Service Discovery?

“Service discovery tools manage how processes and

services in a cluster can find and talk to one another. It

involves a directory of services, registering services in that

directory, and then being able to lookup and connect to

services in that directory.”

Page 7: Docker consul service discovery esp

Service Discovery

DNS

Page 8: Docker consul service discovery esp

Service Discovery

Consul offers DNS SRV records(RFC 2782, and its type code is 33)

Format_<service>._<protocol>.service[.datacenter][.domain]

Record_rabbitmq._amqp.service.consul. 0 IN SRV 1 1 5672 rabbitmq.node1.dc1.consul.

Page 9: Docker consul service discovery esp

un nodo:

Ver nodos:

Añadir servicios:curl -X PUT -d {"ID": "myserviceID1", ”Name”:”myservice", "Port":8600}

http://localhost:8500/v1/agent/service/register

consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul

curl localhost:8500/v1/catalog/nodes

Page 10: Docker consul service discovery esp

+

● Podemos auto registrar los contenedores

o registrator nos permite hacerlo

Registrator desarrollado Jeff Lindsayprogrium

● Lee la API de docker y registra/borra los contenedores

a consul (y etcd,etc..)

Page 11: Docker consul service discovery esp

+

Combinamos todoDocker y la opciones de servidor DNS:

echo "DOCKER_OPTS='--dns 172.17.42.1 --dns 8.8.8.8 --dns-search service.consul'" >>

/etc/default/docker

Contenedores Docker para consul y registrator:

docker run --rm progrium/consul cmd:run 10.0.1.1 -d

docker run -d -v /var/run/docker.sock:/tmp/docker.sock -h $HOSTNAME progrium/registrator

consul://10.0.0.1:8500

Page 12: Docker consul service discovery esp

+

LIVE DEMO

Page 13: Docker consul service discovery esp

+

BAMBOO

SALTSTACK

REGISTRY

AWS

IN DISCAVO

Page 14: Docker consul service discovery esp

THE END

¿PREGUNTAS?

Page 15: Docker consul service discovery esp

¡GRACIAS!