尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Ingress2Gateway 用户指南:支持的所有 Ingress 控制器和转换策略详解

Ingress2Gateway 用户指南:支持的所有 Ingress 控制器和转换策略详解
📅 发布时间:2026/7/21 20:25:07

Ingress2Gateway 用户指南:支持的所有 Ingress 控制器和转换策略详解

【免费下载链接】ingress2gatewayConvert Ingress resources to Gateway API resources项目地址: https://gitcode.com/gh_mirrors/in/ingress2gateway

🚀 你是否正在为 Kubernetes Ingress NGINX 的退役而烦恼?想要从传统的 Ingress 平滑迁移到现代化的 Gateway API 吗?那么 Ingress2Gateway 就是你的完美解决方案!这款强大的转换工具能够帮助你轻松将各种 Ingress 控制器资源转换为标准的 Gateway API 资源,让你的 Kubernetes 网络配置迈入新时代。

什么是 Ingress2Gateway?

Ingress2Gateway是由 Kubernetes SIG-Network 子项目管理的开源工具,专门用于将 Ingress 资源和特定提供商的 CRD 转换为 Gateway API 资源。随着 Kubernetes 社区宣布 Ingress NGINX 即将退役,Ingress2Gateway 成为了迁移到 Gateway API 的关键桥梁。

该工具支持多种流行的 Ingress 控制器,包括 ingress-nginx、Traefik、Kong、Istio、GCE 等,能够处理复杂的注解转换和资源配置,让你的迁移过程更加顺畅。

支持的 Ingress 控制器完整列表

Ingress2Gateway 目前支持以下主流 Ingress 控制器的转换:

1.ingress-nginx- Kubernetes 社区标准

  • 支持位置: pkg/i2gw/providers/ingressnginx/
  • 核心功能: 金丝雀发布、URL 重写、重定向、CORS 配置、超时设置
  • 特色转换:
    • 金丝雀权重路由 (canary-weight)
    • SSL 透传 (ssl-passthrough)
    • 后端 TLS 验证 (proxy-ssl-verify)

2.Traefik- 云原生代理

  • 支持位置: pkg/i2gw/providers/traefik/
  • 核心功能: TLS 配置、入口点管理、HTTP/HTTPS 重定向
  • 特色转换:
    • 自动 HTTPS 重定向 (router.entrypoints: websecure)
    • 自定义入口点配置
    • 智能 TLS 处理

3.Kong- API 网关

  • 支持位置: pkg/i2gw/providers/kong/
  • 核心功能: 方法匹配、头部匹配、插件集成
  • 特色转换:
    • HTTP 方法匹配 (konghq.com/methods)
    • 自定义头部路由 (konghq.com/headers.*)
    • 插件配置转换

4.Istio- 服务网格

  • 支持位置: pkg/i2gw/providers/istio/
  • 核心功能: Gateway 和 VirtualService 转换
  • 特色转换:
    • 复杂重写规则处理
    • 跨命名空间引用 (ReferenceGrant)
    • 协议转换 (HTTP2/GRPC → HTTPS)

5.GCE- Google Cloud Engine

  • 支持位置: pkg/i2gw/providers/gce/
  • 核心功能: GKE Ingress 特定功能
  • 特色转换:
    • 内部/外部负载均衡器
    • Cloud Armor 安全策略
    • 自定义健康检查

6.NGINX- NGINX 官方控制器

  • 支持位置: pkg/i2gw/providers/nginx/
  • 核心功能: SSL 服务、gRPC、WebSocket 支持
  • 特色转换:
    • gRPC 服务转换 (nginx.org/grpc-services)
    • WebSocket 支持通知
    • HSTS 头部配置

7.其他支持的控制器

  • APISIX: 高性能 API 网关
  • Cilium: eBPF 网络方案
  • OpenAPI 3: 基于 OpenAPI 规范的配置

核心转换策略详解

🔄 架构设计:Provider 与 Emitter 分离

Ingress2Gateway 采用创新的双组件架构:

  1. Provider(提供者): 读取 Ingress 资源和特定提供商的 CRD,将其转换为通用的中间表示(IR)
  2. Emitter(发射器): 将中间表示转换为最终的 Gateway API 输出

这种设计使得工具既灵活又易于扩展,支持多种输出格式:

  • standard: 标准 Gateway API 资源(默认)
  • envoy-gateway: Envoy Gateway 特定资源
  • gce: Google Cloud Engine 特定配置
  • agentgateway: Agent Gateway 实现
  • airlock-microgateway: Airlock 微网关
  • kgateway: KGateway 实现

📋 Ingress 字段到 Gateway API 的映射关系

Ingress 字段Gateway API 配置
ingressClassNameGateway 的gatewayClassName
defaultBackend无主机名的 Gateway Listener + 通配 HTTPRoute
tls[].hostsHTTPS Listener (端口 443, TLS 终止模式)
tls[].secretNameGateway Listener 的certificateRefs
rules[].host独立的 HTTP Listener (端口 80)
rules[].http.paths[].pathHTTPRouterules[].matches[].path.value
rules[].http.paths[].pathTypeHTTPRoute 路径匹配类型

⚙️ 冲突处理规则

Ingress2Gateway 采用确定的处理顺序来解决配置冲突:

  1. 创建时间优先: 最早创建的 Ingress 资源具有最高优先级
  2. 名称空间/名称排序: 如果创建时间相同,按命名空间和名称排序
  3. 冲突报告: 对于冲突的规则(如相同路径但不同后端),会报告错误

实用转换示例

示例 1: ingress-nginx 金丝雀发布

# 原始 Ingress 配置 apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: canary-demo annotations: nginx.ingress.kubernetes.io/canary: "true" nginx.ingress.kubernetes.io/canary-weight: "20"

转换为 Gateway API 后,会生成带有权重配置的 HTTPRoute,实现精确的流量分流。

示例 2: Traefik HTTPS 重定向

# Traefik 特定配置 annotations: traefik.ingress.kubernetes.io/router.tls: "true" traefik.ingress.kubernetes.io/router.entrypoints: websecure

Ingress2Gateway 会自动生成 HTTP→HTTPS 重定向路由,确保所有 HTTP 流量都重定向到 HTTPS。

示例 3: Kong 方法匹配

# Kong 特定配置 annotations: konghq.com/methods: "POST,GET"

转换为 Gateway API 的 HTTPRoute,包含精确的 HTTP 方法匹配规则。

安装与使用指南

快速安装方法

通过 Go install 安装:

go install github.com/kubernetes-sigs/ingress2gateway@v1.0.0

通过 Homebrew 安装:

brew install ingress2gateway

从源码构建:

git clone https://gitcode.com/gh_mirrors/in/ingress2gateway cd ingress2gateway make build go install .

基本使用命令

转换集群中的所有 ingress-nginx 资源:

ingress2gateway print --providers=ingress-nginx

从文件转换 Traefik 配置:

ingress2gateway print --providers=traefik --input-file=traefik-ingress.yaml

指定命名空间和输出格式:

ingress2gateway print --providers=istio --namespace=production --output=json

常用命令行选项

选项简写默认值说明
--providers-必填逗号分隔的提供者列表
--input-file--从文件读取,支持 YAML/JSON
--namespace-n-指定命名空间范围
--all-namespaces-Afalse跨所有命名空间
--output-oyaml输出格式: yaml, json, kyaml
--emitter-standard发射器类型

迁移最佳实践

🎯 1. 评估现有配置

在开始迁移前,使用 Ingress2Gateway 的--dry-run模式评估转换结果:

ingress2gateway print --providers=ingress-nginx --dry-run

🔍 2. 逐步迁移策略

  • 从简单的 Ingress 开始,逐步处理复杂配置
  • 优先迁移生产环境外的测试集群
  • 使用金丝雀发布验证转换结果

⚠️ 3. 注意事项

  • 注解转换: 不是所有注解都能完美转换,部分需要手动调整
  • 功能差异: Gateway API 的功能集与 Ingress 有所不同
  • 测试验证: 转换后务必进行全面的功能测试

📊 4. 监控与验证

  • 使用转换报告检查未转换的注解
  • 验证 Gateway API 资源的正确性
  • 监控应用行为是否发生变化

高级特性与扩展

自定义 Emitter 支持

Ingress2Gateway 支持自定义发射器开发,允许你为特定的 Gateway API 实现生成优化配置。查看 docs/emitters.md 了解如何开发自己的发射器。

通知系统

工具内置通知系统,会详细报告:

  • ✅ 成功转换的配置
  • ⚠️ 部分支持的注解
  • ❌ 无法转换的功能
  • 💡 手动调整建议

实验性功能支持

通过--allow-experimental-gw-api标志,可以启用实验性 Gateway API 功能,如 URLRewrite 等高级特性。

版本兼容性

Ingress2Gateway 版本支持的 Gateway API 版本
v1.0v1.5.0 (向前兼容 v1.4)

社区与贡献

Ingress2Gateway 是 Kubernetes SIG-Network 的子项目,欢迎社区贡献:

  • 报告不支持的注解或功能
  • 提交新的 Provider 支持
  • 改进现有转换逻辑
  • 添加测试用例

查看 CONTRIBUTING.md 了解如何参与贡献。

总结

Ingress2Gateway 为 Kubernetes 用户提供了从传统 Ingress 到现代 Gateway API 的平滑迁移路径。通过支持多种流行的 Ingress 控制器和灵活的转换策略,它大大降低了迁移的技术门槛和风险。

无论你使用的是 ingress-nginx、Traefik、Kong 还是其他控制器,Ingress2Gateway 都能帮助你顺利完成迁移,享受 Gateway API 带来的标准化、扩展性和未来兼容性优势。

🚀立即开始你的迁移之旅,拥抱 Kubernetes 网络的新时代!

【免费下载链接】ingress2gatewayConvert Ingress resources to Gateway API resources项目地址: https://gitcode.com/gh_mirrors/in/ingress2gateway

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

  • AI搜索过滤失效真相(工业级噪声对抗白皮书)
  • HevORT ZR V2自调平系统详解:如何用 magnets 和 ball bearings 解决打印精度难题
  • Earthdata Search核心功能解析:空间筛选、时间轴分析与数据对比技巧

最新新闻

  • 腕表走时误差、机芯受磁调校网点,2026 年 7 月爱彼**维修服务中心国内**售后地址 热线汇总 - 爱彼官方维修中心
  • Python 金融数据处理:Wind/聚源数据接入与标准化处理
  • SaaS系统多租户架构与功能开关模块化设计实践
  • 全国 GEO 优化服务商怎么选?2026 主流机构能力对比与选型建议 - 品牌前沿专家
  • 内容审核的 AI 化边界:哪些该用模型,哪些该用规则
  • AI助力JDK8到21迁移实战

日新闻

  • AI云原生实战05-金融AI上云最难的不是技术,是“不出事“——TCE银行风控架构拆解
  • 2026年GEOSEO优化公司选型深度测评:五大硬核标准严选,这六家重塑搜索增长新格局 - 品牌前沿专家
  • **核验!2026年7月卡地亚香港**售后网点地址及服务电话公告 - 卡地亚服务中心

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号