新闻中心

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

2025-12-05
浏览次数:
返回列表

自从 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 核心资源的绝对控制权。

Lateral App Lateral App

整理归类论文

Lateral App 85 查看详情 Lateral App

借助 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 现状支持及未来展望的详细内容,更多请关注其它相关文章!


# 卡西  # 揭阳汝州全平台营销推广  # 嘉兴网站推广找哪家好做  # seo 1115295  # 免费推广的网站有哪些  # 廊坊网站建设外包公司  # 校园产品推广营销方案  # 站群网站怎么做优化  # 温州精美网站建设  # 网站编辑是网站推广吗  # 全年会员营销推广计划表  # 基础设施  # 如下图  # 欧盟  # nginx  # 开源  # 所示  # 门控  # 两大  # 多个  # 未来  # trae  # gate  # .net  # 应用开发  # 路由  # 工具 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 邮政编码查询不到怎么办_邮政编码查询不到的常见原因与对策  微信商城在哪里打开【步骤】  蛙漫官网漫画入口地址_蛙漫在线畅读无广告弹窗  Fabric Mod开发:在1.19.3+版本中正确添加自定义物品并管理物品组  虚幻5科幻题材ARPG大作遭取消!本是《奇异人生》厂商新作  在Go语言中利用后缀数组处理多字符串:实现高效文本匹配与自动补全  深入理解Promise链:如何在catch后中断then的执行  12306选座如何查看座位示意图_12306座位示意图解读与使用  cad怎么合并重叠的线段_cad清理重复重叠线条的操作方法  ArchiveofOurOwn小说阅读-ArchiveofOurOwn同人作品访问链接  小米汽车11月交付量突破40000台!雷军:将继续努力  CSS如何设置hover状态颜色_hover伪类调整背景或文字颜色  php源码怎么看淘宝客系统_看php源码淘宝客系统技巧  处理动态列数据:J*a ArrayList的正确初始化与字符累加教程  怎样更改Windows系统的默认安装路径_避免C盘爆满的终极设置【技巧】  解决Django多数据库/多Schema环境下外键迁移问题  TikTok网页版直接登录 TikTok网页端官方平台入口  Lar*el DB::listen 事件中的查询执行时间单位解析  word邮件合并后日期格式不对怎么改_Word邮件合并日期格式修改方法  一加手机电池耗电快怎么办_一加手机电池耗电快的解决方法  抖音未来赚钱的新趋势 2025年值得关注的变现风口分析  印象笔记怎样用批量导出备知识库_印象笔记用批量导出备知识库【备份方法】  拼多多赚钱渠道_拼多多收益来源  漫蛙漫画官方首页 漫蛙2漫画在线阅读入口  Selenium Python中处理点击后新窗口加载冻结问题的策略与实践  押井守高度称赞《辐射4》:玩了八年都停不下来!  C++ explicit关键字防止隐式转换_C++构造函数安全规范  Django表单提交验证失败后保持字段值不刷新  构建轻量级网站内部消息系统:Formspree 集成指南  css元素hover动画延迟生效怎么办_使用animation-delay调整触发时间  Animex动漫社网入口地址 Animex动漫社网正版在线入口  163邮箱注册官网 免费申请163个人邮箱  4399免费游戏网址入口 4399小游戏免费入口点开即玩  J*aScript map 迭代中检测空数组元素的有效方法  蛙漫2日版入口 WAMAN2(日版)无删减漫画官网链接  Yandex搜索引擎官网入口_俄罗斯Yandex免登录一键直达  必由学官方网站入口 必由学学生教师共用登录通道  抖音隐秘迷城小游戏入口_ 抖音冒险解谜小游戏秒玩  c++中的const_cast和reinterpret_cast怎么用_c++四种类型转换  Web Components中自定义开关组件状态同步的常见陷阱与解决方案  QQ邮箱网页版入口页面 QQ邮箱在线登录入口官网  微信聊天记录怎么加密_微信聊天记录加密方法  Discord Slash 命令响应超时问题的异步解决方案  sublime如何处理大型CSV文件的列对齐_sublime高级表格编辑插件指南  没有大陆身份证/银行卡如何实名微信? 亲测有效的几种方法分享  C++的std::forward_list怎么用_C++ STL中单向链表容器的特点与应用  css卡片内容溢出如何处理_使用overflow隐藏或scroll显示内容  4399网页游戏电脑版全新入口 4399电脑端在线玩指南  composer 和 npm/yarn 在管理依赖方面有什么核心思想差异?  J*aScript:在map操作中高效处理空数组 

搜索