聚合API实战入门:值不值得学

这门课解决的核心场景是:当K8s原生的API或CRD无法满足复杂的定制化需求时,如何通过聚合API(Aggregated API)对集群进行深度扩展。很多做云原生转型的团队在做多集群管理、自定义Ingress增强或对接内部旧有基础设施时,常会遇到kubectl无法按业务字段过滤、自定义资源列表展示不直观等痛点。聚合API能让你的扩展服务像原生资源一样工作,直接挂载到K8s的API路径下。相比CRD,它赋予了开发者完整的请求处理控制权。如果你目前的工作只是部署现成的中间件,暂时不需要开发云原生扩展组件,那这门课可以先放放;但如果你需要开发内部PaaS平台、定制K8s控制平面,或者准备向云原生研发岗转行,这套实战资料就非常对口。

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

这门课不适合零基础。你需要已经掌握Go语言基础语法,并且能独立编写简单的CRD和Controller。资料默认你已经懂K8s的客户端-go库基本调用,以及Informer机制。建议拿到资料后,不要按部就班从头看,而是先直奔第一章的“最粗暴理解和编码”模块。重点看前三讲,弄清APIService的注册机制、自定义服务如何接管特定URL路由,以及如何完成本地编译并部署到集群里。这几块是打通整个聚合API链路的命脉,只要把这部分跑通,后续的获取资源列表、模拟标签选择器等操作,本质上就是在此骨架上填充业务逻辑。

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

这套资料的核心价值在于“粗暴”的编码实操,没有冗长的架构理论。配合练习时,强烈建议自己准备一个本地的Minikube或Kind环境,跟着视频把最简聚合API服务敲一遍。遇到课后作业(比如根据namespace获取资源列表),先自己写逻辑,再去对下一讲的代码。不要直接拿现成代码跑,聚合API的调试难点在于证书认证和APIService路由匹配,只有自己踩过这些部署的坑,才能真正理解其运作机制。学完后,你应当能独立开发一个聚合API扩展应用,让kubectl直接按你定义的字段打印和过滤自定义资源,并能以此为基础,独立构建类似Ingress增强资源的进阶控制器,完成对K8s API层面的深度定制。


本课程是k8s基础速学3的单独子课程,主要讲解的是k8s另外一个api扩展方式:聚合API(之前讲过crd)。新课程会大量使用聚合API开发扩展应用、多集群应用

课程目录

*   第一章:最粗暴的理解和编码 cplist.push('第一章:最粗暴的理解和编码');/

  *   第1讲:开张课、聚合API的学习指引

  *   第2讲:编写最简单聚合API服务(上):基本代码

  *   第3讲:编写最简单聚合API服务(下):编译和部署

  *   第4讲:编写最简聚合api(3):获取自定义资源列表

  *   第5讲:编写最简聚合api(4):根据namespace获取自定义资源列表(上节课后作业)

  *   第6讲:编写最简聚合api(5):简单获取资源详细

  *   第7讲:编写最简聚合api(6):让kubectl打印出自定义字段

  *   第8讲:编写最简聚合api(7):简单模拟支持标签选择器

*   第二章:进阶案例-Ingress增强资源 cplist.push('第二章:进阶案例-Ingress增强资源');/

  *   第9讲:创建自定义资源类型”实体类”(ingress)

  *   第10讲:表格化列表展示(通用转换函数)

  *   第11讲:使用真实Ingress数据转化为自定义资源并展现

  *   第12讲:获取自定义Ingress资源和失败处理的套路

  *   第13讲:新增自定义Ingress资源(1):无脑新增

  *   第14讲:新增自定义Ingress资源(2):同步创建Ingress资源

  *   第15讲:新增自定义Ingress资源(3):apply操作的实现(演示课、选学)