私有化部署配置
AISIX 私有化部署可以通过 Docker Compose .env 文件或 Helm values 进行配置,具体取决于控制面的安装方式。
当你需要查看或自定义生成的部署配置时,请结合私有化部署阅读本参考。
这些设置用于配置私有化控制面部署包,与 AISIX 网关运行时环境变量不同。网关运行时变量请参见环境变量。
Docker Compose 环境变量
Docker Compose 部署包会从 ./aisix-ee/.env 读取环境变量。快速开始脚本和离线包会在首次启动时生成该文件,并在后续部署包刷新时保留它。
镜像和发布版本
| 变量 | 作用 |
|---|---|
AISIX_VERSION | 控制面镜像使用的发布版本标签。 |
AISIX_API_IMAGE | cp-api 的可选镜像覆盖项。 |
AISIX_DPM_IMAGE | dp-manager 的可选镜像覆盖项。 |
AISIX_UI_IMAGE | Dashboard 的可选镜像覆盖项。 |
AISIX_CLOUD_DP_IMAGE | 生成托管网关安装片段时展示的 AISIX 网关镜像。 |
数据库
| 变量 | 作用 |
|---|---|
POSTGRES_USER | 随包 PostgreSQL 使用的用户名。 |
POSTGRES_PASSWORD | 随包 PostgreSQL 使用的密码。请使用强且 URL 安全的值,因为它会嵌入 postgres:// URL。 |
POSTGRES_DB | PostgreSQL 数据库名称。 |
密钥
| 变量 | 作用 |
|---|---|
AISIX_CLOUD_MASTER_KEY | Base64 编码的 32 字节 AES 密钥,用于 envelope encryption。dp-manager 也会使用同一个值。 |
AISIX_CLOUD_MASTER_KEY_ID | 与加密数据一起存储的标识,用于让控制面识别 wrapping key。 |
BETTER_AUTH_SECRET | Dashboard 认证 session 签名密钥。 |
除非正在执行 master key 轮换流程,否则不要修改已有部署中的 AISIX_CLOUD_MASTER_KEY。如果修改时没有保留旧密钥,已加密数据可能无法读取。
运行时 URL
| 变量 | 作用 |
|---|---|
AISIX_CLOUD_PUBLIC_BASE_URL | 面向浏览器的控制面源站,例如 https://aisix.example.com。登录时会根据该值校验 session issuer。 |
AISIX_CLOUD_DPMGR_BASE_URL | 托管网关主机可访问的 dp-manager mTLS 端点。 |
AISIX_CLOUD_DASHBOARD_URL | cp-api 使用的内部 Dashboard URL。Compose 默认指向 dashboard 服务。 |
在将部署暴露到本地主机或容器网络之外前,请设置 AISIX_CLOUD_PUBLIC_BASE_URL 和 AISIX_CLOUD_DPMGR_BASE_URL。
价格目录
| 变量 | 作用 |
|---|---|
AISIX_CLOUD_PRICESYNC_URL | 在线模型价格目录 URL。默认指向 models.dev。 |
AISIX_CLOUD_PRICESYNC_SNAPSHOT_PATH | 离线价格快照路径。设置后,cp-api 会从快照写入价格目录,而不会访问 models.dev。 |
离线包会自动设置 AISIX_CLOUD_PRICESYNC_SNAPSHOT_PATH,使价格能力可以在没有外网访问的情况下工作。
Dashboard 和端口
| 变量 | 作用 |
|---|---|
AISIX_DASHBOARD_LOCALE | 部署使用的 Dashboard 语言。支持值为 en 和 zh。 |
POSTGRES_HOST_PORT | 随包 PostgreSQL 的宿主机端口绑定。 |
API_HOST_PORT | cp-api 和 Dashboard 反向代理的宿主机端口绑定。 |
DPM_HOST_PORT | dp-manager 的宿主机端口绑定。 |
如果某个服务只应绑定到 loopback,请在宿主机端口前添加 127.0.0.1:。
Helm Values
api7/aisix-cp chart 使用 Helm values,而不是 Compose .env 文件。查看或安装 chart 前,请先添加 API7 Helm 仓库:
helm repo add api7 https://charts.api7.ai
helm repo update
查看所有 chart value:
helm show values api7/aisix-cp
Chart 源码和 values 发布在 api7/api7-helm-chart 仓库中。
镜像和服务
| Value | 作用 |
|---|---|
api.image.repository, api.image.tag | cp-api 镜像。 |
dpm.image.repository, dpm.image.tag | dp-manager 镜像。 |
ui.image.repository, ui.image.tag | Dashboard 镜像。 |
api.service.type, api.service.port | cp-api 的 Kubernetes Service 设置。 |
dpm.service.type, dpm.service.port | dp-manager 的 Kubernetes Service 设置。 |
ui.service.type, ui.service.port | 位于 cp-api 后方的 Dashboard 服务设置。 |
控制面 URL
| Value | 作用 |
|---|---|
api.publicBaseURL | 面向浏览器的控制面源站。 |
api.dpmgrBaseURL | 托管网关主机可访问的 dp-manager mTLS 端点。 |
api.dpImage | 生成托管网关安装片段时展示的 AISIX 网关镜像。 |
密钥
| Value | 作用 |
|---|---|
secrets.masterKey | Base64 编码的 32 字节 AES 密钥,用于 envelope encryption。 |
secrets.masterKeyID | 与加密数据一起存储的标识,用于让控制面识别 wrapping key。 |
secrets.betterAuthSecret | Dashboard 认证 session 签名密钥。 |
安装前请替换 chart 中的占位密钥。Chart 会拒绝占位密钥值。
PostgreSQL
| Value | 作用 |
|---|---|
postgresql.builtin | 设置为 true 时部署随包 PostgreSQL chart。 |
postgresql.auth.password | 随包 PostgreSQL chart 的应用密码。 |
postgresql.auth.postgresPassword | 随包 PostgreSQL chart 的 PostgreSQL 超级用户密码。 |
postgresql.auth.existingSecret | 用于随包 PostgreSQL 凭证的已有 Kubernetes Secret。 |
externalDatabase.* | 当 postgresql.builtin=false 时,用于已有 PostgreSQL 数据库的顶层 values。 |
请使用 URL 安全的 PostgreSQL 密码,例如 openssl rand -hex 24 生成的值,因为 chart 会根据配置的凭证构造 postgres:// 连接 URL。
Dashboard 语言
| Value | 作用 |
|---|---|
ui.defaultLocale | 部署使用的 Dashboard 语言。支持值为 en 和 zh。 |