使用gpu内存作为约束来调度一个Docker群的容器

是否有可能将具有docker群的容器安排到具有一定gpu内存的节点?

例如,如果我需要安排具有5GB gpu内存的容器,那么如何让群集不安排容器,直到具有足够的gpu内存的节点变为可用。

从Docker Swarm 1.12.x开始,我可以想到的唯一方法是完成如下操作:

  • 从pipe理器节点中,通过docker node update命令标记符合要求的所有节点:
    • docker node update --label-add gpu-5g node-1
  • 然后,当您创build服务时,使用约束参数来限制服务在目标机器上运行
    • docker service create ...--constraint 'node.labels == gpu-5g'

如果你需要运行时间剩余的可用内存,那么也许是一个容器的组合来协调标签的设置。 在所有GPU机器上运行的服务容器,用于报告当前可用内存以及pipe理器节点上的另一个设置标签。

我会看这个问题,因为这是一个有趣的问题。 阅读最终如何解决这个问题将会很有趣。