1. Serverless 与网络基础

1.1 Serverless 架构概述

Serverless(无服务器)并非真的没有服务器,而是将服务器基础设施的运维、容量规划和弹性伸缩完全抽象化,让开发者只需聚焦业务代码。在 Serverless 集群中,计算资源以函数(Function)为粒度运行,由平台自动调度和扩缩容,网络策略的配置与性能因此成为保障服务可用性和延迟的关键。

核心特征:
  • 事件驱动:函数通过 HTTP 请求、消息队列、对象存储事件等触发。
  • 自动弹性:从 0 到 N 的秒级伸缩,无需预置资源。
  • 按需计费:仅对实际执行时间和调用次数付费。
  • 无状态:函数实例不保留本地状态,状态需外置(如 Redis、数据库)。

当前主流 Serverless 平台包括 AWS Lambda、阿里云函数计算、Google Cloud Functions 以及基于 Kubernetes 的开源方案(如 Knative、OpenWhisk)。本课程以 Kubernetes + Knative 为技术底座,兼顾通用网络原理。

Serverless 架构核心组件与调用流程 Serverless 架构核心组件与调用流程 事件源 HTTP / 消息 / 对象存储 API 网关 路由 / 认证 / 限流 函数调度器 弹性伸缩 / 实例管理 函数实例 无状态 / 短生命周期 后端服务 DB / 缓存 / 消息队列 网络策略影响: 冷启动延迟 / 跨服务调用 / 安全组

1.2 传统网络模型 vs Serverless 网络模型

传统应用部署在固定 IP 的虚拟机或容器上,网络策略围绕静态拓扑设计。Serverless 模型下,函数实例 IP 动态变化、生命周期极短,网络模型必须适应这种“无固定身份”的特性。以下从五个关键维度进行对比:

对比维度 传统网络模型 Serverless 网络模型
IP 分配 固定 IP / 固定 Pod IP 动态分配,实例 IP 频繁变化
网络策略粒度 基于 IP / 安全组 / 子网 基于身份(ServiceAccount / 标签)
服务发现 DNS + 静态端点 DNS + 动态端点 + 代理注入
冷启动网络开销 无(实例常驻) 需分配 IP / 挂载网络接口,增加延迟
东西向流量 直连或 Service 转发 通常经 Sidecar 代理或 Service Mesh
关键洞察: Serverless 网络模型的核心挑战在于“身份与位置解耦”。传统基于 IP 的访问控制不再可靠,必须转向基于身份(如 SPIFFE 身份、Kubernetes ServiceAccount)的策略模型。
传统网络模型 vs Serverless 网络模型 传统网络模型 vs Serverless 网络模型 传统网络模型 VM / Pod (固定 IP) VM / Pod (固定 IP) 直连 安全组 / 网络 ACL(基于 IP) DNS + 静态端点 实例常驻,无冷启动网络开销 Serverless 网络模型 函数实例 A (动态 IP) 函数实例 B (动态 IP) Sidecar 代理 Sidecar 代理 基于身份策略(ServiceAccount / JWT) DNS + 动态端点 + 代理路由

1.3 课程目标与前置知识

课程目标

完成本课程后,学员将能够:

  1. 理解 Serverless 网络模型:掌握动态 IP、身份感知策略、服务网格集成等核心概念。
  2. 配置网络策略:在 Kubernetes + Knative 环境中编写 NetworkPolicy、配置 Istio 授权策略、管理入口网关。
  3. 优化网络性能:降低冷启动网络延迟、减少东西向流量开销、优化 DNS 解析与连接池。
  4. 诊断与排障:使用 tcpdump、eBPF、Kiali 等工具定位网络问题。
  5. 生产级实践:设计多租户隔离、跨集群通信、混合云网络方案。

前置知识要求

知识领域 具体要求
Kubernetes 基础 熟悉 Pod、Service、Deployment、Namespace 概念;能使用 kubectl 操作集群
网络基础 理解 TCP/IP、DNS、HTTP/HTTPS、负载均衡基本原理
容器网络 了解 CNI 插件(Calico、Flannel)、Overlay 网络、网络策略基本语法
Serverless 概念 了解函数计算、事件驱动、冷启动等基本概念(非必须,本课程会回顾)
实验环境提示: 本课程所有网络策略配置和性能测试均可在本地 Minikube 或 Kind 集群中复现。建议准备至少 4 核 CPU、8GB 内存的机器,并安装 Docker、kubectl、Knative CLI(kn)和 Istio CLI(istioctl)。

课程章节路线

本课程共 30 章,分为五个模块:

  • 模块一(第 1-5 章): Serverless 网络基础与集群搭建
  • 模块二(第 6-12 章): 网络策略配置实战(NetworkPolicy、Istio 授权、入口网关)
  • 模块三(第 13-20 章): 性能优化(冷启动、东西向流量、DNS、连接池)
  • 模块四(第 21-26 章): 可观测性与排障(监控、日志、追踪、eBPF)
  • 模块五(第 27-30 章): 生产级实践(多租户、跨集群、混合云、安全合规)