通过极光在mesos启动具有大型docker图像的作业可能会很慢

通过极光在mesos启动具有大型docker图像的作业可能会很慢,docker,distributed-computing,mesos,apache-aurora,Docker,Distributed Computing,Mesos,Apache Aurora,当通过极光在mesos上启动任务时,使用相当大的docker映像(~2GB),在任务实际启动之前需要很长的等待时间 即使任务之前已启动,并且我们希望docker映像已经可供worker节点使用,在任务实际启动之前,仍有一段取决于映像大小的等待时间。使用docker,你几乎可以立即启动一个容器,只要它已经在你的图片列表中,mesos集装箱船也不支持这种“缓存”吗?这个功能是可以配置的吗 我还没有尝试过使用docker集装箱船,但据我所知,它很快就会被淘汰,我们需要的gpu资源隔离只适用于mesos

当通过极光在mesos上启动任务时,使用相当大的docker映像(~2GB),在任务实际启动之前需要很长的等待时间

即使任务之前已启动,并且我们希望docker映像已经可供worker节点使用,在任务实际启动之前,仍有一段取决于映像大小的等待时间。使用docker,你几乎可以立即启动一个容器,只要它已经在你的图片列表中,mesos集装箱船也不支持这种“缓存”吗?这个功能是可以配置的吗


我还没有尝试过使用docker集装箱船,但据我所知,它很快就会被淘汰,我们需要的gpu资源隔离只适用于mesos集装箱船。

我想你说的是运行docker映像的统一集装箱船?您正在使用的后端是什么?默认情况下,Mesos代理使用复制后端,这就是为什么您会看到它速度缓慢的原因。通过点击代理上的
标志
端点,可以查看代理正在使用的后端。将后端切换到aufs或overlayfs,以查看是否加快了启动速度。您可以通过代理上的标志
--image\u provisioner\u backend=VALUE
指定后端


注意:在最新的Mesos 1.2.0-rc1版中,您可能希望了解一些与
aufs
overlayfs
后端相关的bug修复。更不用说1.2.0-rc1中有一个自动备份功能,可以自动选择可用的最快后端。

等待多长时间?即使图像已经生成和/或下载,如果您要从图像创建新容器,它也必须至少读取图像文件(可能由许多层组成)、从中创建容器等,这本身可能需要时间。很难说,因为您没有量化“长延迟”的含义,我们也不知道您是否正在创建新的容器,重新启动现有的容器……在这种情况下,我所说的长等待是指约1分钟的2GB图像。我知道,当使用nvidia docker run执行同一映像时,它只在几秒钟内启动,而作为Aurora作业的一部分启动它需要大约1分钟,直到指定的进程启动。此外,启动包含小得多的映像(仅几百MB)的作业时的等待时间明显缩短,大约为10秒。现在我不是Docker如何从图像创建容器的专家,但我希望mesos Containerier也会有类似的行为。我还想补充一点,我知道这种延迟肯定不是由于重新导入图像或类似的原因,因为我尝试运行了一个场景,在该场景中,我执行了使用Docker图像的aurora作业,在注册表中更新此映像,然后再次执行相同的作业。在本例中,使用了初始图像,而忽略了更新后的图像。这听起来肯定是问题所在。我将切换一下provisioner后端并查找您提到的bug。