docker 上的 Consul 集群自动 bootstrap

Consul cluster automatic bootstrap on docker

我正在研究 etcd 和 consul 等 conf 管理工具。据我所知,etcd 有发现机制。不知道领事有没有类似的东西?

我正在处理官方领事 docker 图像,当我设置广告 IP 和加入 IP 时没有问题,但我不想手动执行此操作。 Docker 容器的 Ip 可能会改变,或者某些节点可能会崩溃,您需要新节点来替换它。那样的情况我怎么办?我的意思是有没有可能在不知道集群中节点的 Ip 的情况下加入集群?

您可以在子网内使用 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

你也可以看到这个consul问题#66