View Code? Open in Web Editor
NEW
This project forked from willrstern/production-docker-ha-architecture
Running Production High Availability Docker Services on CoreOS using Fleet, Flannel, Etcd, Confd & Nginx
Shell 27.09%
JavaScript 66.84%
CSS 1.76%
HTML 4.31%
production-docker-ha-architecture's Introduction
Running Production High Availability Docker Services on CoreOS using Fleet, Flannel, Etcd, Confd & Nginx
coreos
: server machine clustering via a shared cloud-config.yml
etcd
: key value store for service registration and discovery
fleet
: scheduling/failover of docker containers across coreos cluster
flannel
: Gives each docker container a unique ip that allows you to access the internal port (i.e. port 80 not 32679)
confd
: watch etcd for nodes arriving/leaving - template nginx configuration files / reload nginx on change
willrstern/node-sample
: a sample node.js app that simply echoes it's APPNAME environment variable
willrstern/nginx-lb
: a reusable nginx + confd image
- uses confd to watch etcd and configure nginx to load balance for multiple docker containers
- watches etcd
keys/services/<servicename>/upstream/*
and reloads nginx with an updated config when upstream nodes change
- requires 2 env variables:
SERVICE_NAME
and ETCD
so it knows which servicename to watch in etcd's registry
willrstern/nginx-dns
: an nginx + confd image for dynamic DNS based off of etcd keys/subdomain/*
entries
- requires 1 env variable:
ETCD
the ip address + port of the etcd instance it's watching
production-docker-ha-architecture's People
Contributors