Ingress2Gateway 项目概览:为什么它是 Kubernetes Ingress 迁移的最佳选择

📅 2026/7/21 15:50:19
Ingress2Gateway 项目概览:为什么它是 Kubernetes Ingress 迁移的最佳选择
Ingress2Gateway 项目概览为什么它是 Kubernetes Ingress 迁移的最佳选择【免费下载链接】ingress2gatewayConvert Ingress resources to Gateway API resources项目地址: https://gitcode.com/gh_mirrors/in/ingress2gatewayIngress2Gateway 是一款强大的工具专门用于将 Kubernetes Ingress 资源转换为 Gateway API 资源为用户提供了从传统 Ingress 平滑迁移到 Gateway API 的最佳解决方案。随着 Kubernetes 生态的不断发展Gateway API 已成为下一代流量管理标准而 Ingress2Gateway 则是这一过渡过程中的关键助力。为什么需要从 Ingress 迁移到 Gateway API在 KubeCon NA 2025 亚特兰大会议上SIG Network 宣布了 Ingress NGINX 的退役计划给用户仅四个月的时间迁移到其他解决方案。这一消息凸显了及时迁移的紧迫性。Ingress NGINX 拥有约 100 个自定义注解这些注解扩展了 Kubernetes Ingress 资源的功能但其中许多在 Gateway API 中没有直接的映射。因此对于用户来说找到一种能够最大程度覆盖这些注解的迁移工具至关重要而 Ingress2Gateway 正是为此而生。Ingress2Gateway 的核心架构Ingress2Gateway 在设计上主要包含两个核心组件providers提供者和emitters发射器。这种架构确保了迁移过程的灵活性和可扩展性。工作流程解析提供者Providers负责读取 Ingress 相关资源并输出一个与 Ingress 实现无关的中间表示IR即EmitterIR。这个中间表示包含了标准的 Gateway API 资源以及一些无法用标准 Gateway API 表达的额外信息。例如ingressnginx 提供者 能够理解 Ingress NGINX 的特定注解并将其转换为通用的中间表示。通用发射器Common Emitter接收提供者输出的EmitterIR并根据配置将其转换为可能非标准的 Gateway API 资源。它实现了诸如“使用任何 Gateway API 特性还是仅使用稳定特性”的逻辑并再次输出EmitterIR。特定实现发射器Implementation-specific Emitters读取通用发射器输出的EmitterIR最终生成 Gateway API 资源以及特定实现所需的资源。例如Envoy Gateway 发射器 能够输出 Envoy Gateway 特有的资源。架构图示------------------------------ |(Ingress related Resources) | ----------------------------- | | 1) provider.ToIR(resources) v ------------- | Emitter IR 1 | ------------- | | 2) CommonEmitter.Emit(IR 1) v ------------- | Emitter IR 2 | ------------- | | 3) emitter.Emit(IR 2) v ---------------------------------- | Gateway API Resources | | Implementation-specific Resources | -----------------------------------治理与可维护性保障为确保项目的长期稳定性Ingress2Gateway 对希望提供自定义发射器的 Gateway API 实现者列出了明确的期望安全响应所有服务于单一供应商或实现的代码“第三方代码”必须指定安全联系人以便在发现安全问题时能在最多 3 个工作日内响应。代码组织所有第三方代码必须位于单独的目录/模块中并通过CODEOWNERS文件明确负责代码审查的人员。问题处理关于第三方代码的审查和问题必须在 30 天内进行分类和响应。此外第三方发射器的代码所有者必须承诺在 Gateway API 新版本发布后 60 天内更新第三方发射器以跟上上游变化。确保第三方发射器的输出在 Gateway API 新版本发布后 60 天内符合定义的范围。若未能履行这些责任相关的第三方发射器将触发移除流程包括在下次次要版本中标记为弃用并发出警告随后在后续次要版本或 30 天内以较晚者为准移除。支持的实现与应用范围Ingress2Gateway 支持多种主流的 Gateway API 实现包括但不限于Envoy Gateway通过 envoygateway 发射器 实现与 Envoy Gateway 的无缝集成。Istioistio 提供者 能够处理 Istio 相关的 Ingress 资源转换。Kong借助 kong 提供者 和 kong 发射器 支持 Kong 网关的迁移。在输出范围方面Ingress2Gateway 严格限制为上游 Gateway API 资源任何与 GEP 713 兼容且在 upstream Gateway API 范围内但尚未成为其一部分的 Policy 资源任何与 extensionRef 兼容且在 upstream Gateway API 范围内但尚未成为其一部分的资源包括 HTTPRoute 过滤器的 extensionRefs 等例如允许输出类似 EnvoyGateway 的HTTPRouteFilter这样的资源但不允许输出类似 Istio 的 EnvoyFilter 这种超出 Gateway API 项目范围的原始配置。如何开始使用 Ingress2Gateway要开始使用 Ingress2Gateway 进行 Ingress 资源的迁移首先需要克隆项目仓库git clone https://gitcode.com/gh_mirrors/in/ingress2gateway项目的详细使用说明和更多技术细节可以在 官方文档 中找到。通过简单的命令行操作你就可以将现有的 Ingress 资源快速、准确地转换为符合 Gateway API 规范的资源为你的 Kubernetes 集群流量管理升级铺平道路。Ingress2Gateway 凭借其强大的功能、灵活的架构和严格的治理策略成为 Kubernetes Ingress 迁移的不二之选。无论你是新手还是有经验的用户都能轻松上手并从中受益顺利完成向 Gateway API 的过渡。【免费下载链接】ingress2gatewayConvert Ingress resources to Gateway API resources项目地址: https://gitcode.com/gh_mirrors/in/ingress2gateway创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考