docker - Mesos和Marathon关于Docker的局限性

标签 docker containers mesos mesosphere marathon

我们有这种情况。

我们有3/3的Mesos主/从拱。

每个保护套都是相同的4GB RAM和4个Core CPU。

我们已经启动了10个具有1core CPU和1GB RAM的马拉松应用程序。我们启动了容器,但没有利用它们,因为按照系统的说法,这是97%的CPU可用。

现在,我们正在尝试启动另一个具有3Core CPU和2GB RAM的容器。

不幸的是,根据Mesos日志,我们无法启动容器,也就是说马拉松拒绝了该提议,但是所有从属节点都没有做任何事情。马拉松应用本身保持部署状态。

如果mesos无法将资源分配给马拉松应用程序(如果容器没有利用资源),那么Doc​​ker集成的用途是什么。

根据我的理解:

一旦马拉松应用接受了要约,即使Docker不使用该资源,Mesos也会认为该资源已被该应用利用。但是,如果容器未使用任何资源,则mesos需要收集可用资源并分配给下一个马拉松应用程序。

Mesos不再将报价分配给马拉松应用,而是从总资源中减去分配的资源。

我们没有充分利用Mesos / Marathon中的Docker功能。

让我知道任何建议和答案。

谢谢

最佳答案

Mesos跟踪“分配”,而不是实际使用情况。如果您的应用未执行任何操作,并不表示它不会在下一刻不执行任何操作。这意味着,如果您的应用程序请求了1个CPU,则该CPU将为该应用程序保留。

现在,如果您不想精确估算应用程序正在使用的资源,则可以查看oversubscription in Mesos。但是,您必须记住,一旦应用程序请求了超额预订的资源(已为其分配了这些资源),使用超额预订资源的应用程序可能会终止。

关于docker - Mesos和Marathon关于Docker的局限性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32186323/

相关文章:

linux - LXC 容器作为 VPS

mesos - 马拉松 vs 极光及其目的

apache-spark - 连接到 Mesos 的 Spark-shell 卡在 sched.cpp

mesos - 静态划分 mesos marathon 集群中的从站

docker - 是否有办法使 `docker`输出发送到守护程序的HTTP请求,就像 `kubectl`和API服务器可能的那样?

docker - 如何在不同的代理上运行 Jenkins 并行 cypress?

docker - 在没有 docker-compose.yml 文件的情况下杀死 docker-compose 容器

c++ - 替代 map<someKey , map<anotherKey,Identifier >>

docker - dockerfile 中 ENV 变量中的点不起作用

docker - 如何重新启动已停止的docker/whalesay容器?