Mesos和Kubernetes之间的调度差异

时间:2017-05-23 09:20:40

标签: kubernetes scheduling mesos

前言:我的问题与this one有些相关,但我想深入研究调度的特定方面。

除了Kubernetes的日程安排集中且Mesos的日程安排分散之外,按照两步流程,两个项目的调度算法之间有什么区别? ?

我已经使用Kubernetes半年了,我从未在实践中使用过Mesos。我理解资源提供的概念,但我不能在Mesos和Kubernetes调度算法之间建立比较,主要是因为我对这两种工具的实现都没有深入的了解。

1 个答案:

答案 0 :(得分:1)

我不确定这是否具有可比性。 Kubernetes可以作为Mesos框架运行。其调度程序描述为here。它基于对节点的过滤和排名。

Mesos两步调度更多地依赖于框架算法。

  1. Mesos根据DRF algorithm向框架提供优惠。通过使用角色和权重,框架也可以优先考虑。
  2. 框架根据要约决定运行哪个任务。每个框架都可以实现自己的算法来匹配任务和offer。 This is a NP hard problem
  3. 附录引自https://medium.com/@ArmandGrillet/comparison-of-container-schedulers-c427f4f7421

    enter image description here

      

    整体安排

         

    单片调度程序由单个调度程序组成   调度代理处理所有请求,它们通常用于   高性能计算。单片调度程序通常适用于   因此运行的所有传入作业的单算法实现   根据工作类型的不同调度逻辑很难。阿帕奇   Hadoop YARN [55],一个受委托的Hadoop流行架构   每个应用程序组件的许多调度功能,是一个   单片调度器架构由于资源的事实   来自应用程序主机的请求必须发送到单个全局   资源主数据中的调度程序。

         

    两级安排

         

    两级   调度程序调整每个调度程序的资源分配   动态使用中央协调器来决定有多少资源   每个子集群都可以拥有,它在Mesos [50]中使用并用于   Hadoop-on-Demand(现在由YARN取代)。有了这种架构,就可以了   allocator通过仅向一个提供给定资源来避免冲突   一次构建框架并试图实现主导资源公平   通过选择它提供的资源的顺序和大小。只要   一个框架一次检查资源,因此是并发   控制被称为悲观,一种不易出错的策略   与提供a的乐观并发控制相比较慢   同时为许多框架提供资源。

         

    共享状态安排

         

    Omega授予每个调度程序对整个集群的完全访问权限,   允许他们以自由的方式参与竞争。没有中心   资源分配器作为所有资源分配决策   放在调度程序中。没有中央政策执行   引擎,个人调度员正在做出这种变体的决定   两级计划。通过支持独立调度程序   实现和公开的整个分配状态   调度程序,Omega可以扩展到许多调度程序并使用   不同的工作负载及其自己的调度策略[54]。