docker consul service discovery esp

Post on 10-Jul-2015

269 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Docker, consul y

service discovery

por Miguel Angel Guillen

¿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

● Herramienta para administrar contenedores

● Nueva filosofía para desplegar aplicaciones

● Nueva forma de administrar

● 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)

¿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.”

Service Discovery

DNS

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.

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

+

● 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..)

+

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

+

LIVE DEMO

+

BAMBOO

SALTSTACK

REGISTRY

AWS

IN DISCAVO

THE END

¿PREGUNTAS?

¡GRACIAS!

top related