gpt4 book ai didi

Docker 放置首选项与 Docker 放置约束

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

我正在学习 Docker。作为我学习的一部分,有一个我不明白的话题。与 Docker 中的约束相比,Docker 放置首选项的使用情况。

我一直在互联网上搜索并询问了很多人,每个人都知道限制而不是偏好。我在互联网上没有找到任何好的引用。 Docker 中放置首选项的用途是什么?我应该什么时候使用它们?有示例吗?

最佳答案

放置首选项允许您将副本“分散”到具有特定标签的节点上,选择尽可能“多样化”地放置副本。

约束会将副本约束(限制)到与约束匹配的那些节点。

假设您在 2 个数据中心(东、西)中有 4 台服务器,其中一些服务器有 SSD 驱动器,而另一些则没有。

如果将以下标签应用于节点:

node-1: datacenter=us-east, disk=ssd
node-2: datacenter=us-east, disk=ssd
node-3: datacenter=us-west, disk=sas
node-4: datacenter=us-west, disk=nl-sas

如果您要部署一个具有 2 个副本的服务并且您想要提供地理冗余,您将按如下方式启动该服务:

docker service create \
--replicas 2 \
--name webserver \
--placement-pref 'spread=node.labels.datacenter' \
mywebservice:production

Docker Swarm 然后会尝试将 2 个副本“传播”到两个数据中心,因此您最终会在 node-1 或 node-2 上得到 1 个副本,而另一个副本在 node-3 或 node-4 上.

如果您有一项需要大量 IOPS 的服务(例如报告工作),您可能希望使用配备 SSD 的服务器,因此您需要对服务施加限制:

docker service create \
--constraint 'node.labels.disk == ssd' \
myreporter:latest

关于Docker 放置首选项与 Docker 放置约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56503975/

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