发布 Apache APISIX Ingress Controller 2.0
Source: Dev.to
概览
基于高性能 API 网关 Apache APISIX 构建,Ingress Controller 已经历多次迭代和验证,现已能够处理大规模流量管理需求。本次发布在三个基础支柱上带来了显著的增强:
- 全面兼容性 – 完全支持最新的 Gateway API 资源。
- 可适配架构 – 灵活的部署选项,包括独立模式和多数据平面模式。
- 企业级稳定性 – 为生产工作负载提供可靠的运行。
网关 API 支持
APISIX Ingress Controller 2.0 扩展了对 Gateway API 的覆盖,新增了:
- TCPRoute
- UDPRoute
- GRPCRoute
- TLSRoute
这些扩展为 HTTP、TCP/UDP、gRPC 和 TLS 直通/终止提供了原生、协议感知的路由,实现了针对多样化入口需求的统一配置模型。
API 扩展 (apisix.apache.org/v1alpha1)
GatewayProxy
定义 Ingress Controller 与 APISIX 之间的连接,包括认证、端点以及全局插件。通过 Gateway、GatewayClass 或 IngressClass 资源中的 parametersRef 引用。
BackendTrafficPolicy
对后端服务进行细粒度流量管理(负载均衡、超时、重试、Host Header 处理)。
Consumer
指定 API 消费者及其凭证,实现身份验证和插件配置,以进行访问控制。
PluginConfig
可复用的插件配置,可被 HTTPRoute 等资源引用,将路由逻辑与插件设置分离。
HTTPRoutePolicy
为 HTTPRoute 或 Ingress 资源提供高级流量管理和路由策略,在不修改原始资源的情况下增强功能。
这些扩展为在 Gateway API 生态系统中直接利用 APISIX 的高级特性提供了标准化路径。
独立(etcd‑Free)模式
APISIX Ingress Controller 2.0 提供了一种轻量级部署选项,将路由配置完全存储在内存中。通过专用的 Standalone Admin API 执行更新,该 API 在一次操作中替换完整配置,并通过 热重载 立即生效——无需重启。此模式主要用于与 API Declarative CLI (ADC) 集成。
多数据平面部署
此版本引入了灵活的部署选项,支持多种数据平面模式,使单个 Ingress Controller 能够管理多个独立的 APISIX 实例。这非常适合需要严格隔离的场景,例如:
- 多租户
- 预发布与生产环境
- 基于地区的路由
在保持集中控制的同时,每个数据平面独立运行。
传统部署(基于 etcd)
在经典部署模型中,APISIX 使用 etcd 作为配置中心,通过 RESTful API 实现路由、上游以及其他资源的动态管理。它支持分布式集群部署,并实现实时配置同步。
基于内存的独立模式(Kubernetes 优化)
APISIX 也可以在没有 etcd 的情况下运行,将配置存储在内存中,并通过 /apisix/admin/configs 接口进行管理。这种方式结合了传统 Admin API 的便利性和独立模式的简洁性,非常适合 Kubernetes 和单节点部署。
结论
Apache APISIX Ingress Controller 2.0 代表了 Kubernetes Ingress 管理的重大演进。通过整合:
- 完备的 Gateway API 支持
- 通过官方 API 扩展实现的可扩展配置
- 轻量级的独立部署模式
- 多数据平面管理的多样性
此版本为动态云环境提供了统一的基础。它使组织能够在不同工作负载之间统一 Ingress,实现架构灵活性,并在规模化时获得企业级的稳定性。
欲获取完整的功能和变更列表,请参阅 [Release Changelog].