这门课解决什么问题

很多做云原生运维或平台开发的人,写 Kubernetes 操作脚本时习惯用 kubectl 或者现成的 Helm 模板,一旦遇到需要在自己的业务代码里直接增删改查集群资源,就会卡壳。这门课专注在 client-go 这个官方库上,解决的核心场景是:当你需要写一个控制器、一个自动化运维工具、或者一个内部平台去和 K8s API Server 交互时,怎么稳妥地建立连接、怎么封装客户端、怎么处理限流和资源监听。它不教 K8s 基础概念,默认你已经知道 Pod、Deployment 是什么,直接进入代码层面。

适合什么基础,建议先看哪几块

资料适合有 Go 语言基础、写过简单后端服务、并且对 K8s 集群有基本使用经验的人。如果你没写过 Go,或者没手动用 kubectl 部署过应用,建议先补这两块再看。内容编排上比较务实,建议先看连接方式和客户端封装这两部分,理解 clientset 和 restClient 的区别,因为实际项目里这两种请求方式会混着用。之后直接跳到创建 Pod 和监听状态的章节,这部分是日常开发中最频繁的需求,也是容易踩坑的地方。课程里用到了 kwok 这个工具来模拟集群环境,这块建议跟着操作一遍,它能省去你搭建完整测试集群的时间,特别适合本地开发调试。

学完能独立做什么,资料怎么配合练习

学完后,你应该能独立写出一个 Go 程序,连接到指定 K8s 集群,批量创建或查询资源,并且监听资源状态变化做后续处理。比如写一个脚本自动检查某个命名空间下所有异常 Pod 并触发告警,或者给内部平台写一个资源调度模块。资料配合方面,这门课本质是代码实战课,看视频时一定要把环境搭起来同步敲代码。kwok 的配置部分先跑通,然后每看一个章节,就自己改写示例代码,比如把创建 Pod 改成创建 Deployment,或者把监听逻辑改成过滤特定标签。课程里还附带了 Python 调用 K8s 的快餐内容,如果你工作中偶尔需要写非 Go 的运维脚本,可以快速过一遍,但核心精力还是放在 client-go 的主线上。


本课程是一个主题课(含go和python两个方向),之前的课程比较分散的讲了client-go。但是没有一个单独的、较为详细的专项知识点讲解。在学员的要求下,我

课程目录

*   第1讲:开张课、再谈client-go连接k8s的方式

*   第2讲:client-go初始化代码封装技巧、客户端限流配置

*   第3讲:再谈clientset获取k8s资源、代码调试技巧等

*   第4讲:使用半原始restClient请求k8s的套路

*   第5讲:结合kwok加快client-go开发和测试速度

*   第6讲:创建Pod的两种手法套路(上)

*   第7讲:创建Pod的两种套路(下)

*   第8讲:在k8s(kwok)中创建Pod,并监听是否创建成功

*   第9讲:快餐课时: python调用k8s基本套路(kwok)

*   第10讲:快餐课时: 快速粗暴的封装k8s client 创建

*   第11讲:快餐课时: 快速粗暴的创建k8s pod (两种写法)

*   第12讲:快餐课时: 监听k8s pod (类似informer)

*   第13讲:快餐课时: 监听k8s pod 并实现异步缓存读取简易代码