告别 Ingress-NGINX:用 Amazon Load Balancer Controller Gateway API 实现更强大的流量管理

告别 Ingress-NGINX:用 Amazon Load Balancer Controller Gateway API 实现更强大的流量管理

💡 原文中文,约16700字,阅读约需40分钟。
📝

内容提要

Kubernetes宣布Ingress-NGINX将于2026年退役,用户可迁移至Amazon Load Balancer Controller或Gateway API。本文提供详细的迁移方案,包括架构差异、功能对比及配置示例,确保EKS用户实现零停机迁移。

🎯

关键要点

  • Kubernetes宣布Ingress-NGINX将于2026年退役,用户可迁移至Amazon Load Balancer Controller或Gateway API。
  • 迁移方案包括架构差异、功能对比及配置示例,确保EKS用户实现零停机迁移。
  • 迁移前需确保EKS集群版本≥1.24,已安装kubectl并配置好集群访问,具有集群管理员权限,备份现有配置,准备好测试环境。
  • Ingress是Kubernetes的资源对象,用于管理外部访问集群内部服务的方式,Ingress Controller负责根据Ingress规则转发请求。
  • Ingress-NGINX的退役不影响Ingress API的使用,Ingress API仍然是稳定的API。
  • 用户可选择迁移到Amazon Load Balancer Controller或Gateway API,推荐使用Gateway API。
  • Gateway API提供更标准化、功能丰富的网络流量配置方法,解决了Ingress API的局限性。
  • Gateway API的核心组件包括GatewayClass、Gateway、HTTPRoute和GRPCRoute。
  • Amazon Load Balancer Controller支持Ingress API和Gateway API,提供多层路由功能。
  • Ingress与Gateway API的功能对比显示,Gateway API在角色分离、流量拆分、标准化配置等方面具有优势。
  • 提供了Ingress-NGINX与Amazon LBC Gateway API的配置对比示例,涵盖基础转发、URL重写、金丝雀发布等场景。
  • 迁移路径包括安装Amazon Load Balancer Controller、使用ingress2gateway工具转换Ingress资源、逐步切换流量等步骤。
  • 迁移过程中需注意保留旧资源、备份配置、监控告警和准备回滚计划。
  • 迁移后,Amazon ALB的性能通常优于Ingress-NGINX,且无需管理Pod资源。
  • Gateway API支持跨命名空间路由,提供更强大的路由能力。
  • 总结指出Gateway API是Kubernetes网络管理的新标准,适合企业级生产环境。

延伸问答

Ingress-NGINX 退役后,用户应该如何迁移?

用户可以选择迁移到 Amazon Load Balancer Controller 或 Gateway API,推荐使用 Gateway API,以实现更标准化和功能丰富的网络流量配置。

Gateway API 相比 Ingress API 有哪些优势?

Gateway API 在角色分离、流量拆分、标准化配置和多协议支持等方面具有优势,能够更灵活地管理网络流量。

迁移到 Gateway API 需要满足哪些前置要求?

迁移前需确保 EKS 集群版本≥1.24,已安装 kubectl 并配置好集群访问,具有集群管理员权限,备份现有配置,并准备好测试环境。

如何实现从 Ingress-NGINX 到 Amazon LBC 的零停机迁移?

可以通过 DNS 加权路由逐步将流量从 Ingress-NGINX 导向 Amazon LBC,确保在流量完全切换之前不删除旧资源。

Gateway API 的核心组件有哪些?

Gateway API 的核心组件包括 GatewayClass、Gateway、HTTPRoute 和 GRPCRoute,这些组件共同管理 Kubernetes 环境中的流量和路由。

迁移后 Amazon ALB 的性能如何?

迁移后,Amazon ALB 的性能通常优于 Ingress-NGINX,且用户无需管理 Pod 资源。

➡️

继续阅读