通过 aurora 在 mesos 中启动具有大 docker 图像的作业可能会很慢
Launching jobs with large docker images in mesos via aurora can be slow
当通过使用相当大的 docker 图像 (~2GB) 的 aurora 在 mesos 上启动任务时,在任务实际开始之前需要等待很长时间。
即使任务之前已经启动并且我们希望 docker 图像已经可供工作节点使用,在任务实际启动之前仍然有一段等待时间,具体取决于图像大小。使用 docker,您几乎可以立即启动一个容器,只要它已经在您的图像列表中,mesos containerizer 也不支持这个 "caching" 吗?此功能是否可以配置?
我还没有尝试使用 docker 容器化器,但据我所知,它很快就会被淘汰,而我们需要的 gpu 资源隔离仅适用于 mesos 容器化器。
我假设您是在谈论统一容器 运行 docker 图像?您使用的后端是什么?默认情况下,Mesos 代理使用复制后端,这就是您看到它变慢的原因。您可以通过点击代理上的 flags
端点来查看代理正在使用的后端。将后端切换为 aufs 或 overlayfs 以查看是否可以加快启动速度。您可以通过代理上的标志 --image_provisioner_backend=VALUE
指定后端。
注意:在最新的 Mesos 版本 1.2.0-rc1 中,有一些与 aufs
和 overlayfs
后端相关的错误修复,您可能想要了解一下。更不用说 1.2.0-rc1 中有一个自动后端功能,它会自动 select 最快的可用后端。
当通过使用相当大的 docker 图像 (~2GB) 的 aurora 在 mesos 上启动任务时,在任务实际开始之前需要等待很长时间。
即使任务之前已经启动并且我们希望 docker 图像已经可供工作节点使用,在任务实际启动之前仍然有一段等待时间,具体取决于图像大小。使用 docker,您几乎可以立即启动一个容器,只要它已经在您的图像列表中,mesos containerizer 也不支持这个 "caching" 吗?此功能是否可以配置?
我还没有尝试使用 docker 容器化器,但据我所知,它很快就会被淘汰,而我们需要的 gpu 资源隔离仅适用于 mesos 容器化器。
我假设您是在谈论统一容器 运行 docker 图像?您使用的后端是什么?默认情况下,Mesos 代理使用复制后端,这就是您看到它变慢的原因。您可以通过点击代理上的 flags
端点来查看代理正在使用的后端。将后端切换为 aufs 或 overlayfs 以查看是否可以加快启动速度。您可以通过代理上的标志 --image_provisioner_backend=VALUE
指定后端。
注意:在最新的 Mesos 版本 1.2.0-rc1 中,有一些与 aufs
和 overlayfs
后端相关的错误修复,您可能想要了解一下。更不用说 1.2.0-rc1 中有一个自动后端功能,它会自动 select 最快的可用后端。