ADC 命令行参考
API 声明式 CLI(ADC)是一个命令行工具,用于声明式地管理 APISIX 和 API7 企业版。 它在定义网关期望状态方面提供了简单性和清晰度,允许开发者和管理员专注于结果而不是步骤。
声明式配置作为单一的真实来源,开发者可以通过他们现有的版本控制系统进行管理。
ADC 具有以下通用语法:
adc [command] [options]
全局选项:
-V, --version查看版本-h, --help打印命令的帮助菜单
配置 ADC
在使用 ADC 管理网关之前需要对其进行配置。你可以使用环境变量或命令行标志来配置 ADC。
使用环境变量
ADC 将所有配置选项暴露为环境变量。例如,你可以分别使用 ADC_BACKEND 和 ADC_SERVER 环境变量来配置后端类型和地址。
export ADC_BACKEND=api7ee
export ADC_SERVER=https://localhost:7443
更好的方法是在 .env 文件中配置这些选项:
.env
ADC_BACKEND=api7ee
ADC_SERVER=https://localhost:7443
使用命令行标志
你也可以使用命令行标志来配置 ADC 或覆盖环境变量中的配置。例如,为 ping 命令配置/覆盖后端类型和地址:
adc ping --backend api7ee --server "https://localhost:7443"
运行 adc help [command] 查看命令的可用配置选项。
命令
adc ping
Ping 配置的后端以验证连通性。
| 选项 | 默认值 | 描述 | 有效值 | 环境变量 |
|---|---|---|---|---|
--verbose <integer> | 1 | 覆盖详细日志级别。0 表示无日志,1 表示基本日志,2 表示调试日志。 | 0, 1 or 2 | |
--backend <backend> | apisix | 要连接的后端类型。 | apisix or api7ee | ADC_BACKEND |
--server <string> | http://localhost:9180 | 后端服务器地址。 | ADC_SERVER | |
--token <string> | 访问后端的 API Token。 | ADC_TOKEN | ||
--gateway-group <string> | default | 要操作的网关组。 | ADC_GATEWAY_GROUP | |
--label-selector <selectors> | 用于过滤的资源标签。 | |||
--include-resource-type <string> | 按资源类型过滤,使得资源搜索结果仅包含指定的类型。 | |||
--exclude-resource-type <string> | 按资源类型过滤,使得资源搜索结果排除指定的类型。 | |||
--timeout <duration> | 10s | 客户端连接后端 Admin API 的请求超时时间,例如 30s、10m 和 1h10m。 | ||
--ca-cert-file <string> | 用于验证后端 Admin API 的 CA 证书路径。 | ADC_CA_CERT_FILE | ||
--tls-client-cert-file <string> | 用于验证后端 Admin API 的双向 TLS 客户端证书路径。 | ADC_TLS_CLIENT_CERT_FILE | ||
--tls-client-key-file <string> | 用于验证后端 Admin API 的双向 TLS 客户端密钥路径。 | ADC_TLS_CLIENT_KEY_FILE | ||
--tls-skip-verify | false | 连接到后端 Admin API 时是否验证 TLS 证书。 | ADC_TLS_SKIP_VERIFY |
示例用法
检查与配置后端的连通性
adc ping
检查与指定后端的连通性
adc ping --backend api7ee --server https://localhost:7443
adc lint
在本地验证提供的配置文件。
| 选项 | 默认值 | 描述 | 有效值 | 环境变量 |
|---|---|---|---|---|
-f, --file <file-path> | 要检查的文件。 |
示例用法
检查指定的配置文件
adc lint -f adc.yaml
检查多个配置文件
adc lint -f service-a.yaml -f service-b.yaml
adc sync
将本地配置同步到连接的后端。
| 选项 | 默认值 | 描述 | 有效值 | 环境变量 |
|---|---|---|---|---|
--verbose <integer> | 1 | 覆盖详细日志级别。0 表示无日志,1 表示基本日志,2 表示调试日志。 | 0, 1 or 2 | |
--backend <backend> | apisix | 要连接的后端类型。 | apisix or api7ee | ADC_BACKEND |
--server <string> | http://localhost:9180 | 后端服务器地址。 | ADC_SERVER | |
--token <string> | 访问后端的 API Token。 | ADC_TOKEN | ||
--gateway-group <string> | default | 要操作的网关组。 | ADC_GATEWAY_GROUP | |
--label-selector <selectors> | 用于过滤的资源标签。 | |||
-f, --file <file-path> | 要同步的配置文件。 | |||
--include-resource-type <string> | 按资源类型过滤,使得资源搜索结果仅包含指定的类型。 | |||
--exclude-resource-type <string> | 按资源类 型过滤,使得资源搜索结果排除指定的类型。 | |||
--timeout <duration> | 10s | 客户端连接后端 Admin API 的请求超时时间,例如 30s、10m 和 1h10m。 | ||
--ca-cert-file <string> | 用于验证后端 Admin API 的 CA 证书路径。 | ADC_CA_CERT_FILE | ||
--tls-client-cert-file <string> | 用于验证后端 Admin API 的双向 TLS 客户端证书路径。 | ADC_TLS_CLIENT_CERT_FILE | ||
--tls-client-key-file <string> | 用于验证后端 Admin API 的双向 TLS 客户端密钥路径。 | ADC_TLS_CLIENT_KEY_FILE | ||
--tls-skip-verify | false | 连接到后端 Admin API 时是否验证 TLS 证书。 | ADC_TLS_SKIP_VERIFY |
示例用法
同步单个文件中的配置
adc sync -f adc.yaml
同步多个文件中的配置
adc sync -f service-a.yaml -f service-b.yaml
将配置同步到特定的网关组
adc sync -f adc.yaml --gateway-group production
同步配置(跳过检查)
adc sync -f adc.yaml --no-lint
同步配置(带调试日志)
adc sync -f adc.yaml --verbose 2
将配置同步到特定的后端
adc sync -f service-a.yaml -f service-b.yaml --backend api7ee --server https://localhost:7443
仅从配置文件中同步指定的资源类型
adc sync -f adc.yaml --include-resource-type global_rule --include-resource-type plugin_metadata
仅同步具有指定标签的资源
adc sync -f adc.yaml --label-selector app=catalog