课程定位:解决源码阅读中的“迷路”问题

Kubernetes 源码体量庞大,架构错综复杂,许多运维或开发人员在尝试深入研读源码时,往往面临无从下手的困境。看代码容易陷入细节泥潭,忽略整体架构脉络;或者读懂了单个包的功能,却无法串联起 Controller、API Server、Scheduler 等核心组件之间的协作逻辑。这门课的核心价值不在于重复讲解 K8s 的基础概念,而是直指源码解读这一痛点,帮助学习者建立从宏观架构到微观实现的认知桥梁。它旨在解决“知道怎么用,但不知道内部如何运作”以及“看源码像看天书,找不到入口”的实际问题,为那些希望突破技术瓶颈、向专家级别进阶的从业者提供清晰的路径指引。

适合人群与前置基础

本课程不适合零基础的 Kubernetes 用户。学习者需要具备扎实的 K8s 日常使用经验,熟悉 Pod、Deployment、Service、ConfigMap 等核心资源对象的生命周期与管理方式,理解基本的集群架构组件及其功能。此外,具备一定的 Go 语言编程基础是必要的,因为 K8s 核心源码主要由 Go 编写,理解基本的并发模型、接口设计和面向对象思想有助于降低源码阅读门槛。课程适合的对象包括:一线 SRE/运维工程师、后端开发工程师以及希望深入理解云原生底层原理的技术人员。如果你已能熟练在集群中部署应用,但对调度策略、声明式 API 的落地实现、etcd 的数据同步机制等底层逻辑感到模糊,这门课正是为你准备的。

学习路径建议与资料配合

建议的学习策略是“带着问题看源码,结合注释理逻辑”。不要试图逐行通读所有代码,而应跟随课程引导,选取关键入口(如 kube-apiserver 的请求处理链路、kube-controller-manager 的控制器循环、kube-scheduler 的调度流程)进行深度剖析。资料包中的视频讲解与源码注释相辅相成,视频负责梳理架构脉络和关键转折点,源码负责提供实现细节。建议在观看视频前,先在本地搭建测试集群或准备源码环境,边看边对照代码文件结构,标记出不理解的接口调用或数据结构,再回看视频寻找答案。学完后,你应该能够独立追踪一个资源从创建到落地的完整链路,能够解读核心组件的关键源码逻辑,具备排查复杂集群问题的底层思维能力,并能在工作中针对特定场景优化或扩展 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
 └── 资料/