土法炼钢 · 系统与基础设施

Envoy Gateway / Gateway API:从 CR 附着到 xDS

文章导航

分类入口
kubernetesnetwork
标签入口
#envoy-gateway#gateway-api#httproute#xds#ir#north-south#v1.9.0

目录

Cilium 第 15 篇 只划南北向与东西向分工;k8s-network/18 讲清角色模型与 YAML,但钉在 Gateway API v1.2 / Envoy Gateway v1.2Envoy 数据面 回答消费侧 ACK ≠ 生效;Istio 控制面 回答 istiod 如何翻译 mesh CRD。中间仍缺一层:一次南北向变更如何经附着与 status、Provider watch、Gateway API Translator 的 XdsIR/InfraIR、xDS Translator 与 Infra Manager 变成 Envoy 可服务的快照,以及相对 Cilium Gateway / Istio / Ingress 何时不该上 Envoy Gateway。

本系列回答:Envoy Gateway 控制面里延迟与失败落在哪一层,何时南北向 xDS 税不值得付。

写:

不写:Helm 百科、Envoy Filter/warming 重讲、istiod/GAMMA 全书、Cilium Gateway 菜谱、未实测延迟排行。产品教程见 k8s-network/18;数据面内核见 envoy/;东西向接缝见 cilium/15

系列状态:01–16 已发布(2026-08-19)。 规划见 PLAN.md。机制结论钉源码 tag v1.9.0,不以 gateway.envoyproxy.io/latest/ 冒充该版本。无真实 Envoy Gateway 集群则不粘贴伪造 egctl / Route status / config_dump

版本锚定:Envoy Gateway v1.9.0(源码 tag v1.9.0,2026-08-14);Gateway API v1.6.1;数据面 Envoy v1.39.0(外链 envoy 系列)。TCPRoute/UDPRoute 经 v1,未装 v1.6 CRDs 则静默跳过。Lua EEP 默认关;tracing client sampling 默认 0%;Policy mergeType 仅允许挂 xRoute。

适合谁看

与已有系列的分工

维度 k8s-network/18 / envoy/ / cilium/15 本系列
定位 角色/YAML;xDS 消费;东西向接缝 南北向控制面编译与失败模式
深度 v1.2 教程;Filter/warming;Cilium 边界 附着→IR→xDS→舰队、v1.9 版本门、排障轴
对照 产品勾选、数据面排除树 显式排除树;不重写 Cilium/Istio 内核

读法:只要「Gateway API 是什么、怎么贴 HTTPRoute」→ 18 足够;要「Accepted 仍 404、TCPRoute 静默消失、mergeType 被拒」→ 本系列 01 → 02 → 04 → 08 → 09 → 13。

一、这个领域最值得关注的 5 个问题

  1. 一次南北向请求的失败落在哪一层(status、IR、xDS、Envoy、东西向 CNI)? → 第 1–5、13、15 篇。
  2. 为何 Accepted=True 仍可能 404 / 无监听器? → 第 2、4–5、13 篇。
  3. 为何不升 Gateway API CRDs 到 v1.6 时,TCP/UDP 路由会静默消失? → 第 8、12 篇。
  4. Policy 写了不生效,是 mergeType、Lua 默认关,还是 Patch 匹配了旧 xDS 名? → 第 9–10、13 篇。
  5. 何时选 Envoy Gateway,而非 Cilium Gateway / Istio / Ingress? → 第 14–16 篇。

二、篇目依赖关系与推荐阅读路径

flowchart TD
  overview["01 Overview"] --> attach["02 Attach Status"]
  attach --> provider["03 Provider Watch"]
  provider --> ir["04 IR Translator"]
  ir --> xds["05 xDS Infra"]
  xds --> http["06 HTTPRoute"]
  http --> tls["07 TLS SDS"]
  tls --> l4["08 L4 Routes"]
  l4 --> pol["09 Policies"]
  pol --> infra["10 EnvoyProxy"]
  infra --> obs["11 Observability"]
  obs --> ops["12 Ops Upgrade"]
  ops --> trouble["13 Troubleshoot"]
  trouble --> vs["14 vs Alternatives"]
  vs --> seam["15 East West Seam"]
  seam --> select["16 Selection"]
  overview --> select
路径 篇目 适合
必读核心 1 → 2 → 4 → 5 → 13 快速建立坐标系
版本门与策略 8 → 9 → 12 升级与 Policy 脚枪
对照选型 1 → 14 → 16 路径选型
完整通读 1 → … → 16 系统掌握

三、目录与每篇价值点

第一部分:模型与编译管线(01–05)

  1. 南北向全景
    • 相对 18 / cilium/15 / envoy / istio-xds 的缺口;五轴坐标系与 16 篇路线。
  2. 角色与附着
    • GatewayClass / Gateway / Route / ReferenceGrant;AcceptedProgrammed 的语义差。
  3. Provider 与 watch
    • Kubernetes provider 输入集、Status Manager、漏 watch 的失败表象。
  4. Gateway API Translator 与 IR
    • XdsIR 与 InfraIR;翻译顺序;status 在翻译中计算。
  5. xDS Translator 与 Infra
    • IR → LDS/RDS/CDS/EDS/SDS;Envoy 舰队;推送不等于在服务。

第二部分:路由、策略与数据面边界(06–11)

  1. HTTPRoute / GRPCRoute
    • 匹配、filter、权重;v1.9 RouteRulesOverlap 阴影路由。
  2. TLS / BackendTLSPolicy / SDS
    • 监听器证书与后端 TLS;v1.9 unix:// 与共享 system_ca_certificates
  3. L4 路由
    • TCPRoute / UDPRoute / TLSRoute 升 v1;未装 v1.6 CRDs 则静默跳过。
  4. Policy attachment
    • 五类 EG Policy;Lua 默认关;mergeType 仅允许挂 xRoute。
  5. EnvoyProxy 与基础设施
    • 数据面生命周期、GatewayNamespaceMode、remote infra;mergeBackends 为 experimental。
  6. 可观测
    • access log、metrics、xdsNACKTotal;tracing client sampling 默认 0%。

第三部分:运维、对照与收束(12–16)

  1. 运维与升级
    • Helm/CRD 分装、safe-upgrades VAP 挪 chart、存储版本迁移。
  2. 排障坐标系
    • 未 Accepted、IR 空、xDS NACK、Envoy 旧快照、入口之后的东西向。
  3. 对照替代路径
    • Cilium Gateway、Istio/GAMMA、Ingress;机制表,无延迟榜。
  4. 东西向接缝
    • 回收 Cilium 15 北段/南段证据包;不重写 identity/map。
  5. 选型收束与开放问题
    • 排除树;关闭 Cilium/Tetragon 留下的南北向悬空指针。

四、延伸阅读

读完这篇,下一步读什么

优先读同系列或同问题的下一篇,把单篇消费变成主题集群。


By .