gpt4 book ai didi

docker 群 : difference between --swarm-discovery and cluster-store

转载 作者:行者123 更新时间:2023-12-02 03:15:23 24 4
gpt4 key购买 nike

当创建一个新的 swarm 节点时,我们有类似下面的 swarm master 代码:

docker-machine create \
-d digitalocean \
--swarm \
--swarm-master \
--swarm-discovery="consul://${KV_IP}:8500" \
--engine-opt="cluster-store=consul://${KV_IP}:8500" \
--engine-opt="cluster-advertise=eth1:2376" \
queenbee

我不明白的是为什么我们需要这两行?

--swarm-discovery="consul://${KV_IP}:8500" \
--engine-opt="cluster-store=consul://${KV_IP}:8500" \

目前我发现的是:

  • --swarm-discovery 指示创建的 Swarm worker 容器使用指定的地址和协议(protocol)(此处为 consul://)查找创建的键值存储
  • --cluster-store 告诉 Docker 守护进程将哪个 KV 存储用于 libnetwork 所需的协调,类似于上面概述的 --swarm-discovery 选项。

但我仍然不清楚它们的区别。

最佳答案

你基本上是正确的。

--swarm-discovery 选项用于指定包含 Swarm 节点详细信息的键值存储,并用于管理集群服务发现。请注意,这甚至可以是一个包含节点列表或(不推荐)Docker Hub 的简单文件。

但是,--cluster-store 选项必须libkv 支持的键值存储。 Docker 引擎使用它来共享容器、网络和卷的详细信息。这不需要需要 Swarm,并且完全有可能创建一个使用 Consul 链接的 Docker 集群,但它使用一些替代 Swarm 的编排机制。一般来说,Swarm 和 Docker 集群共享同一个存储是最简单的,尽管它们也可以有不同的机制。

关于 docker 群 : difference between --swarm-discovery and cluster-store,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37328373/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com