Gateway API 实战:ingress-nginx 归档后的新标准(kind + Envoy Gateway 全打通)
Ingress 归档了,流量入口的新标准长什么样 先说一个 2026 年的重要事实(本文写作时实测验证):kubernetes/ingress-nginx 仓库已于 2026 年 3 月归档——GitHub API 返回 archived: true ,最后 release 是 v1.15.1(2026-03-19)。标准 Ingress Controller 停止更新了,但存量集群里的 Ingress 资源不会消失(照常工作),只是新项目的流量入口应该选新标准:Gateway API(本文写作时最新 v1.6.1,2026-07 发布,活跃迭代中)。 系列前一篇《Service 与 Ingress 实战》学的 Ingress 并没有白学——Gateway API 的设计目标之一就是吸收 Ingress 的经验、补上它的短板,两者资源模型一一对应。这篇在 kind 上用 Envoy Gateway 把 Gateway API 全链路打通:原理(三级资源模型)→ 实践(全部命令)→ 真实踩坑 → 迁移对照。 1. 动机先行:为什么要有 Gateway API Ingress 的痛点 Gateway API 的回应 一个 IngressClass / Ingress 资源,表达力有限(只能按域名+路径路由) 拆分三级资源:GatewayClass → Gateway → HTTPRoute,每级各司其职、可独立复用 路由规则与暴露方式混在一个资源里 暴露(Gateway)与路由(HTTPRoute)解耦:同一个 Gateway 可以被多个 HTTPRoute 挂载 协议扩展靠注解( nginx.ingress.kubernetes.io/xxx ),非标准 资源模型原生支持 HTTP/TLS/TCP/UDP,扩展用标准 CRD 不同实现行为不一致(nginx/traefik/…) 规范定义了资源的状态语义(Accepted/Programmed),实现行为更一致 一句话:Ingress 是"路由规则 + 入口绑在一起"的早期设计,Gateway API 把它拆成"谁提供服务(GatewayClass)→ 入口长什么样(Gateway)→ 流量怎么路由(HTTPRoute)“三层——分层带来复用和表达力。 ...