1. 课程导论:控制平面驱动 Calico 准入策略的背景、课程目标与学习路径

1.1 为什么需要控制平面驱动的准入策略?

在 Kubernetes 生产环境中,网络策略(NetworkPolicy)是保障微服务间通信安全的核心手段。然而,原生 Kubernetes NetworkPolicy 存在明显的局限性:

  • 策略粒度粗:仅支持 IP、端口、标签选择器,无法感知 HTTP 方法、路径、JWT 等应用层信息。
  • 运维复杂度高:大规模集群中,策略数量激增,人工审计与排错困难。
  • 缺乏动态性:策略变更后,生效延迟不可控,无法满足实时准入需求。

Calico 作为业界领先的 Kubernetes 网络与安全方案,通过其 控制平面驱动(Control Plane Driven) 的准入策略引擎,将策略决策点从数据面迁移至控制面,实现了更灵活、更细粒度的流量准入控制。本课程将深入剖析这一架构的核心原理、接口调用方式与性能调优方法。

核心洞察: 控制平面驱动意味着策略评估不再依赖数据面的包处理流水线,而是由 API 服务器、准入 Webhook 和策略控制器协同完成。这为引入 L7 策略、外部身份认证和动态策略更新打开了大门。

1.2 课程目标

完成本课程后,你将能够:

目标领域 具体能力 对应章节
架构理解 掌握 Calico 控制平面准入策略的组件架构、数据流与决策模型 第 2-4 章
接口调用 熟练使用 Felix API、Kubernetes CRD 及 gRPC 接口进行策略配置与查询 第 5-8 章
性能调优 诊断策略评估延迟、优化 API 调用频率、调整缓存与并发参数 第 9-12 章
生产实践 设计高可用策略下发方案、编写自动化测试与监控告警规则 第 13-15 章

1.3 学习路径与知识体系

本课程采用“基础 → 接口 → 调优 → 实战”的递进式结构。下图展示了完整的知识体系与章节依赖关系:

课程知识体系与学习路径 基础篇 架构与组件 基础篇 策略模型 基础篇 数据流 接口篇 Felix API 接口篇 CRD 操作 接口篇 gRPC 调用 调优篇 延迟分析 调优篇 缓存策略 调优篇 并发控制 实战篇:高可用设计与自动化运维

1.4 课程特色与前置知识

本课程面向有一定 Kubernetes 使用经验的运维、开发与架构师。建议具备以下前置知识:

  • 熟悉 Kubernetes 核心概念(Pod、Service、Namespace、NetworkPolicy)。
  • 了解 Calico 基本安装与配置(Felix、BIRD、Typha)。
  • 具备基本的 Go 或 Python 编程能力(用于接口调用实验)。
学习建议: 每章结束后,建议在测试集群中动手实践提供的代码示例。本课程配套的 GitHub 仓库包含了完整的实验环境搭建脚本与性能压测工具。

1.5 课程内容概览

模块 章节范围 核心内容
基础篇 第 2-4 章 控制平面架构、Felix 与 Typha 角色、策略评估模型
接口篇 第 5-8 章 Felix REST API、Kubernetes CRD(GlobalNetworkPolicy/NetworkPolicy)、gRPC 流式接口
调优篇 第 9-12 章 API 延迟分析、缓存命中率优化、并发与限流配置、性能基准测试
实战篇 第 13-15 章 多集群策略管理、CI/CD 集成、监控与告警体系搭建

1.6 一个典型的控制平面准入场景

为了让你快速建立直观认识,下面展示一个典型的控制平面驱动准入策略的调用流程:

控制平面驱动准入策略调用流程 API Server Admission Webhook Policy Controller Felix (Dataplane) 流程说明 1. 用户创建/更新 Pod 或 NetworkPolicy 资源 → API Server 触发准入 Webhook 2. Webhook 将请求转发至 Policy Controller 进行策略评估 3. Policy Controller 查询缓存中的策略规则,返回准入决策(Allow/Deny) 4. 决策通过后,Felix 将策略转换为 iptables/eBPF 规则,下发至数据面

这个流程展示了控制平面如何将策略决策与数据面执行解耦。在后续章节中,我们将逐一拆解每个组件的接口细节与性能瓶颈。

注意: 在生产环境中,Webhook 的超时设置、Policy Controller 的缓存大小以及 Felix 的同步频率是影响端到端延迟的关键参数。第 9-12 章将专门针对这些参数进行调优。