原文链接:将部署从 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 文档。