两张大图一次性讲透k8s调度器工作原理

两张大图一次性讲透k8s调度器工作原理

💡 原文中文,约2100字,阅读约需5分钟。
📝

内容提要

kube-scheduler负责将K8s Pod调度到工作节点,依据Pod规格(如CPU、内存、亲和性等)选择最佳节点。调度过程分为预选和打分,最终选择得分最高的节点进行绑定。开发者可创建自定义调度器,支持插件化调度框架。

🎯

关键要点

  • kube-scheduler负责将K8s Pod调度到工作节点。
  • Pod规格包括CPU、内存、亲和性、污点、优先级和持久盘等。
  • 调度过程分为预选和打分,最终选择得分最高的节点进行绑定。
  • 调度选择期包括过滤和打分两个阶段。
  • 过滤阶段通过Pod规格过滤掉不适合的节点。
  • 打分阶段使用优先级和调度插件对节点进行评分。
  • 开发者可以创建自定义调度器,与原生调度器一起运行。
  • 调度器支持可插拔的调度框架,允许添加自定义插件。

延伸问答

kube-scheduler的主要功能是什么?

kube-scheduler负责将K8s Pod调度到工作节点,选择最佳节点以满足Pod规格。

调度过程是如何进行的?

调度过程分为预选和打分两个阶段,首先过滤不适合的节点,然后对合适的节点进行打分,最终选择得分最高的节点进行绑定。

Pod规格包括哪些内容?

Pod规格包括CPU、内存、亲和性、污点、优先级和持久盘等。

如何创建自定义调度器?

开发者可以创建自定义调度器,并在Pod的manifest文件中指定,从而基于自定义逻辑进行调度。

调度器的打分机制是怎样的?

调度器通过优先级和调度插件对节点进行评分,使用多个插件根据特定标准评估节点并累计得分。

调度器支持哪些扩展功能?

调度器支持可插拔的调度框架,允许开发者添加自定义插件以扩展调度功能。

➡️

继续阅读