API 声明式 CLI(ADC)
API 声明式 CLI(ADC)使用本地 YAML 或 JSON 文件管理 Apache APISIX 配置。
有关安装、命令用法、配置格式、OpenAPI 转换和其他参考资料,请参阅 ADC 文档。如需比较 ADC 与其他 APISIX 管理方式,请参阅管理方式。
APISIX 的 ADC 后端目前处于实验阶段。采用前请查看下文的后端限制,并在每次同步前检查 adc diff 输出。
以代码方式管理配置
如果需要将 Apache APISIX 配置作为代码管理,而不是逐个调用 Admin API,可以使用 ADC。ADC 读取描述网关期望状态的本地声明式文件,并在应用更改之前,将这些文件与运行中网关的配置进行比较。
该工作流可以帮助团队:
- 通过版本控制审查和审计网关配置变更。
- 在不同环境之间推广相同配置。
- 在同步前预览资源的创建、更新和删除操作。
- 导出现有网关配置,作为后续变更的基线。
ADC 适用于未运行在 Kubernetes 上的 APISIX 部署,也适用于通过 CI/CD 流水线管理网关配置的团队。
ADC 如何与 Apache APISIX 协同工作
ADC 通过 Admin API 连接 Apache APISIX,并将声明式配置应用到网关。团队可以使用文件管理路由、服务、上游、消费者、插件和其他网关资源,无需手动发送 API 请求。
应用更改之前,ADC 可以校验本地文件、请求后端验证资源,并显示本地期望状态与运行中网关之间的差异,使配置变更在到达 APISIX 前更易于审查。
APISIX 后端限制
ADC 会将 APISIX 资源规范化为以服务为中心的模型。导出结果可能无法保留原始资源结构,后端填充的默认值也可能导致重复出现差异。采用前,请查看当前的 APISIX 后端限制。
协调范围与所有权
adc sync 可能删除处于同步范围内、但本地文件中不存在的远程资源。同步前请运行 adc diff 并审查生成的 diff.yaml。有关当前的范围控制行为,请参阅 ADC 工作流和标签选择器指南。
默认情况下,ADC 会在执行 diff、validate 和 sync 前,在本地配置中添加或覆盖 managed-by: adc 标签。因此,首次比较现有资源时可能只显示标签变更。此标签用于标识由 ADC 管理的资源,但不会限制协调范围。如果必须保持 managed-by 标签不变,请使用 --no-managed-by-label。
有关 Apache APISIX 连接设置以外的详细信息,请参阅 ADC 文档。