Kubernetes 的源码体量庞大且架构复杂,直接阅读代码库往往陷入细节泥潭,难以建立宏观视野。本课程专为解决“不知从何读起”的痛点设计,通过视频逐层拆解核心组件,将抽象的代码逻辑转化为可执行的架构认知。它不教你安装部署,而是深入控制平面与节点平面内部,剖析 API Server、Scheduler、Kubelet 等关键模块的交互机制与代码实现逻辑。
适合人群:需具备扎实的 Golang 基础,熟悉 Linux 系统底层原理,并掌握 Kubernetes 常用命令及 YAML 编写的开发者或运维工程师。若你对 Kubernetes 仅停留在黑盒使用层面,或对 Go 语言的反射、接口、并发模型理解不深,建议先补齐前置知识,否则源码解读的门槛极高,容易因语言特性卡顿而放弃。
在学习顺序上,切忌一开始就钻取每个工具包的底层实现。建议先重点攻克 API Server 的注册机制与请求处理流程,这是理解 Kubernetes 一切交互的基石;接着深入 Scheduler 的调度算法与 Kubelet 的资源管理逻辑,厘清对象生命周期管理的完整闭环。通过跟随视频梳理主流程,再针对性地查阅源码细节,能避免在无关代码中迷失。学完这一部分,你应当能独立回答:当创建一个 Pod 时,从 API 请求到节点最终拉起容器,中间经历了哪些具体的代码函数调用?Watch 机制是如何保证控制器与 API Server 数据一致性的?Lease 机制又是如何替代心跳机制来优化控制器管理的?
配套资料的使用关键在于“索引”而非“背诵”。视频负责搭建逻辑框架,真正的理解必须发生在代码执行过程中。利用课程中提到的关键类与方法签名,在本地开发环境中克隆 Kubernetes 源码,利用调试器进行断点调试。不要只是静态阅读代码,要动手运行代码,观察变量在函数调用链中的流转。资料包中的笔记与文档可作为快速定位工具,当你在源码中迷失时,用来确认当前模块在全局架构中的位置。建议准备一个独立的实验集群,每读完一个核心模块,就尝试修改对应的代码并重新编译部署,通过实际观察行为变化来验证理解。
学完并能独立做什么:你不再依赖外部教程或官方文档的碎片化解释,而是能直接阅读源码定位 Bug 原因,理解非官方插件与核心组件的交互边界。你具备能力根据业务需求修改调度器策略或自定义控制器逻辑,甚至参与开源贡献。这种基于源码的深度理解,是区分普通使用者与真正专家的分水岭,也是解决生产环境复杂疑难杂症的根本能力。
课程介绍
k8s纯源码解读课程,助力你变成k8s专家,。k8s纯源码解读非常不错,自己看源码的时候无从下手,跟着老师的视频,能找到方向了 ,秒极了!
课程目录
├── 2-前言/ │ └── [ 43M] 2.1-前言.mp4 ├── 3-k8s集群搭建和上手使用/ │ ├── [ 46M] 3.1-1.1 k8s的介绍与核心对象概念.mp4 │ ├── [ 72M] 3.2-使用kubeadm 10分钟部署k8集群.mp4 │ ├── [ 68M] 3.3-k8s-上部署第一个应用程序.mp4 │ ├── [ 51M] 3.4-给应用添加service,执行扩容和滚动更新.mp4 │ ├── [135M] 3.5-安装Kuboard在页面上熟悉k8s集群.mp4 │ └── [ 20M] 3.6-阅读k8s源码的准备工作.mp4 ├── 4-创建pod时kubectl的执行流程和它的设计模式/ │ ├── [ 12M] 4.1-使用kubectl部署一个简单的nginx-pod.mp4 │ ├── [ 96M] 4.2-命令行解析工具cobra的使用.mp4 │ ├── [ 54M] 4.3-kubectl命令行设置pprof抓取火焰图.mp4 │ ├── [ 36M] 4.4-kubectl命令行设置7大命令分组.mp4 │ ├── [ 43M] 4.5-create命令执行流程.mp4 │ └── [ 16M] 4.6-kubectl功能和对象总结.mp4 ├── 5-apiserver中的权限相关/ │ ├── [ 60M] 5.1-apiserver启动主流程分析.mp4 │ ├── [ 62M] 5.2-API核心服务通用配置genericConfig.mp4 │ ├── [ 54M] 5.3-API核心服务的Authentication认证.mp4 │ ├── [ 52M] 5.4-API核心服务的Authorization鉴权.mp4 │ ├── [ 69M] 5.5-node类型的Authorization鉴权.mp4 │ ├── [ 79M] 5.6-rbac类型的Authorization鉴权.mp4 │ └── [ 72M] 5.7-audit审计功能说明和源码解读.mp4 ├── 6-API核心服务的处理流程/ │ ├── [108M] 6.1-API核心server的启动流程.mp4 │ ├── [ 79M] 6.2-scheme和RESTStorage的初始化.mp4 │ ├── [ 55M] 6.3-apiserver中Pod数据的保存.mp4 │ ├── [ 72M] 6.4-apiserver中的限流策略源码解读.mp4 │ └── [ 10M] 6.5-apiserver重要对象和功能总结.mp4 ├── 7-kube-scheduler 调度pod的流程/ │ ├── [101M] 7.1-kube-scheduler的启动流程.mp4 │ ├── [107M] 7.2-kube-scheduler中的informer源码阅读.mp4 │ └── [136M] 7.3-kube-scheduler利用informer机制调度pod.mp4 ├── 8-kube-controller-manager控制管理中心的作用/ │ ├── [ 83M] 8.1-controller-manager启动主流程.mp4 │ └── [133M] 8.2-ReplicaSet和对应的ReplicaSetControll.mp4 ├── 9-kubelet节点上控制容器生命周期的管理者/ │ ├── [ 56M] 9.1-kubelet启动主流程.mp4 │ ├── [ 97M] 9.2-kubelet节点自注册源码分析.mp4 │ ├── [ 54M] 9.3-基于NodeStatus和lease对象的心跳机制.mp4 │ ├── [ 77M] 9.4-syncLoop响应pod创建的过程.mp4 │ ├── 【@更多it资源 www.】 │ ├── [ 57M] 9.5-kubelet维护pod的内存管理器podManager.mp4 │ ├── [114M] 9.6-volumeManager中的desiredStateOfWor.mp4 │ ├── [101M] 9.7-volumeManager中的reconciler协调器解析.mp4 │ ├── [ 96M] 9.8-statusManager同步pod状态.mp4 │ └── [ 97M] 9.9-probeManager监控pod中容器的健康状况.mp4 ├── 10-kubelet稳定性保证Eviction驱逐和oom/ │ ├── [ 17M] 10.1-Kubelet Eviction驱逐解读.mp4 │ └── [132M] 10.2-EvictionManager源码解读.mp4 ├── 11-kubelet pleg对象和containerManager总/ │ ├── [109M] 11.1-kubelet pleg对象介绍和源码解读.mp4 │ └── [115M] 11.2-kubelet containerManager源码解读.mp4 ├── 12-kubelet的GarbageCollection/ │ ├── [ 49M] 12.1-GarbageCollection之镜像清理源码解读.mp4 │ └── [ 49M] 12.2-GarbageCollection之容器清理源码解读.mp4 ├── 13-kubelet中内置的cadvisor/ │ └── [167M] 13.1-kubelet中内置的cadvisor.mp4 ├── 14-容器底层原理和容器运行时的乱战/ │ ├── @@更多it资源 www. │ ├── [ 39M] 14.1-容器和namespace.mp4 │ ├── [ 11M] 14.2-容器和cgroups.mp4 │ ├── [ 35M] 14.3-容器运行时的乱战.mp4 │ ├── [ 36M] 14.4-k8s的cri接口和dockershim的去留.mp4 │ └── [117M] 14.5-kubelet中dockershim源码解读.mp4 ├── 15-k8s job和cronjob源码解读/ │ ├── [ 36M] 15.1-job的基本功能.mp4 │ ├── [ 88M] 15.2-job controller源码解析之初始化工作.mp4 │ ├── [ 92M] 15.3-job controller源码解析之syncJob工作.mp4 │ ├── [ 83M] 15.4-job controller源码解析之manageJob工作.mp4 │ ├── [ 66M] 15.5-cronjob-controller同步主流程源码解析.mp4 │ └── [ 51M] 15.6-cronjob-controller同步核心syncCronJo.mp4 ├── 16-k8s ReplicaSetController源码分析/ │ ├── [ 33M] 16.1-ReplicaSetController源码解析之初始化工作.mp4 │ └── [ 66M] 16.2-源码解析之syncReplicaSet.mp4 ├── 17-k8s daemonSet源码分析/ │ ├── [ 61M] 17.1-daemonSet的常见功能.mp4 │ ├── [ 48M] 17.2-DaemonSetController源码分析之初始化工作.mp4 │ ├── [ 74M] 17.3-DaemonSetController源码分析之状态同步.mp4 │ ├── [ 46M] 17.4-DaemonSetController源码分析之创建操作.mp4 │ └── [ 58M] 17.5-DaemonSetController源码分析之滚动更新.mp4 ├── 18-k8s statefulSet源码分析/ │ ├── [113M] 18.1-statefulSet的常见功能之动态pv准备.mp4 │ ├── [ 59M] 18.2-statefulSet的常见功能新增删除扩容.mp4 │ ├── [ 21M] 18.3-StatefulSetController源码分析之初始化.mp4 │ └── [ 73M] 18.4-StatefulSetController源码分析之sync同步.mp4 ├── 19-Service的定义和概念/ │ ├── [ 48M] 19.1-4种Service概念介绍.mp4 │ ├── [ 21M] 19.2-4种service的负载均衡模式.mp4 │ └── [ 80M] 19.3-2种service的服务发现模式.mp4 ├── 20-kube-proxy iptables和ipvs模式源码解读/ │ ├── [ 71M] 20.1-启动流程之判断代理模式初始化proxier接口.mp4 │ ├── [ 61M] 20.2-启动流程之proxier运行.mp4 │ ├── [ 73M] 20.3-中iptables模式的规则分析.mp4 │ ├── [ 77M] 20.4-iptables模式的syncProxyRules解析.mp4 │ └── [ 35M] 20.5-ipvs模式的syncProxyRules解析.mp4 ├── 21-k8s 网络底层原理/ │ ├── [ 79M] 21.1-k8s CNI简介和kubelet中cni源码调用.mp4 │ └── [122M] 21.2-k8s calico plugin源码解析.mp4 ├── 22-k8s Ingress 7层路由机制和traefik源码解读/ │ ├── [ 64M] 22.1-Ingress安装使用.mp4 │ └── [ 84M] 22.2-traefik 源码解读.mp4 ├── 23-k8s 存储对象源码解读/ │ ├── [ 46M] 23.1-k8s存储管理发展历程和volume简介.mp4 │ └── [ 84M] 23.2-pv和pvc简介静态pv和动态pv示例.mp4 ├── 24-k8s configMap和secret解析/ │ ├── [ 33M] 24.1-k8s configMap简介.mp4 │ ├── [ 34M] 24.2-k8s secret简介.mp4 │ └── [ 60M] 24.3-volume-manager挂载configMapsecret.mp4 ├── 25-k8s源码阅读准备之拉取k8s源码/ │ └── [ 94M] 25.1-k8s源码阅读准备之拉取k8s源码.mp4 └── 资料/






