先讲清楚:这门课解决什么问题

如果你平时在用 Kubernetes,大概率会直接装一个 ingress-nginx 或者 traefik 来做集群流量的入口。能用,但很多人对它背后的运转机制是模糊的:自定义资源(CRD)是怎么被识别的、路由规则是怎么翻译成实际转发动作的、控制器又是怎么在配置变更后实时生效的。这门课不教你调参,而是带着你用 Go 语言和 kubebuilder 框架,自己手写一个基于 Operator 模式的 HTTP 网关。它的核心价值在于把声明式配置和底层反向代理打通,让你真正搞懂 ingress 控制器的工作原理,而不是停留在写几条 YAML 规则的层面。

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

这绝不是给零基础准备的。你需要事先掌握 Go 语言基础语法,并且对 Kubernetes 的基本概念、CRD 以及 Operator 开发框架有明确认知。如果你之前没有接触过 kubebuilder,直接看这门课会非常吃力,因为代码里大量涉及 controller-runtime 的底层逻辑。建议拿到资料后,先看第一章里关于整体架构设计的开张课,建立全局视角;接着直接切入路由解析相关的几讲,这部分是整个网关的核心业务逻辑,涵盖了前缀匹配、Host 匹配以及路径重写。把这些核心模块的代码逻辑跑通,后续的请求头过滤器等扩展功能就会顺理成章。

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

看视频时不要只盯着屏幕,必须把本地环境搭起来跟着敲。资料包里的代码是按章节递进的,建议每看完一个功能点,就自己在本地集群里跑一遍。比如讲到路由解析时,自己写一个自定义资源对象,应用后去 curl 验证网关是否按规则转发。遇到课后思考题一定要停下来自己写代码,不要直接看下一讲的答案。学完这套资料,你能够独立开发一个简易的 Kubernetes 原生 HTTP 反向代理网关,具备配置热更新、多维度路由匹配以及基本的请求头改写能力。更重要的是,你掌握了 Operator 开发在真实网络流量场景下的工程落地方法,以后公司内部如果有定制化网关需求,你能直接从零搭起骨架,而不是死板地去改 nginx 配置文件。


之前k8s基础速学3讲过Operator基础开发篇,我们使用的是kubebuilder.接下来我们开设一系列的实战加强课。本课程是第一波,模拟nginx-ing

课程目录

*   第一章:手撸一个简易反代网关 cplist.push('第一章:手撸一个简易反代网关');/

  *   第1讲:开张课、本课程基本架构和内容

  *   第2讲:集成第三方库初步完成反代功能

  *   第3讲:初步集成k8s runtime库、配置文件的设计

  *   第4讲:路由解析(1):结合mux初步完成路由解析

  *   第5讲:路由解析(2):支持前缀匹配(上节课课后思考题

  *   第6讲:路由解析(3):支持Host匹配

  *   第7讲:路由解析(4):支持路径重写(rewrite-target)

  *   第8讲:路由解析(5):支持路径重写(上节课代码更正)

  *   第9讲:路由解析(6):支持添加请求头过滤器(练习课)

  *   第10讲:路由解析(7):支持添加响应头过滤器