支持的版本和互操作性
本文介绍 API7 网关组件与受支持第三方软件之间的兼容性。
组件互操作性
API7 网关会在发布质量保证流程中验证相同版本的控制面(CP)和数据面(DP)。升级期间,较新的控制面次版本可以暂时继续管理较旧的数据面次版本,以便在不中断服务的情况下推进滚动升级。
| 场景 | 兼容性 |
|---|---|
| 控制面和数据面处于同一版本线(推荐) | 完全支持 |
| 升级期间,较新的控制面次版本与较旧的数据面次版本配合使用 | 支持滚动升级 |
| 较旧的控制面次版本与较新的数据面次版本配合使用 | 不推荐 |
每次升级后,请确保控制面和数据面版本一致。如果滚动升级期间临时运行混合版本,请在控制面中检查各数据面节点的状态,并升级所有标记为不兼容的实例。
基础设施兼容性
确保基础设施组件位于受支持的版本范围内。
Kubernetes 版本
API7 网关要求 Kubernetes 1.25 或更高版本。控制面和数据面 Helm Chart 仅依赖标准 Kubernetes 原语(Deployment、StatefulSet、Service、ConfigMap、Secret、Ingress),不严格绑定特定 API 版本,因此上游支持窗口内的 Kubernetes 版本均可正常工作。API7 工程团队使用最新 kind 默认 Kubernetes 版本运行 CI 端到端测试套件。
云平台
API7 网关经常部署在以下托管 Kubernetes 服务上。请使用云提供商支持的 1.25 或更高版本:
- AWS EKS
- GCP GKE
- Azure AKS
- Red Hat OpenShift:有关 SCC 和服务账号的具体要求,请参阅在 OpenShift 上部署。
数据库支持
PostgreSQL 是 API7 网关的主要且推荐的存储后端。所有官方安装程序(Helm Chart、Docker Compose、快速入门脚本)均提供 PostgreSQL,本指南中的所有生产部署说明也以 PostgreSQL 为目标。此外,控制面还支持 MySQL 和 Microsoft SQL Server 作为替代存储后端。仅当组织有充分的运维理由使用特定关系型数据库时,才选择这些替代方案。
| 数据库 | 角色 | 支持的 版本 | DSN 方案 |
|---|---|---|---|
| PostgreSQL | 主要(推荐) | 12.x–18.x(Helm Chart 默认提供 15.x;发布 CI 矩阵涵盖 16、17 和 18) | postgres://user:pass@host:5432/api7ee |
| MySQL | 同样支持 | 5.7、8.x | mysql://user:pass@tcp(host:3306)/api7ee |
| Microsoft SQL Server | 同样支持 | 2019、2022 | sqlserver://user:pass@host:1433?database=api7ee |
本文档中的 Helm 配置项、Docker Compose 示例以及备份和恢复流程均假定使用 PostgreSQL。如果 API7 网关使用 MySQL 或 SQL Server,请相应调整控制面配置中的 database.dsn 值,并使用原生 mysqldump/sqlcmd 工具进行备份,而不是使用 pg_dump。
插件兼容性
API7 网关兼容标准 Apache APISIX 插件。企业版专属插件需要特定的控制面和数据面版本才能正常运行。
| 插件类型 | 控制面版本 | 数据面版本 |
|---|---|---|
| 标准(开源) | v3.1+ | v3.1+ |
| 企业特性 | v3.2+ | v3.2+ |
| AI 网关插件 | v3.2+ | v3.2+ |
客户端工具
以下工具用于与 API7 控制面交互。
| 工具 | 支持的版本 |
|---|---|
| ADC(API Declarative CLI) | 使用最新版本。API7 网关构建流水线始终将每个控制面版本与最新 ADC 版本配套使用。 |
| kubectl | v1.25 或更高版本(与目标集群版本匹配) |
| Helm | v3.10 或更高版本 |