【问题标题】:Consul cluster automatic bootstrap on dockerDocker 上的 Consul 集群自动引导
【发布时间】:2017-12-11 07:03:30
【问题描述】:
我正在开发诸如 etcd 和 consul 之类的 conf 管理工具。据我所知,etcd 有发现机制。我想知道领事有这样的东西吗?
我正在处理官方 consul docker 图像,当我设置广告 IP 并加入 IP 时没有问题,但我不想手动执行此操作。 Docker 容器的 Ip 可能会更改或某些节点可能会崩溃,您需要新节点来替换它。这样的情况我怎么能应付?我的意思是是否有可能在不确切知道集群中节点的 Ip 的情况下加入集群?
【问题讨论】:
标签:
docker
cluster-computing
consul
configuration-management
etcd
【解决方案1】:
您可以在子网中使用 docker swarm 启动 consul。像这样:
docker network create --driver overlay --subnet 172.20.0.0/24 consul-net
docker service create \
--name consul \
--publish 8500:8500 \
--network consul-net \
--replicas 3 \
-e 'CONSUL_BIND_INTERFACE=eth0' \
-e ‘CONSUL_LOCAL_CONFIG={“skip_leave_on_interrupt”:true}’ \
consul agent -server -ui \
-client=0.0.0.0 \
-bootstrap-expect=3 \
-data-dir=consul/data \
-retry-join 172.20.0.3 \
-retry-join 172.20.0.4 \
-retry-join 172.20.0.5 \
-retry-interval 5s
你也可以看到这个领事问题#66