2. ¿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
3. ● Herramienta para administrar contenedores
● Nueva filosofía para desplegar aplicaciones
● Nueva forma de administrar
4.
5. ● 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)
6. ¿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.”
8. 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.
9. un nodo:
consul agent -server -bootstrap-expect 1 -data-dir /tmp/consul
Ver nodos:
Añadir servicios:
curl localhost:8500/v1/catalog/nodes
curl -X PUT -d {"ID": "myserviceID1", ”Name”:”myservice", "Port":8600}
http://localhost:8500/v1/agent/service/register
10. +
● 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..)
11. +
Combinamos todo
Docker 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