这门课解决什么工作场景

在 Kubernetes 集群里,把业务服务暴露给外部访问时,Nginx Ingress 是最常用的流量入口。但默认配置往往满足不了实际生产需求,比如限制接口参数的正则范围、过滤特定请求路径、重写静态资源地址,或者把集群内部流量反向代理到百度等外部服务。这门课解决的就是这类“官方文档没细说、但排查故障时必须搞懂”的 Ingress 进阶配置问题。它不教你从零搭建集群,而是针对已有 Nginx Ingress 环境做快速补丁,帮你处理动态路由测试、注解规则编写、路径重写这类高频运维场景。

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

课程默认你已经掌握 k8s 基本操作、服务部署流程,并且能写简单的 Golang HTTP API。如果连 kubectl 命令和 Pod 概念都不熟,建议先补基础再看。资料里的内容分两条线:一条是用 Gin 框架写动态路由测试程序,另一条是 Ingress 注解和反代配置。建议先看第 1、2 讲复习部署姿势,确认本地环境能跑通;然后直接跳到第 6、7 讲看正则注解和 Server snippet,这两块在日常工作中用得最多,能立刻解决参数校验和路径过滤问题;第 9 讲的 rewrite-target 也很关键,静态资源重写是前后端分离项目上线的必经环节。第 3 到第 5 讲的 Gin 测试程序属于辅助理解,时间紧可以当演示课看,重点在于理解动态路由怎么配合 Ingress 规则测试。

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

学完后你能独立完成三件事:一是给现有 Ingress 加注解规则,用正则限制 URL 参数范围,防止脏请求打到后端;二是通过 Server snippet 自定义 Nginx 配置片段,过滤不需要的请求路径,并且知道怎么进容器查看最终生成的 nginx.conf 来验证配置是否生效;三是配置路径重写和反向代理,把集群内请求转发到外部服务。练习时建议按这个顺序:先把资料里第 6 讲的注解示例抄到自己集群的 Ingress YAML 里,用 curl 打带不同参数的请求观察效果;接着照第 8 讲的延伸练习,自己设计一个“特定 URL 必须带特定参数”的规则并测试通过;最后拿第 10 讲的反代套路,实配一条把集群内服务代理到外部域名的规则。每改一次注解,就用 kubectl describe ingress 看事件日志,配合容器内的 nginx.conf 确认配置真的写进去了。这套流程跑下来,以后遇到 Ingress 流量控制的需求基本能自己查文档解决。


本课程默认你已经会k8s基操、部署和golang http api的开发,是对目前版本的nginx做个快速补丁,也可以当做入门课。

课程目录

*   第1讲:开张课,再讲nginx ingress

*   第2讲:再讲快速部署nginx-ingress的姿势

*   第3讲:写一个动态路由的gin测试程序(1):基本思路

*   第4讲:写一个动态路由的gin测试程序(2):可配置化实现(演示课、选学)

*   第5讲:写一个动态路由的gin测试程序(3):部署、ingress测试

*   第6讲:正则注解: 限制ID 参数范围

*   第7讲:Server snippet过滤请求路径、查看nginx 配置文件

*   第8讲:延伸练习:特定的URL 需要特定的参数才可访问

*   第9讲:关于路径重写(rewrite-target)以及静态资源的重写

*   第10讲:反代外部服务的套路(访问百度)

*   第11讲:反代外部服务的套路(外部IP模式 )

*   第12讲:补充课:k8s和非k8s环境结合SLB的姿势和用法

*   第13讲:Nginx lua学习(1) 最基本的脚本和学习方式

*   第14讲:Nginx lua学习(2)判断query参数、跳转

*   第15讲:Nginx lua学习(3)http 请求入门 (GET请求)

*   第16讲:Nginx lua用户注册案例(1) : 判断uri、设置变量

*   第17讲:Nginx lua用户注册案例(2) : 获取POST表单数据

*   第18讲:Nginx lua用户注册案例(3) : 内部请求判断用户名是否注册