2017-02-24 40 views
2

当启动一个使用一个相当大的泊坞窗图像(〜2GB)有实际开始执行任务前,漫长的等待时间通过极光在mesos的任务。通过Aurora在mesos大泊坞窗图像发射工作可能会很慢

即使任务之前已经被启动,我们预计泊坞窗图像已经提供给工作节点,还有一段等待时间取决于图像大小的任务实际启动之前。使用docker,你可以立即启动一个容器,只要它已经在你的图片列表中,那么容器容器是否也不支持这种“缓存”?这个功能是否可以配置?

我还没有尝试过使用docker containerizer,但是我的理解是它很快就会被淘汰,而且我们要求的gpu资源隔离只适用于mesos容器。

+0

等多长时间?即使图像已经建成和/或下载,如果你是从图像中创建一个新的容器,它必须将图像文件(可以是由许多层的)至少读取,从它创建一个容器,只有这一点可能需要时间。这是很难说的,因为你没有量化什么“长延迟”的意思,我们不知道你是否正在创造新的集装箱,重新启动通过漫长的等待我的意思是对现有集装箱... –

+0

在这种情况下,〜 1分钟〜2GB图像。我知道,在使用nvidia-docker运行时执行相同的映像时,它仅在几秒钟内启动,而作为Aurora作业的一部分启动它需要大约1分钟,直到指定的进程启动。另外,启动包含更小图像(仅几百MB)的作业的等待时间明显更短,大概在10秒左右。现在我不是Docker如何从图像创建容器的专家,但是我会期望类似于容器的类似行为 – andrei

+0

我还想补充一点,我确信这种延迟不是由于重新导入图像造成的或者类似的东西,因为我尝试运行一个场景,在该场景中,我执行使用码头图像的极光作业,在注册表中更新此图像,然后再次执行相同的作业。在这种情况下,使用了初始图像,而更新的图像被忽略。 – andrei

回答

1

我假设你正在谈论运行泊坞窗图像统一containerizer?什么是您使用的后端?默认情况下,Mesos代理使用复制后端,这就是为什么你看到它很慢。您可以通过在代理上点击flags端点来查看代理正在使用的后端。将后端切换到aufs或overlayfs以查看是否加速启动。您可以通过代理上的标志--image_provisioner_backend=VALUE指定后端。

注意:在最新的Mesos版本1.2.0-rc1中,您可能想要获取的最新版本的aufsoverlayfs后端有一些缺陷修复。更不要说1.2.0-rc1中有一个自动绑定功能会自动选择最快的后端。

+0

这听起来确实是这样的问题。我会稍微转换一下配置服务器后端并查找你提到的错误。 – andrei