前言:我的问题与this one有些相关,但我想深入研究调度的特定方面。
除了Kubernetes的日程安排集中且Mesos的日程安排分散之外,按照两步流程,两个项目的调度算法之间有什么区别? ?
我已经使用Kubernetes半年了,我从未在实践中使用过Mesos。我理解资源提供的概念,但我不能在Mesos和Kubernetes调度算法之间建立比较,主要是因为我对这两种工具的实现都没有深入的了解。
答案 0 :(得分:1)
我不确定这是否具有可比性。 Kubernetes可以作为Mesos框架运行。其调度程序描述为here。它基于对节点的过滤和排名。
Mesos两步调度更多地依赖于框架算法。
附录引自https://medium.com/@ArmandGrillet/comparison-of-container-schedulers-c427f4f7421
整体安排
单片调度程序由单个调度程序组成 调度代理处理所有请求,它们通常用于 高性能计算。单片调度程序通常适用于 因此运行的所有传入作业的单算法实现 根据工作类型的不同调度逻辑很难。阿帕奇 Hadoop YARN [55],一个受委托的Hadoop流行架构 每个应用程序组件的许多调度功能,是一个 单片调度器架构由于资源的事实 来自应用程序主机的请求必须发送到单个全局 资源主数据中的调度程序。
两级安排
两级 调度程序调整每个调度程序的资源分配 动态使用中央协调器来决定有多少资源 每个子集群都可以拥有,它在Mesos [50]中使用并用于 Hadoop-on-Demand(现在由YARN取代)。有了这种架构,就可以了 allocator通过仅向一个提供给定资源来避免冲突 一次构建框架并试图实现主导资源公平 通过选择它提供的资源的顺序和大小。只要 一个框架一次检查资源,因此是并发 控制被称为悲观,一种不易出错的策略 与提供a的乐观并发控制相比较慢 同时为许多框架提供资源。
共享状态安排
Omega授予每个调度程序对整个集群的完全访问权限, 允许他们以自由的方式参与竞争。没有中心 资源分配器作为所有资源分配决策 放在调度程序中。没有中央政策执行 引擎,个人调度员正在做出这种变体的决定 两级计划。通过支持独立调度程序 实现和公开的整个分配状态 调度程序,Omega可以扩展到许多调度程序并使用 不同的工作负载及其自己的调度策略[54]。