应对 Nginx Ingress 退役,是时候理清这些易混淆的概念了

简介: 本文希望提供一种更简单的方式,来理解这些容易混淆的技术概念:Nginx、Ingress、Ingress Controller、Ingress API、Nginx Ingress、Higress、Gateway API。

作者:望宸


本文希望提供一种更简单的方式,来理解这些容易混淆的技术概念:Nginx、Ingress、Ingress Controller、Ingress API、Nginx Ingress、Higress、Gateway API。


01 Nginx 和 Kubernetes


我们先按和 Kubernetes 是否有关,分为两类:


Nginx 是在没有 Kubernetes 的年代,流量入口上的事实标准,是独立运行在任何 Linux/Windows 服务器上的 Web 服务器。提供以下主要功能:


  • 接收请求;
  • 转发请求;
  • 负载均衡;
  • 简单的流量治理,例如限流、缓存、重写。

1767684756081_6145d14f54ce42af8c5183db10e1bf90.png

而 Ingress API、Ingress Controller、Nginx Ingress、Higress、Gateway API 都依赖 Kubernetes,Kubernetes 出现后,才有了这些概念。其中,Ingress API 是 Kubernetes 管理流量的规范,Ingress Controller 是规范的实现组件,Nginx Ingress 和 Higress 都是规范的完整实现和功能扩展,Gateway API 则是 Ingress API 的升级和下一代。

1767684772068_d1dd62709b0048a3a764f2d5987aba07.png

需要注意的是,Ingress 经常单独出现,需要基于语境来判断,有可能是指 Ingress API,也有可能是指 Ingress 资源,即用户编写的具体配置对象(YAML),遵循 Ingress API。


02 Ingress API 和 Ingress Controller


Ingress API 和 Ingress Controller 分别是 Kubernetes 流量管理的规范和执行器。

1767684800235_edea6219953947e3824deaeaba3fa902.png

Ingress API:用声明式的方式,描述外部流量如何进入集群里的 Service,包括:

  • 如何通过域名访问服务;
  • 如何根据 URL 路径路由到不同后端服务;
  • 后端服务是谁;
  • 是否启用 HTTPS 加密。


形象地说,Ingress API 可以理解位 Kubernetes 中管理流量的说明书。

Ingress Controller:是 Ingress API 的实现组件,即执行者,包括:

  • 监听 Ingress 资源变化;
  • 将 Ingress 规则转换为实际的反向代理配置;
  • 接收外部流量并按规则路由;
  • 处理 TLS 终止(HTTPS 解密);
  • 提供健康检查、负载均衡、重试等流量治理能力。


通过以上能力,Ingress Controller 就实现了 Kubernetes 入口流量的管理。


03 Nginx Ingress 和 Higress


Nginx Ingress 和 Higress 都是 Ingress API 的完整实现和功能扩展。

1767685492754_6e543a4c14eb40d5b4de0012ea038193.png

Nginx Ingress:用 Nginx 作为底层实现的 Ingress API,控制面和数据面耦合在同一个进程/容器中。优点是简单、易用、社区广泛。


缺点是:

  • 不是原生的 Ingress API,Ingress API 语义偏弱;
  • 扩展靠 Annotation(工程噩梦);
  • 生成 nginx.conf + reload,动态配置能力弱(频繁 reload 影响性能)。


适用于简单、稳定、小规模的场景。

Higress:数据面是基于 Enovy,控制面给基于 istio,是原生的 Ingress API。


优点是:

  • 控制面与数据面解耦,可独立扩缩容;
  • 基于 xDS 协议,实现真正的动态配置(无 reload,零中断);
  • 原生支持插件扩展:Wasm、Lua、Go 插件由控制面统一管理并下发;
  • 兼容多协议 & 多标准:同时支持 Ingress API 和 Gateway API。


缺点是,相比 Nginx 广泛的社区基础,Higress 为代表的原生 Ingress API,部署和维护存在学习成本。

适用于高性能、高扩展、企业级的场景。


04 Nginx Ingress 退役


11月,Kubernetes SIG Network 和安全响应委员会宣布 Ingress NGINX 退役。(⚠️ NGINX 并未退役。)

1767685524868_889e4074fbb446238c97127eeeffc5f5.png

意味着:

  • Ingress NGINX 尽力维护服务至 2026 年 3 月;
  • 不再发布任何新版本;
  • 不再修复任何漏洞;
  • 也不会更新任何可能发现的安全漏洞;
  • GitHub 代码库将设置为只读,仅供参考;
  • 现有的 Ingress NGINX 部署将继续运行,安装文件也将继续可用。


引发退役的根本原因:

  • 多年来,该项目只有一两个人利用业余时间,在工作之余进行开发工作;
  • 尝试和 Gateway API 社区合作开发一个替代控制器,但未能激发更多人参与 Ingress NGINX 的维护。


05 Higress:Nginx Ingress 退役的替代优先方案


1767685553793_fac19bae9515409b9c4257c8e6bb17eb.png

  • Kubernetes 官方推荐,即官方社区文档中进行了说明;
  • 对 Nginx Ingress 的 Annotation 兼容度最高,支持 51 种,覆盖 90% 的用户场景,这意味着现有的 K8s Ingress YAML 文件无需大量修改即可完成迁移;
  • 长期投入,并提供企业版服务,即阿里云 API 网关;
  • 提供监听 K8s Ingress(Ingress 模式),适用于希望保持 K8s 原生工作流(如GitOps)的团队;和控制台配置 API(API 管理模式),适用于需要集中治理和精细化管理的场景。


06 Gateway API 和 Ingress API


Gateway API 是 Ingress API 规范的超集和下一代。他的出现,是为了解决 Ingress API 自身无法搞定的问题。其中,Higress 已经支持 Gateway API 标准,用户可从 Ingress API 平滑迁移至 Gateway API。

1767685577203_0b20b658ef14468b9c4a59d8329e05a2.png

Ingress API 存在的问题,Gateway API 这样去解决:


职责不清,后果是 Ingress 是“一人写全”,没有权限边界。-> Gateway API 通过角色分离解决,定义基础设施提供者、集群管理员、应用开发者。


功能表达能力弱,依赖 Controller 特有扩展,后果是不标准、不同实现之间迁移成本高。-> Gateway API 通过 Wasm、插件、服务网格集成解决扩展的标准化。


仅支持 HTTP/HTTPS,无法处理 TCP/UDP/gRPC 等协议。-> 云原生应用早已不只是 Web 服务,Gateway API 通过统一的 API,管理所有南北向流量。


无法表达复杂路由逻辑,微服务治理需求远超 Ingress 能力。-> Gateway API 支持 Wasm、插件、服务网格集成,通过标准化的高级路由解决。


一个 Ingress Controller 全局共享,缺乏多租户隔离,多租户场景下存在安全和配置冲突风险。-> Gateway API 提供了独立 Gateway 的实例。

相关文章
|
12天前
|
存储 人工智能 关系型数据库
告别数据库“膨胀”:Dify x SLS 构建高可用生产级 AI 架构
告别数据库“膨胀”!借助SLS打造高可用生产级的Dify日志场景,通过将工作流日志从PostgreSQL迁移至SLS,实现存储压力降低95%+、成本下降近10倍,并支持实时分析、监控告警与数据闭环,彻底解决高并发下的连接池打满、慢查询频发等痛点,助力AI应用高效稳定运行!
|
28天前
|
存储 SQL JSON
打通可观测性的“任督二脉”:实体与关系的终极融合
阿里云推出图查询能力,基于 graph-match、graph-call、Cypher 三重引擎,实现服务依赖、故障影响、权限链路的秒级可视化与自动化分析,让可观测从‘看板时代’迈向‘图谱时代’。
252 43
|
15天前
|
人工智能 Java Serverless
AgentScope Java 答疑时间:开发者近期最关心的12个问题
近日,AgentScope Java V1.0 版本正式发布,全面对齐 Python 版核心能力,为 Java 开发者带来了构建企业级 Agentic 应用强大的开源方案。在最近与 DataWhale 合作的 AgentScope Java 解读线上直播间中,我们收到了大家的热情提问。为了方便大家集中查阅,我们整理了其中最高频的 Q&A,由 AgentScope Java 的核心开发者为大家一次性说清讲透!
247 10
|
27天前
|
人工智能 运维 Serverless
一杯咖啡成本搞定多模态微调:FC DevPod + Llama-Factory 极速实战
告别显存不足、环境配置难、成本高昂的微调困境!基于阿里云函数计算FC与Llama-Factory,5分钟搭建微调流水线,一键完成多模态模型的微调。
237 20
|
14天前
|
人工智能 运维 安全
探秘 AgentRun丨流量一大就瘫痪?如何解决 AI 模型调用之痛
AgentRun 通过完整的模型管理和治理能力,解决模型调用的可靠性的难题。
|
12天前
|
Kubernetes 网络安全 容器
【k8s-1.34.2安装部署】五.worker端containerd2.2.1、kubelet-1.34.2安装
本章介绍k8s-1.34.2 worker节点组件安装,涵盖containerd(含CNI、runc等)、kubelet部署与配置,完成节点验证及证书申请批准流程。
|
23天前
|
人工智能 运维 安全
一文看懂函数计算 AgentRun,让 Agentic AI 加速进入企业生产环境
AgentRun 的愿景很简单:让 AI Agent 从 Demo 到生产级部署,变得前所未有的简单。通过 Serverless 架构持续优化成本并解放运维负担,通过企业级 Runtime 提供生产级的执行环境和安全保障,通过开源生态集成避免框架锁定,通过全链路可观测让每个环节都清晰可控——这就是 AgentRun 要为企业提供的完整解决方案。
|
25天前
|
人工智能 运维 监控
开源项目分享 : Gitee热榜项目 2025-12-13 日榜
本文整理Gitee当日热门开源项目,涵盖AI智能体、低代码开发、数字人、容器化部署等前沿技术。聚焦智能化、降本增效与垂直场景应用,展现AI工程化、全栈融合与技术普惠趋势,助力开发者把握开源脉搏。
186 15