1. Envoy 概述:发展历史、核心特性与云原生角色定位

1.1 Envoy 发展历史

Envoy 是由 Lyft 公司于 2016 年开源的 高性能边车代理(Sidecar Proxy),最初为解决微服务架构中服务间通信的复杂性而设计。2017 年,Envoy 被捐赠给 Cloud Native Computing Foundation(CNCF),并于 2018 年成为 CNCF 毕业项目,标志着其在云原生生态中的核心地位。

时间节点 里程碑事件 关键影响
2016 年 9 月 Lyft 开源 Envoy v1.0 首次提出“边车代理”与“通用数据平面”概念
2017 年 9 月 捐赠给 CNCF 进入云原生基金会治理,社区贡献激增
2018 年 11 月 成为 CNCF 毕业项目 与 Kubernetes、Prometheus 并列核心基础设施
2020 年至今 成为 Istio、AWS App Mesh 等主流服务网格的数据平面 定义云原生网络代理标准
关键认知: Envoy 并非传统 API 网关的替代品,而是专为 分布式异构环境 设计的 L3/L4/L7 通用数据平面。其“边车”部署模式使得应用代码无需感知网络层,即可获得流量管理、可观测性与安全能力。

1.2 核心特性架构

Envoy 的核心架构围绕 四层抽象 构建:Listener(监听器)、Filter(过滤器链)、Cluster(集群) 与 Endpoint(端点)。以下 SVG 图展示了 Envoy 内部请求处理的核心流程。

Envoy 核心架构与请求处理流程 Envoy 核心架构:请求处理流程 外部流量 Listener(监听器) Filter 链 TLS 终止 / HTTP 路由 RBAC / 限流 / 日志 Cluster Endpoint 池 核心设计原则 • 线程模型:单进程多线程,无锁架构,Worker 线程独立处理连接 • 热重启:优雅升级,不中断现有连接 • xDS 协议:通过控制平面动态更新配置,无需重启进程

1.3 核心特性清单

Envoy 的特性覆盖 网络协议、流量管理、可观测性 与 安全 四大维度。以下表格按功能域分类列出关键能力:

功能域 核心特性 安全相关说明
协议支持 HTTP/1.1、HTTP/2、gRPC、TCP、WebSocket、MongoDB、DynamoDB 支持 TLS 1.3、mTLS 双向认证
流量管理 动态路由、负载均衡(加权轮询/最少请求/一致性哈希)、熔断、重试、超时 熔断可防止级联故障,间接提升安全韧性
可观测性 分布式追踪(Zipkin/Jaeger)、Prometheus 指标、访问日志(JSON/自定义格式) 审计日志是安全基线核验的关键数据源
安全能力 TLS/mTLS 终止、RBAC 访问控制、限流、JWT 验证、外部授权(ExtAuthz) 直接对应 CIS 基准中的身份与访问控制检查项
安全视角: Envoy 的 Filter 链 是安全策略注入的核心位置。通过组合 envoy.filters.http.rbac、envoy.filters.http.jwt_authn 与 envoy.filters.http.ext_authz 等过滤器,可以在数据平面实现 零信任 架构中的“先认证、后授权”原则。

1.4 在云原生服务网格中的角色定位

在云原生服务网格架构中,Envoy 承担 数据平面(Data Plane)的核心角色,与 控制平面(Control Plane)协同工作。以下 SVG 图展示了 Envoy 在典型服务网格(如 Istio)中的部署与交互关系。

Envoy 在云原生服务网格中的角色定位 Envoy 在云原生服务网格中的角色定位 控制平面(Control Plane) Istiod / Kuma CP / Consul xDS 动态配置推送 Kubernetes Pod A Envoy Sidecar App A Kubernetes Pod B Envoy Sidecar App B mTLS 加密通信 关键角色:Envoy 作为 Sidecar 代理,拦截 Pod 内所有进出流量,执行安全策略并上报指标。

1.5 角色定位总结

  • 数据平面代理: 每个服务实例旁部署一个 Envoy Sidecar,所有进出流量均经过 Envoy,实现流量拦截与策略执行。
  • 安全策略执行点: Envoy 的 Filter 链是实施 认证(Authentication)、授权(Authorization) 与 审计(Audit) 的天然位置,直接支撑 CIS Kubernetes Benchmark 中关于服务网格的安全基线要求。
  • 可观测性数据源: Envoy 原生输出 访问日志、分布式追踪 与 Prometheus 指标,为安全事件溯源与合规核验提供数据基础。
  • 动态配置模型: 通过 xDS 协议从控制平面接收配置更新,支持 热更新 安全策略(如动态调整 RBAC 规则),无需重启服务。
安全基线对齐: 在后续章节中,我们将基于 Envoy 的 RBAC 过滤器、TLS 证书轮换、限流配置 与 外部授权集成,逐一映射到 CIS Kubernetes Benchmark 的检查项(如 5.4.1 服务网格身份认证、5.4.2 授权策略配置),形成可落地的安全基线核验方案。