首页 > 新闻 > IT新闻 > 正文

Ingress-nginx 退役:cert-manager 现状支持及未来展望

花韻仙語
发布: 2025-12-05 16:00:18
原创
375人浏览过

自从 ingress-nginx 和 ingate 宣布将于 2026 年 3 月正式停止维护以来,围绕如何从 ingress 平滑迁移到 gateway api 的讨论持续升温。由于二者在架构理念与资源模型上的根本差异,cert-manager 当前尚无法在 gateway api 场景下复现原有 ingress 中的 tls 自助服务能力。

Ingress 是一个单体式资源,而 Gateway API 则采用分层设计:由集群运维人员管控的 Gateway 资源,与由业务团队自主管理的 HTTPRoute 资源解耦;TLS 配置被统一收口至 Gateway 层,由平台侧集中管理。

当前缺失的关键拼图,是 Gateway API 中处于实验阶段的 XListenerSet 资源——其核心目标正是在共享 Gateway 上恢复按团队粒度的 TLS 自主配置能力。cert-manager 已规划在 1.20 版本(预计发布于 2026 年 2 月 10 日)中引入对 XListenerSet 的实验性支持,并将在 1 月份先行推出 alpha 版本供早期验证。

多租户 Ingress 迁移的核心挑战

绝大多数 Ingress 用户以多租户模式部署控制器,典型代表包括 ingress-nginx 和 InGate。所谓多租户 Ingress 控制器,通常具备以下特征:

  • 单个集群内仅部署一套由平台团队统一运维的共享控制器或代理;
  • 各业务团队独立创建并维护自己的 Ingress 资源及 TLS 相关注解;
  • cert-manager 基于主机名自动完成证书申请、签发与注入。

而在 Gateway API 模型中,TLS 配置已上移至 Gateway 资源层级:开发者虽可自由创建 HTTPRoute,却无权修改平台团队所拥有的共享 Gateway 对象。这直接导致 TLS 配置丧失自助能力,任何变更均需提交工单协调处理,如下图所示:

Ingress-nginx 退役:cert-manager 现状支持及未来展望

  • 过去使用 Ingress 时,应用开发者可直接定义 TLS 参数;
  • 当前采用 Gateway 时,TLS 配置必须由集群运营方在 Gateway 上统一设置。

这一转变虽削弱了部分场景下的开发敏捷性,但恰恰体现了 Gateway API 的安全设计哲学:Ingress API 存在潜在风险——不同团队可能通过声明相同主机名但不同 TLS 设置的 Ingress 对象,无意或恶意劫持他人流量。尤其在大型集群中,多个团队共存时因冲突 Ingress 导致的流量劫持事件屡见不鲜。将 TLS 管控权收敛至 Gateway 层,显著提升了租户间的安全隔离边界,代价则是牺牲了简单多租户模型下的自助便利性。

cert-manager 当前为何难以独立破局

目前 cert-manager 对 Gateway API 的 TLS 支持,仅限于监听 Gateway 资源本身:它会识别带有 cert-manager.io/issuercert-manager.io/cluster-issuer 注解、启用了 HTTPS 监听器、且已配置 tls.certificateRefs 字段的 Gateway 对象,并据此自动生成 Certificate 和 Secret。

参考示例:

apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: istio-gateway
  annotations:
    cert-manager.io/cluster-issuer: letsencrypt-prod
spec:
  gatewayClassName: istio
  listeners:
    - name: https
      hostname: 'foo.example.com'
      port: 443
      protocol: HTTPS
      allowedRoutes:
        namespaces:
          from: All
      tls:
        mode: Terminate
        certificateRefs:
          - name: gateway-tls
登录后复制

需注意的是,cert-manager 并不解析 HTTPRoute 中的主机名字段,因为该字段仅用于路由匹配,不参与 TLS 握手过程。

该机制仅适用于以下两类有限场景:

  • 每个团队独占一个 Gateway 实例(带来额外资源开销与运维复杂度),或
  • Gateway 实现为轻量级逻辑抽象(如某些服务网格控制面)。

但对于主流的“单一共享 Gateway + 多团队协作”模式而言,当前并无兼顾安全性与易用性的标准方案。若强行启用通配符证书或过度开放 RBAC 权限,则可能引入严重安全隐患。

ListenerSet:填补空白的关键组件

依据 GEP-1713 提案,Gateway API 正在推进 ListenerSet 资源的标准化(现阶段以实验性 XListenerSet 形式存在),最初定位是支撑 Knative 等自动化平台高效管理海量监听器的需求。

实践发现,ListenerSet 同样能有效应对多租户共享 Gateway 下的 TLS 自助配置难题,同时保障基础设施运营方对 Gateway 核心资源的绝对控制权。

CodeWP
CodeWP

针对 WordPress 训练的AI代码生成器

CodeWP 149
查看详情 CodeWP

借助 ListenerSet,可达成如下分工:

  • 平台团队掌控唯一的共享 Gateway 及其底层基础设施;
  • 各业务团队通过创建属于自身命名空间的 ListenerSet 对象,定义专属监听器及其 TLS 配置。

Gateway API 控制器结合 RBAC 与命名空间隔离机制,确保各团队只能操作自己所属的 ListenerSet,彻底规避跨团队配置冲突:

Ingress-nginx 退役:cert-manager 现状支持及未来展望

对习惯 Ingress 的用户而言,“ListenerSet + HTTPRoute”组合提供了最贴近原生 Gateway API 的类 Ingress 使用体验,如下图所示:

Ingress-nginx 退役:cert-manager 现状支持及未来展望

  • 过去 Ingress 模式下,应用开发者完全掌控 TLS 配置;
  • 当前 Gateway + ListenerSet 模式下,开发者仍保有 TLS 自助能力,无需每次变更都依赖集群运营方介入。

cert-manager 路线图:2026 年 2 月起支持 XListenerSet

计划交付能力

cert-manager 1.20 将提供对 XListenerSet 资源的实验性支持,包括识别 cert-manager.io/issuercert-manager.io/cluster-issuer 注解(需显式启用特性门控)。当同一 Gateway 关联多个 ListenerSet 时,XListenerSet 的注解优先级高于 Gateway 本身的注解,后者作为兜底默认策略。

关键时间节点

  • 2026 年 1 月:发布首个支持 XListenerSet 的 alpha 版本,面向社区开放测试与反馈;
  • 2026 年 2 月 10 日:cert-manager 1.20 正式版上线,包含实验性 XListenerSet 支持功能。

待 Gateway API 将 ListenerSet 资源正式晋升为稳定版本(v1)后,cert-manager 将同步提供对稳定版 ListenerSet 的完整支持,并配套推出从 XListenerSetListenerSet 的平滑迁移工具与指南。

Ingress-nginx 与 InGate 退役:实际影响评估

cert-manager 1.20 计划于 2026 年 2 月发布,恰好位于 ingress-nginx 和 InGate 官方退役前一个月。鉴于 XListenerSet 当前仍属实验性质,需明确以下预期:

  • 当前基于 Gateway API 的多租户 TLS 自助方案尚未成熟,缺乏生产就绪的安全保障;
  • cert-manager 1.20 提供的 XListenerSet 支持,仅为技术预演路径,供用户提前评估与试用;
  • 稳定支持将随 Gateway API v1.5(含 ListenerSet GA)落地,预计集成于 cert-manager 1.21 或 1.22 版本中。

结语

cert-manager 团队强调,推动用户平稳过渡至 Gateway API 是其长期战略重点。目前已全面启动文档与教程体系向 Gateway API 的迁移工作,期望 XListenerSet 成为多租户 Ingress 控制器用户的首选演进路径。

对于仍在使用 ingress-nginx 的用户,建议优先考虑迁移至其他成熟的 Ingress 控制器(如 Traefik),而非仓促切换至 Gateway API。待 cert-manager 对稳定版 ListenerSet 提供完备支持后,再系统性规划向 Gateway API 的整体迁移。

更多细节请参阅官方公告。

源码地址:点击下载

以上就是Ingress-nginx 退役:cert-manager 现状支持及未来展望的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号