是否可以使用Docker Swarm调度具有特定GPU内存量的容器? 例如,如果我需要为5GB GPU内存调度一个容器,如何让Swarm不在没有足够GPU内存的节点上调度该容器,直到有可用的节点满足需求。
截至1.12.x版本,使用Docker Swarm实现此类功能的唯一方法我能想到如下:- 从管理节点通过docker node update命令为满足您要求的所有节点添加标签:docker node update --label-add gpu-5g node-1- 然后在创建服务时使用约束参数来限制服务运行的目标机器:docker service create ...--constraint 'node.labels == gpu-5g'如果您需要具有运行时剩余可用内存,则可以使用容器组合编排设置标签。一个在所有GPU机器上运行的服务容器报告当前可用内存,另一个在管理节点上的服务容器则设置标签。我会密切关注这个问题,因为它很有趣。看看您最终是如何解决这个问题的也会很有趣。