跳到主要内容
版本:3.9.x

ADC 命令行参考

API 声明式 CLI(ADC)是一个命令行工具,用于声明式地管理 APISIX 和 API7 企业版。 它在定义网关期望状态方面提供了简单性和清晰度,允许开发者和管理员专注于结果而不是步骤。

声明式配置作为单一的真实来源,开发者可以通过他们现有的版本控制系统进行管理。

ADC 具有以下通用语法:

adc [command] [options]

全局选项:

  • -V, --version 查看版本
  • -h, --help 打印命令的帮助菜单

配置 ADC

在使用 ADC 管理网关之前需要对其进行配置。你可以使用环境变量或命令行标志来配置 ADC。

使用环境变量

ADC 将所有配置选项暴露为环境变量。例如,你可以分别使用 ADC_BACKENDADC_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 api7eeADC_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-verifyfalse连接到后端 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 api7eeADC_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-verifyfalse连接到后端 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

adc dump

将后端配置保存到本地文件。

选项默认值描述有效值环境变量
--verbose <integer>1覆盖详细日志级别。0 表示无日志,1 表示基本日志,2 表示调试日志。0, 1 or 2
--backend <backend>apisix要连接的后端类型。apisix or api7eeADC_BACKEND
--server <string>http://localhost:9180后端服务器地址。ADC_SERVER
--token <string>访问后端的 API Token。ADC_TOKEN
--gateway-group <string>default要操作的网关组。ADC_GATEWAY_GROUP
--label-selector <selectors>用于过滤的资源标签。
-o, --output <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-verifyfalse连接到后端 Admin API 时是否验证 TLS 证书。ADC_TLS_SKIP_VERIFY

示例用法

将后端配置保存到默认的 adc.yaml 文件
adc dump
将后端配置保存到指定的文件
adc dump -o service-configuration.yaml
仅从后端保存指定的资源类型
adc dump --include-resource-type global_rule --include-resource-type plugin_metadata
仅保存具有指定标签的资源
adc dump --label-selector app=catalog
从指定的后端保存配置
adc dump -o api7ee-dump.yaml --backend api7ee --server https://localhost:7443

adc diff

显示本地文件和后端之间配置的差异。

选项默认值描述有效值环境变量
--verbose <integer>1覆盖详细日志级别。0 表示无日志,1 表示基本日志,2 表示调试日志。0, 1 or 2
--backend <backend>apisix要连接的后端类型。apisix or api7eeADC_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-verifyfalse连接到后端 Admin API 时是否验证 TLS 证书。ADC_TLS_SKIP_VERIFY

示例用法

将指定文件中的配置与后端配置进行比较
adc diff -f adc.yaml
将多个文件中的配置与后端配置进行比较
adc diff -f service-a.yaml -f service-b.yaml
将指定文件中的配置与指定的后端进行比较
adc diff -f service-a.yaml -f service-b.yaml --backend api7ee --server https://localhost:7443

adc convert

将 API 规范转换为 ADC 配置。

选项默认值描述有效值环境变量
openapi将 OpenAPI 规范转换为 ADC 配置。

示例用法

将 YAML 格式的 OpenAPI 规范转换为 ADC 配置并保存到默认的 adc.yaml 文件
adc convert openapi -f openapi.yaml
将 JSON 格式的 OpenAPI 规范转换为 ADC 配置并保存到指定文件
adc convert openapi -f openapi.json -o converted-adc.yaml

请参阅 OpenAPI 转换器参考 获取更多文档。

adc help

打印通用帮助菜单或指定命令的帮助菜单。

示例用法

adc help [command]