DevOps 声明式配置和 CI/CD 管道
本文档将引导你使用声明式配置工具 ADC(APISIX/API7 Declarative Configuration CLI)来设置 API7 企业版。为实现配置的自动化 GitOps 管理,我们将 adc.yaml
文件作为配置的唯一真实来源。
ADC 简介
ADC 将 adc.yaml
文件作为唯一的来源,并自动将配置同步至 API 网关,从而确保网关的实时状态与 adc.yaml
中定义的配置状态保持一致。
步骤
- 配置 ADC 并将其连接到网关实例
- 发布配置、代理请求并为消费者启用密钥认证
- 修改配置并应用更改
注意事项
-
本文档以 API7 企业版网关 v3.2.10.0 为例,该版本基于 Apache APISIX 3.2,尚不支持配置验证 API。因此,你无法使用 ADC 的验证命令进行配置验证。该功能将从 Apache APISIX 的 v3.5 版本以后开始提供。
-
ADC 支持加载 OpenAPI 3.0 规范文件,也支持将其转换为
adc.yaml
格式。但转换后的文件需要你手动进行调整,例如添加身份验证策略及绑定服务 ID。为提供更加流畅的用户体验,这些功能正在计划中。 -
企业可能采用不同的 Git/SVN 版本控制服务和防火墙策略。只要 ADC 工具能够通过网络访问到网关的 Admin API,它就能够正常工作。本文档中的示例操作将在本地计算机上进行演示。
前提条件
- API7 企业版:3.2.10.1
- ADC:0.8.0
部署 API7 企业版
API7 企业版支持 Docker 和 Kubernetes 两种部署方式。请结合自身的业务需求和技术栈选择合适的部署方法。
部署 API7 企业版后,你应该可以看到以下组件和信息:
- Dashboard 组件:
7443/7080 端口
- API7 Gateway 组件:
http://152.42.234.39:9080
- Admin API:
https://152.42.234.39:7443
下载 ADC
$ ./adc -h
Usage: adc [options] [command]
Options:
-V, --version output the version number
-h, --help display help for command
Commands:
ping [options] Verify connectivity with backend
dump [options] Dump configurations from the backend
diff [options] Show the difference between local and backend configurations
sync [options] Sync local configurations to backend
convert Convert other API spec to ADC configurations
lint [options] Check provided configuration files, local execution only, ensuring inputs meet ADC requirements
help [command] display help for com
步骤
生成 API 令牌
ADC 需要一个 API 令牌来访问 Admin API,你可以通过 Dashboard 或 Admin API 生成 API 令牌。
- 从 Dashboard 生成 API 令牌:登录 -> 组织 -> 令牌 -> 生成新令牌
- 在 Admin API 中生成 API 令牌