Kubernetes 源码剖析与实战
孔令飞
前腾讯云专家工程师
1485 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已更新 37 讲/共 55 讲
Kubernetes 源码剖析与实战
15
15
1.0x
00:00/00:00
登录|注册

35|kube-scheduler框架核心原理及源码剖析

你好,我是孔令飞。
Kubernetes 中有很多核心组件,其中一个非常重要的组件是 kube-scheduler。kube-scheduler 负责将新创建的 Pod 调度到集群中的合适节点上运行,如果没有 kube-scheduler,我们创建的 Pod 就无法调度到合适的 Node 上,也就没办法运行我们的业务。
在企业使用 Kubernetes 的过程中,需要改造 Kubernetes 的地方不多,在这些需要改造的部分中,调度器占了很大一部分比例。
本节课,我就来通过剖析 kube-scheduler 的源码,来让你深入学习 Kubernetes 的调度原理和实现。
因为 kube-scheduler 实现代码量大、逻辑复杂,所以本节课难免会出现一些逻辑、语义的错误,但这些错误还不至于严重误导对 kube-scheduler 源码的学习。所以,你可以放心阅读,也希望能包容其中的一些错误。后面我会不断细化文章逻辑以及调度细节,争取能够清晰、准确地介绍 kube-shceduler 实现的方方面面。

kube-scheduler 的设计

Scheduler 在整个系统中承担了“承上启下”的重要功能。“承上”是指它负责接受 Controller Manager 创建的新 Pod,为其安排 Node。“启下”是指安置工作完成后,目标 Node 上的 kubelet 服务进程接管后续工作。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. kube-scheduler是Kubernetes中重要的组件,负责将新创建的Pod调度到合适节点上运行。 2. kube-scheduler的功能包括预选和优选两个步骤,通过apiserver watch API和调度策略实现Pod的节点选择和绑定。 3. 学习kube-scheduler源码需要有有效的学习方法,可以根据功能将kube-scheduler分成应用构建、调度原理和支持的调度策略三个部分。 4. kube-scheduler的应用构建方式与其他Kubernetes组件保持一致,使用cli.Run来运行*Cobra.Command实例,确保各个组件运行时的行为保持一致。 5. cli.Run函数中执行一些通用处理,包括设置全局的参数标准化函数、检查是否启用了错误打印、确保日志包被正确设置等.

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Kubernetes 源码剖析与实战》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 郑海成
    1. “预选”=“筛简历”、“优选”=“面试评分”,先筛简历再面试评分,最有选一个最合适的。 2. 领导者选举机制
    2025-07-04归属地:北京
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部