1. 课程导论与目标:Knative与Cilium在云原生中的定位
1.1 云原生生态中的两大核心组件
在云原生技术栈中,Knative 与 Cilium 分别承担着“无服务器工作负载编排”与“高性能网络与安全”的关键角色。两者并非竞争关系,而是互补协同:Knative 解决的是应用层弹性伸缩与事件驱动问题,Cilium 解决的是数据平面网络策略与可观测性问题。
| 维度 | Knative | Cilium |
|---|---|---|
| 定位 | 无服务器(Serverless)平台 | 云原生网络、安全与可观测性 |
| 核心能力 | 自动扩缩容(KPA/HPA)、流量灰度、事件驱动 | eBPF 数据平面、网络策略、服务网格替代 |
| 依赖关系 | 运行于 Kubernetes 之上,依赖网络 CNI | 作为 CNI 插件或服务网格数据面 |
| 性能敏感点 | 冷启动延迟、并发连接数、Pod 调度密度 | 吞吐量、延迟、连接跟踪表大小 |
| 典型场景 | 事件处理、API 后端、批处理任务 | 微服务零信任网络、网络策略审计 |
课程核心观点: 容量规划不能只关注 Knative 本身的扩缩容参数,必须将 Cilium 的网络性能损耗纳入模型,否则生产环境会出现“扩容正常但网络瓶颈”的假性饥饿问题。
1.2 课程目标与受众
课程目标
- 掌握 Knative 服务容量建模方法:基于并发数、QPS、响应时间推导 Pod 副本数与资源预留量。
- 理解 Cilium 网络性能基线:通过 eBPF 数据路径测试,量化延迟、吞吐与连接数上限。
- 建立联合验证流程:在 Knative 流量突发场景下,验证 Cilium 策略对扩容速度与网络延迟的影响。
- 输出可复用的测试工具链:使用 fortio、wrk2、hubble 等工具完成端到端压测与数据采集。
目标受众
| 角色 | 前置知识要求 | 课程收益 |
|---|---|---|
| SRE / 平台工程师 | Kubernetes 基础、Linux 网络原理 | 容量规划方法论、性能调优实战 |
| 云原生架构师 | 微服务架构、Service Mesh 概念 | Knative + Cilium 架构设计决策 |
| 性能测试工程师 | HTTP 压测工具使用经验 | eBPF 级性能数据采集与分析 |
1.3 整体知识架构图
下图展示了本课程的知识体系分层:从底层基础设施到上层业务容量规划,Cilium 与 Knative 在各自层级中承担职责,并通过联合测试验证形成闭环。
1.4 课程章节路线图
课程共 30 章,按“基础 → 规划 → 测试 → 优化”四阶段递进:
| 阶段 | 章节范围 | 核心产出 |
|---|---|---|
| 基础篇 | 第 1–6 章 | Knative 架构拆解、Cilium eBPF 原理、环境搭建 |
| 容量规划篇 | 第 7–14 章 | 并发模型、资源预留公式、HPA/KPA 调优 |
| 网络性能测试篇 | 第 15–24 章 | 延迟/吞吐基线、策略压力测试、Hubble 分析 |
| 联合验证与实战篇 | 第 25–30 章 | 流量突发场景、冷启动优化、生产级最佳实践 |
学习建议: 基础篇的 Knative 与 Cilium 环境搭建建议使用 kind 或 minikube 本地集群,配合
kubectl 命令行操作,便于快速迭代验证。