我使用了这个要点(下面重复)使用 Consul 创建 Docker Swarm。
docker-machine create \
--driver=digitalocean \
--digitalocean-access-token=$DO_TOKEN \
--digitalocean-size=512mb \
--digitalocean-region=nyc3 \
--digitalocean-private-networking=true \
--digitalocean-image=ubuntu-15-04-x64 \
docker-swarm-kv-store
docker $(docker-machine config docker-swarm-kv-store) run -d \
--net=host progrium/consul --server -bootstrap-expect 1
kvip=$(docker-machine ip docker-swarm-kv-store)
docker-machine create \
--driver=digitalocean \
--digitalocean-access-token=$DO_TOKEN \
--digitalocean-size=2gb \
--digitalocean-region=nyc3 \
--digitalocean-private-networking=true \
--digitalocean-image=ubuntu-15-04-x64 \
--swarm \
--swarm-master \
--swarm-discovery consul://${kvip}:8500 \
--engine-opt "cluster-store consul://${kvip}:8500" \
--engine-opt "cluster-advertise eth1:2376" \
docker-swarm-master
docker-machine create \
--driver=digitalocean \
--digitalocean-access-token=$DO_TOKEN \
--digitalocean-size=2gb \
--digitalocean-region=nyc3 \
--digitalocean-private-networking=true \
--digitalocean-image=ubuntu-15-04-x64 \
--swarm \
--swarm-discovery consul://${kvip}:8500 \
--engine-opt "cluster-store consul://${kvip}:8500" \
--engine-opt "cluster-advertise eth1:2376" \
docker-swarm-agent-1
eval $(docker-machine env --swarm docker-swarm-master)
docker info
Docker Machine 是否确保集群是安全的(可能通过秘密管理 SSL 证书),或者任何人都可以通过指向来加入我的 Consul 集群${kvip}:8500
?
答案1
答案似乎是集群默认不受保护。
上面列出的第二个命令是启动 Consul 服务的地方。如果证书已传递,则它们将显示在该行中。
这Consul 入门指南只需要您希望加入的集群中另一个节点的主机名/端口——无需身份验证。但是,如果您已生成 TLS 证书,则可以添加它们如 DigitalOcean 教程所示. 需要注意的一点是,由于原始问题提到在 Docker 容器内运行 Consul,因此您需要使用卷来移动证书。