automatic docker service announcement with registrator and confd

17
Jan 26, 2015 by @subicura (Chungsub Kim) Automatic Docker Service Announcement with registrator and confd

Upload: chungsub-kim

Post on 14-Jul-2015

502 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Automatic docker service announcement with registrator and confd

Jan 26, 2015

by @subicura (Chungsub Kim)

Automatic Docker Service Announcement with registrator and confd

Page 2: Automatic docker service announcement with registrator and confd

before

Page 3: Automatic docker service announcement with registrator and confd

after

Page 4: Automatic docker service announcement with registrator and confd

container is awesome!!but

update some(like nginx) setting manually

Page 5: Automatic docker service announcement with registrator and confd

Static Configuration

Page 6: Automatic docker service announcement with registrator and confd

how to update a website running in a docker container

with no downtimeautomatically

Page 7: Automatic docker service announcement with registrator and confd
Page 8: Automatic docker service announcement with registrator and confd

Dynamic Configuration

Page 9: Automatic docker service announcement with registrator and confd

confd

registrator

etcd

CoreOS

Manage local application configuration files using templates and data from etcd or consul

A highly-available key value store for shared configuration and service discovery

Service registry bridge for Docker

Minimal, modern operating system.

Page 10: Automatic docker service announcement with registrator and confd

Clustered by default Optimized for containers

Page 11: Automatic docker service announcement with registrator and confd

A highly-available key value store

/services/web/web_1 172.17.8.101:49155

valuekey

directory

*watch / TTL

Page 12: Automatic docker service announcement with registrator and confd

confd

written in Go

etcd / Consul support

template resource config (TOML)

source template

Page 13: Automatic docker service announcement with registrator and confd

registrator

automatically register/deregisters services

published ports and metadata

Consul/etcd/SkyDNS2

support TTL

<registry-uri-path>/<service-name>/<service-id> = <ip>:<port>

Page 14: Automatic docker service announcement with registrator and confd

DEMO

Page 15: Automatic docker service announcement with registrator and confd

nginx.conf.tmpl

{{ range $dir := lsdir "/services" }}upstream backend_{{ base $dir }} { {{ $custdir := printf "/services/%s/*" $dir }}{{ range getvs $custdir }} server {{.}}; {{ end }}}

server { listen 80; server_name {{ base $dir }}.sample.com;

location / { include /etc/nginx/proxy_params; proxy_pass http://backend_{{base $dir}}; }}{{end}}

Page 16: Automatic docker service announcement with registrator and confd

Link

• http://coreos.com

• https://github.com/kelseyhightower/confd

• https://github.com/progrium/registrator

• https://github.com/subicura/nginx-confd

Page 17: Automatic docker service announcement with registrator and confd

THANK YOU