gpt4 book ai didi

docker - Docker Swarm 集群设置的单一脚本

转载 作者:行者123 更新时间:2023-12-02 19:32:15 25 4
gpt4 key购买 nike

我在我的 preprod 服务器(3 个管理节点和 7 个工作节点)中设置了 Docker Swarm 集群;但是我想在生产服务器中复制相同的内容,而不是使用我更喜欢使用脚本的命令。

目前我正在使用“docker swarm init”来初始化 swarm,然后使用生成的 key 添加工作人员和管理人员。

我将有 30 台服务器并计划 7 个管理器和 23 个工作节点。
我已经在网上搜索过;但在所有服务器中找不到任何可以使用脚本自动初始化 docker swarm 的脚本。

任何帮助将不胜感激。

最佳答案

我解决这个问题的方法是为所有节点提供一个通用的构建脚本,并使用 Consul用于与集群的其余部分共享 docker swarm manager token 。

第一个节点(在 10.0.0.51 处)调用 docker swarm init并将 token 放入键值存储中,其余节点(从 10.0.0.52 开始)读回 token 并使用它调用 docker swarm join .

bash 看起来像这样 -

# Get the node id of this machine from the local IP address
privateNetworkIP=`hostname -I | grep -o 10.0.0.5.`
nodeId=`(echo $privateNetworkIP | tail -c 2)`

if [ $nodeId -eq 1 ]; then

sudo docker swarm init
MANAGER_KEY_IN=`sudo docker swarm join-token manager -q`
curl --request PUT --data $MANAGER_KEY_IN http://10.0.0.51:8500/v1/kv/docker-manager-key

else

MANAGER_KEY_OUT=`curl -s http://10.0.0.51:8500/v1/kv/docker-manager-key?raw`
sudo docker swarm join --token $MANAGER_KEY_OUT 10.0.0.51:2377

fi

... 并且工作正常,前提是 node 1是先建的。

关于docker - Docker Swarm 集群设置的单一脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50167389/

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