将部署从 NGINX Ingress Controller 迁移至 NGINX Gateway Fabric

原文链接:将部署从 NGINX Ingress Controller 迁移至 NGINX Gateway Fabric

转载来源:NGINX 开源社区


NGINX 唯一中文官方社区 ,尽在 nginx.org.cn

本文档描述了如何从 F5 NGINX Ingress Controller 迁移到 NGINX Gateway Fabric。

如果你已经在使用 NGINX Ingress Controller,并希望迁移到 NGINX Gateway Fabric,你可以使用 ingress2gateway 工具将现有的 Ingress 资源自动转换为 Gateway API 资源。

为什么要迁移?

Gateway API 是下一代 Kubernetes 网络 API,用来弥补 Ingress 的局限性。与 Ingress 相比,Gateway API 提供了:

  • 面向角色的资源:为基础设施团队、集群运维人员和应用开发者提供不同的资源类型,实现关注点分离。
  • 更灵活的路由表达式:支持高级流量管理,例如基于路径与 Header 的路由、流量拆分以及 TLS 配置。
  • 标准化与可移植性:作为 Kubernetes 社区推动的统一标准,被多家厂商支持实现,确保在不同平台之间表现一致。
  • 可扩展性:基于 Kubernetes CRD 的扩展能力,可在不破坏核心 API 的情况下添加新的功能。

使用 NGINX Gateway Fabric 迁移到 Gateway API,有助于让你的 Kubernetes 网络栈具备前瞻性,在不同实现之间提供的标准化 API,并解锁高级流量管理功能。

认识 ingress2gateway 工具

ingress2gateway 是 Kubernetes SIG 的一个项目,旨在将 Ingress 资源转换为 Gateway API 资源,支持包括 NGINX Ingress Controller 在内的多个 Ingress 提供者。

重要提示:

ingress2gateway 工具是一个转换工具,用于将 Ingress 资源翻译为 Gateway API 对应资源。它并不是完整的端到端迁移解决方案。你仍需手动审核转换后的资源,测试其功能,并根据具体环境进行额外的配置调整。

要将现有的 NGINX Ingress 资源转换为 Gateway API 资源,首先安装 ingress2gateway 工具。然后为 NGINX 提供者执行转换命令:

复制代码
ingress2gateway print --providers=nginx --input-file=<your-ingress-file> > gateway-api-resources.yaml

这个工具会读取输入文件中的 Ingress 资源,并生成等效的 Gateway API 资源,输出到 gateway-api-resources.yaml 文件。

请检查输出文件中生成的 Gateway API 资源,将其应用到你的集群:

复制代码
kubectl apply -f gateway-api-resources.yaml

想了解 NGINX 特有功能及转换选项的详细信息,请参考 NGINX Provider 文档。

相关推荐
h***06653 小时前
SpringCloud Gateway 集成 Sentinel 详解 及实现动态监听Nacos规则配置实时更新流控规则
spring cloud·gateway·sentinel
w***15314 小时前
若依部署Nginx和Tomcat
运维·nginx·tomcat
q***04058 小时前
Nginx 缓存清理
运维·nginx·缓存
苹果醋317 小时前
VueX(Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式)
java·运维·spring boot·mysql·nginx
q***37517 小时前
Nginx如何实现 TCP和UDP代理?
tcp/ip·nginx·udp
q***965817 小时前
Nginx作用以及应用场景
运维·nginx
q***318320 小时前
Nginx搭建负载均衡
运维·nginx·负载均衡
b***66611 天前
SpringCloud Gateway 集成 Sentinel 详解 及实现动态监听Nacos规则配置实时更新流控规则
spring cloud·gateway·sentinel
q***82911 天前
Nginx中$http_host、$host、$proxy_host的区别
运维·nginx·http