先判断:这门课解决什么场景与门槛
这门课解决的核心场景是:如何把一个具体的通用数据库服务,通过纯手工编码的方式封装成 Kubernetes 原生的自定义资源与控制器。在日常运维中,如果团队需要把内部中间件或自研业务服务纳入集群统一管理,实现声明式部署与自动化扩缩容,Operator 是标准解法。课程基于 k8s 1.20 以上版本,全程不依赖现成框架黑盒,而是带你从零搭建控制器交互逻辑。资料适合已经掌握 Go 语言基础、能独立部署基础集群、并写过简单自定义资源定义的读者。如果你还没摸过 informer 机制或 client 库的基本调用,建议先补齐这些前置知识,否则在手工实现控制器调谐时会明显吃力。
资料怎么配合练习与学习顺序建议
拿到资料后,不要按顺序被动看。建议先看开篇架构梳理,在脑海中建立 CRD 设计、代码生成、控制器调谐的整体闭环。接着进入实操:先跑通 CRD 初步设计与代码生成器,把自动生成的客户端集成到本地工程,确保能连接测试集群。然后重点啃手工创建控制器部分,跟着视频把监听、入队、调谐逻辑敲一遍。学到这里先暂停,自己在集群里提交一个自定义资源,验证能否触发控制器创建对应工作负载。最后再回头看字段验证、默认值、状态回写与扩容伸缩等进阶属性配置,查漏补缺。练习时务必准备一个干净的测试环境,边敲代码边提交资源,遇到行为不符再回查对应章节,这种以问题驱动的学习方式比线性刷课效率高得多。
学完能独立做什么
走完全套流程后,你应该能独立完成一个 Operator 的闭环开发。具体产出包括:根据业务需求合理设计 CRD 结构,配置字段打印、默认值与状态字段;使用代码生成工具产出符合规范的客户端与 informer;手工编写控制器核心逻辑,监听自定义资源变化,并据此创建、更新对应的工作负载;实现扩容与伸缩属性,把运行状态准确回写到自定义资源。这套纯手工实现的经验,让你在面对复杂中间件管理需求时,不再依赖现成框架,而是能根据实际场景灵活拆解并组装控制器,真正具备在团队内部落地云原生运维方案的能力。
本课程是继第一波课程的进阶课程,独立课程。本课程使用纯手工打造Operator各项功能,k8s版本是1.20+。本课程内容:我们把微服务课程中的通用DB服务做成
课程目录
* 第一章:Operator进阶开发和配置 cplist.push('第一章:Operator进阶开发和配置');/
* 第1讲:开张课、课程基本内容和架构
* 第2讲:CRD的初步设计和代码生成器的初步使用
* 第3讲:CRD的初步编写、自动生成的Client使用
* 第4讲:复习课:手工创建控制器
* 第5讲:复习课:crd的基本验证、默认值、支持status字段
* 第6讲:复习课:crd的字段打印、扩容和伸缩属性设置
* 第7讲:嘴炮课:控制器和目标软件的基本交互方式和功能
* 第8讲:控制器(1):创建deployment的代码封装
* 第9讲:控制器(2):提交yaml创建deployment初步
* 第10讲:控制器(3):提交yaml修改deployment(patch模式)
* 第11讲:控制器(4):关于级联删除的基本写法
* 第12讲:控制器(5):复习课:重新拉起被手工删掉的资源
* 第13讲:控制器(6):监控deployment副本数变化、显示在控制台
* 第二章:GRPC ORM的交互实现 cplist.push('第二章:GRPC ORM的交互实现');/
* 第14讲:参数交互设计和ConfigMap创建
* 第15讲:控制器映射配置文件到目标软件中
* 第16讲:演示课: 支持连接池参数的提交
* 第17讲:修改参数后ConfigMap挂载配置文件的更新思路






