1. 课程导论与目标:为什么需要资源配额模型?
在云原生环境中,资源是共享的、动态的,也是有限的。没有配额约束的集群,就像没有交通规则的城市——最终必然导致拥堵、崩溃与不公平。本课程从架构设计出发,带你构建一套可落地、可审计、可自动化的资源配额模型,并最终以“策略即代码”的方式交付。
1.1 为什么需要资源配额模型?
资源配额模型解决的核心矛盾是:有限资源 vs. 无限需求。在多租户、微服务、混合负载的集群中,缺乏配额会导致以下典型问题:
| 问题 | 表现 | 后果 |
|---|---|---|
| 资源争抢 | 单个应用突发占用全部 CPU/内存 | 其他服务响应超时、雪崩 |
| 成本失控 | 无上限的 Pod 创建导致云账单飙升 | 预算超支、资源浪费 |
| 公平性缺失 | 开发/测试环境抢占生产资源 | SLA 无法保障、团队冲突 |
| 运维黑盒 | 配额变更依赖人工审批、手动配置 | 效率低、易出错、无审计 |
核心观点:资源配额不是限制创新,而是保障集群健康运行的基础设施。好的配额模型 = 弹性 + 公平 + 可预测。
1.2 策略即代码(Policy as Code)的核心价值
传统配额管理依赖运维人员手动编辑 YAML、执行 kubectl 或通过 UI 点击配置。这种方式在规模扩大后迅速失效。策略即代码(PaC)将配额规则以声明式代码的形式管理,带来以下关键价值:
- 版本化与审计:所有配额策略存储在 Git 仓库中,每次变更都有记录、可回滚。
- 自动化执行:策略在资源创建/更新时自动校验,拒绝违规请求,无需人工介入。
- 一致性保障:同一套策略可应用于开发、测试、生产环境,消除环境差异。
- 可测试性:策略代码可编写单元测试,确保逻辑正确后再部署。
- 合规集成:与 CI/CD 流水线、审计系统无缝对接,实现治理自动化。
实践提示:本课程选用 Kyverno 作为策略引擎,它原生适配 Kubernetes,无需编写复杂的 Webhook 或 Admission Controller 代码。
1.3 课程整体架构与学习路径
本课程共 30 章,分为四个阶段,从理论到实战,逐步构建完整的资源配额模型与策略即代码体系。
1.4 你将获得的能力
完成本课程后,你将具备以下核心能力:
- 架构设计能力:能够根据业务场景设计多层级、多租户的资源配额模型。
- 策略即代码实战能力:熟练使用 Kyverno 编写、测试、部署配额策略。
- 自动化运维能力:将配额策略集成到 CI/CD 流水线,实现自动化合规校验。
- 故障排查能力:快速定位配额相关异常,并制定有效的调整策略。
前置要求:建议具备 Kubernetes 基础操作经验(Pod、Namespace、RBAC),了解 YAML 语法。无需策略引擎使用经验,课程会从零开始讲解。