告别 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 退役的时间是什么时候?

Ingress-NGINX 将于 2026 年 3 月退役。

用户如何迁移到 Amazon Load Balancer Controller?

用户可以通过替换 annotation 进行简单迁移,或使用 ingress2gateway 工具转换资源。

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

Gateway API 支持角色分离、流量拆分、标准化配置和多协议支持,解决了 Ingress API 的局限性。

迁移过程中如何确保零停机?

通过 DNS 加权路由实现流量逐步切换,确保在完全切换前不删除旧资源。

迁移到 Gateway API 后的性能如何?

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

迁移过程中需要注意哪些事项?

需备份配置、监控告警、保留旧资源,并准备回滚计划。

➡️

继续阅读