如何在ApacheMesos中运行有状态的应用程序?

zbsbpyhn  于 2021-06-26  发布在  Mesos
关注(0)|答案(1)|浏览(373)

有状态容器如何在mesos中运行?
根据mesos文档,沙盒可用于存储状态:
随着持久卷的引入,执行者和任务不应该在沙盒之外创建文件。
同时,在下列情况下,沙盒文件被安排进行垃圾回收:
遗嘱执行人被解除或终止。
框架被移除。
在代理恢复期间,执行者恢复失败。
这是唯一的办法吗?或者docker容器可以用来维护状态(以类似于vm的方式)?
例如,可以创建一个容器并跨2个节点运行吗?这样的容器是否可以包含状态,并且在任务完成后不能被处置?

klsxnrf1

klsxnrf11#

mesos文档中引用的关键语句是
随着持久卷的引入。。。
你说得对,沙盒可以被垃圾收集。但是,mesos提供了一个名为persistent volumes的原语,它允许您创建在任务失败和代理重新启动期间保持的卷,并且不会被垃圾收集。
此外,mesos现在还通过docker卷隔离器提供对网络存储的支持。这允许您使用docker卷驱动程序装载网络卷,从而可以使用各种各样的存储后端。
docker容器可以存储持久状态,但它们必须通过docker卷隔离器存储在mesos持久卷或网络连接卷中。这些卷位于docker容器外部,并装入容器中,因此它们在容器死亡后仍然存在。
mesos任务不能跨多个节点运行。请注意,如果后端存储提供程序支持并发访问,则不同节点上的多个任务可以通过docker卷隔离器访问相同的网络连接卷。

相关问题