3 ms·
Well, some notes from when I deployed this the other day. If running in a docker container, you'll need to mount /etc/ssl/certs, as the etcd container is minim
by lclarkmichalek 12y ago
Well, some notes from when I deployed this the other day.
If running in a docker container, you'll need to mount /etc/ssl/certs, as the etcd container is minimal, and will require finding some x.509 roots or something, even when running without HTTPS communication (that's what you get for using Go, I guess).
My setup for command line flags is
-name "{{ hostname }}" \
-initial-advertise-peer-urls "http://{{ clusterip }}:7001" \
-advertise-client-urls "http://{{ clusterip }}:4001" \
--listen-client-urls 'http://0.0.0.0:4001' \
--listen-peer-urls 'http://0.0.0.0:7001' \
-discovery "{{ discovery url }}"
I manually specify the proxy nodes by putting adding -proxy 'on' (my vpn host was becoming a master, which was not optimal), this may not be a problem for you.
Removing and re-adding node was funky for me, as although :7001/members is great, removing a node there does not remove it from the discovery node, making rejoining with a clean etcd from the name machine rather painful. Not much that can be done about that though.
All in all, I think I'll start writing my Etcd compatible interface to zookeeper :)
- barakm 12y agoOne new 2.0 feature you may like (discovery wise) is SRV discovery, if you've got an internal DNS/dnsmasq or something. Set a few records for where machines can be found (and keep them appropriately up to date) and it'll do the same thing as a static bootstrap automatically
- lclarkmichalek 12y agoUnfortunately, I run skydns for service discovery, and having multiple dns servers on the same machine is a PITA. I should note, for anyone considering skydns, that skydns + etcd + docker is circular dependency hell :)
- saryant 12y agoWhat problems have you had? We're using a similar setup but SkyDNS has been pretty trouble-free so far.
- lclarkmichalek 12y agoIf skydns fails to load its config from etcd, it doesn't terminate, it just continues and emits a warning. If you are using etcd.discovery.io for your discovery url, you need to have dns working. At some point, passing multiple --dns to docker didn't cause failover to be working. Or at least, dns resolution was failing in the etcd container, despite the docker daemon having `--dns 127.0.0.1 --dns 8.8.8.8 --dns 8.8.4.4`. I don't even know.