云计算核心技术Docker教程:Docker Swarm 模式控制服务在不同节点上的规模和位置
Swarm 服务提供了几种不同的方式来控制服务在不同节点上的规模和位置。
1.您可以指定服务是需要运行特定数量的副本还是应该在每个工作节点上全局运行。请参阅 复制或全局服务。
2.您可以配置服务的 CPU 或内存要求,并云计且该服务仅在满足这些要求的节点上运行。
3.放置约束使您可以将服务配置为仅在具有特定(任意)元数据集的节点上运行,如果不存在适当的节点,则会导致部署失败。例如,您可以指定您的服务应仅在任意标签pci_complia算核nt设置为 的节点上运行 true。
4.放置首选项允许您将具有一定范围值的任意标签应用于每个节点,并使用算法将服务的任务分布在这些节点之间。目前,唯一支持的算法是spread,它试图将它们均匀放置。例如,如果您使用一心技个rack值为 1-10的标签来标记每个节点,然后指定一个键为 的放置首选项rack,则rack在采用其他放置约束后,服务任务将尽可能均匀地放置在所有带有标签的节点上,放置首选项,以及其他特定于节点的限制。
与约束不同,放术D置首选项是尽力而为的,如果没有节点可以满足首选项,则服务不会部署失败。如果您为服务指定放置首选项,则当群管理器决定哪些节点应该运行服务任务时,与该首选项匹配的节点排名更高。其他因素,例如服务的高可用性,也会影响调度运oc行服务任务的节点。例如,如果您有 N 个带有机架标签的节点(然后是其他一些节点),并且您的服务被配置为运行 N+1 个副本,那么 +1 将被安排在一个还没有该服务的节点上,如果有一个,不管那个节点是否有rack标签。
复制或ke全局服务
Swarm 模式有两种类型的服务:复制和全局。对于复制服务,您可以指定集群管理器在可用节点上调度的副本任务数量。对于全局服务,调度器在每个可用节点上放置一项任务,以满足服务的 放置约束和 资源需求。
您可以使r教用该--mode标志来控制服务类型。如果您不指定模式,则服务默认为replicated。对于复制服务,您可以使用该--replicas标志指定要启动的副本任务数。例如,要启动具有 3 个副本任务的复制 nginx 服务:
$程: docker service create \
--name my_web \
--replicas 3 \
nginx
要在每个可用节点上启动全局服务,请传递--mode global到 docker service create. 每次有新Do节点可用时,调度程序都会在新节点上为全局服务放置一个任务。例如,启动一个在 swarm 中的每个节点上运行 alpine 的服务:
$ docker service create \
--name myservice \
--mode gcklobal \
alpine top
服务约束允许您在调度程序将服务部署到节点之前为节点设置要满足的条件。您可以根据节点属性和元数据或引擎元数据对服务应用约束。有关约束的更多信息,请参阅docker service creerate CLI 参考。
为服务预留内存或 CPU
要为服务保留给定的内存量或 CPU 数量,请使用 --reserve-memory或--reserve-cpu标志。如果没有可用的节点可以满足要求(例如,如果您请求 4 个 CPU S,而 swarm 中没有一个节点有 4 个 CPU),则服务将保持挂起状态,直到有合适的节点可用于运行其任务。
内存不足异常 (OOME)
如果您的服务尝试使用比 swarm 节点可用的内存更多的内存,您可能会遇到内存不足异常 (OOMEwa),并且容器或 Docker 守护进程可能会被内核 OOM 终止进程。为防止发生这种情况,请确保您的应用程序在具有足够内存的主机上运行,并参阅了解内存不足的风险。
Swarm 服务允许您使用资源约束、放置首选项和标签来确保您的服务rm部署到适当的 swarm 节点。
(责任编辑:经济观察)
- 印度黑马Rocket.new逆袭硅谷:1500万美元种子轮融资挑战AI编程巨头,3个月狂揽40万用户
- 使用Linode引擎实现Kubernetes自动缩放的优秀实践 译文
- 美国劳动关系委员会指控亚马逊在疫情期间非法解雇员工
- 标签: 理想汽车 李想 百城繁星计划 AutoPark
- 联合国成立人工智能咨询小组
- LiblibAI 2.0正式上线:内置多个顶级模型,限时免费算力开放
- 云服务商Fastly道歉:软件漏洞导致昨日全球大量网站宕机
- 标签: 百济神州 百悦泽 百泽安 BTK抑制剂
- Anthropic 推出 Claude for Chrome:AI 浏览器代理进入竞争白热化阶段
- GitHub Copilot抄袭实锤!GitHub:我们的AI没有「背诵」代码
- 标签: 埃泰克 603293 汽车电子 智能座舱
- Tilde AI 发布开源 TildeOpen LLM:支持多种欧洲语言的超大语言模型
- 谷歌推迟员工回归办公室时间到10月 必须接种疫苗
- 标签: SpaceX Cursor Anysphere 600亿美元
- 苹果高管解读财报:iPhone新用户和换新用户都有两位数增长
- 谈谈基于深度学习的目标检测网络为什么会误检,以及如何优化目标检测的误检问题
- 标签: 思格新能源 AI+光储一体化 许映童 港股IPO
- 标签: 舒福德 智能床
- 标签: 米哈游 员工离世 春节返岗 员工关怀
- 标签: 微信支付 王鹏飞 微信红包 随机分配
- 标签: 中泰证券 万家基金 中泰资管 中泰资本 views+
- 入行大数据必须知道的事! views+
- 苹果公司即将启动员工COVID-19疫苗接种计划 views+
- 云安全日报210407:Debian HTML清理库发现跨站点脚本漏洞,需要尽快升级 views+
- 标签: 虎牙 鹅鸭杀 和平精英 王者荣耀 views+
- 标签: 金山软件 WPS 办公软件 网络游戏 views+
- AMD宣布拟以19亿美元收购云计算初创公司Pensando views+
- Mistral AI推Studio平台:欧盟合规+全栈可观测,企业级AI应用迎来“工业化”新引擎 views+
- 标签: 大族数控 PCB设备 港交所上市 views+
- 马斯克宣布 xAI Grok-2.5开源,称中国公司将成为最强竞争对手 views+
