1. 课程导论:eBPF 与节点池容量规划的关系
1.1 为什么 eBPF 是节点池容量规划的关键技术
在 Kubernetes 集群中,节点池(Node Pool)是承载工作负载的核心资源单元。传统的容量规划依赖 CPU 和内存的 Request/Limit 静态模型,但实际生产环境面临以下痛点:
- 资源利用率黑洞:CPU 的 CFS 配额与内存的 OOM 阈值无法反映真实应用行为,大量节点处于“已分配但未使用”或“已使用但未监控”的状态。
- 网络与 I/O 盲区:Pod 的网络吞吐、TCP 重传、磁盘 IOPS 等指标在传统 cAdvisor 层面聚合度不够,无法按节点池粒度做精细化调度。
- 内核态开销不可见:系统调用频率、eBPF 程序自身开销、网络栈处理延迟等内核级指标被完全忽略,导致容量规划出现系统性偏差。
eBPF(extended Berkeley Packet Filter)技术允许在内核态安全地注入观测程序,以极低开销捕获每个 Pod 的 系统调用、网络事件、内存分配、文件 I/O 等细粒度数据。这些数据可以直接映射到 Deployment 的资源模型上,实现从“静态配额”到“动态行为”的容量规划升级。
核心观点: eBPF 将节点池容量规划从“黑盒估算”推进到“白盒可观测”,使每个 Deployment 的资源画像具备内核级精度。
1.2 课程目标与受众
| 维度 | 具体说明 |
|---|---|
| 课程目标 |
|
| 目标受众 |
|
| 前置知识 |
|
1.3 整体知识图谱
本课程共 30 章,按知识递进关系分为五个模块。下图展示了完整的知识体系结构:
1.4 课程核心概念关系
下图展示了 eBPF、节点池、Deployment 资源模型三者之间的数据流与依赖关系:
1.5 课程章节速览
| 模块 | 章节范围 | 核心产出 |
|---|---|---|
| 基础与原理 | 第1-6章 | eBPF 观测架构设计、节点池 CRD 定义、资源模型数学基础 |
| 数据采集 | 第7-12章 | 生产级 eBPF 探针 DaemonSet、指标采集 Pipeline、数据存储方案 |
| 资源模型 | 第13-18章 | Deployment 资源画像算法、多维容量指标聚合、模型校准流程 |
| 规划与调度 | 第19-24章 | 容量预测模型、HPA/VPA 增强策略、调度器容量感知插件 |
| 生产实践 | 第25-30章 | 大规模部署方案、故障案例复盘、企业级平台构建指南 |
学习建议: 建议按照模块顺序学习,每个模块结束后完成配套实验。第1章作为导论,重点理解 eBPF 如何解决传统容量规划的盲区,以及本课程的知识体系如何层层递进。