跳到主要内容

私有化部署配置

AISIX 私有化部署可以通过 Docker Compose .env 文件或 Helm values 进行配置,具体取决于控制面的安装方式。

当你需要查看或自定义生成的部署配置时,请结合私有化部署阅读本参考。

这些设置用于配置私有化控制面部署包,与 AISIX 网关运行时环境变量不同。网关运行时变量请参见环境变量

Docker Compose 环境变量

Docker Compose 部署包会从 ./aisix-ee/.env 读取环境变量。快速开始脚本和离线包会在首次启动时生成该文件,并在后续部署包刷新时保留它。

镜像和发布版本

变量作用
AISIX_VERSION控制面镜像使用的发布版本标签。
AISIX_API_IMAGEcp-api 的可选镜像覆盖项。
AISIX_DPM_IMAGEdp-manager 的可选镜像覆盖项。
AISIX_UI_IMAGEDashboard 的可选镜像覆盖项。
AISIX_CLOUD_DP_IMAGE生成托管网关安装片段时展示的 AISIX 网关镜像。

数据库

变量作用
POSTGRES_USER随包 PostgreSQL 使用的用户名。
POSTGRES_PASSWORD随包 PostgreSQL 使用的密码。请使用强且 URL 安全的值,因为它会嵌入 postgres:// URL。
POSTGRES_DBPostgreSQL 数据库名称。

密钥

变量作用
AISIX_CLOUD_MASTER_KEYBase64 编码的 32 字节 AES 密钥,用于 envelope encryption。dp-manager 也会使用同一个值。
AISIX_CLOUD_MASTER_KEY_ID与加密数据一起存储的标识,用于让控制面识别 wrapping key。
BETTER_AUTH_SECRETDashboard 认证 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_URLcp-api 使用的内部 Dashboard URL。Compose 默认指向 dashboard 服务。

在将部署暴露到本地主机或容器网络之外前,请设置 AISIX_CLOUD_PUBLIC_BASE_URLAISIX_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 语言。支持值为 enzh
POSTGRES_HOST_PORT随包 PostgreSQL 的宿主机端口绑定。
API_HOST_PORTcp-api 和 Dashboard 反向代理的宿主机端口绑定。
DPM_HOST_PORTdp-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.tagcp-api 镜像。
dpm.image.repository, dpm.image.tagdp-manager 镜像。
ui.image.repository, ui.image.tagDashboard 镜像。
api.service.type, api.service.portcp-api 的 Kubernetes Service 设置。
dpm.service.type, dpm.service.portdp-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.masterKeyBase64 编码的 32 字节 AES 密钥,用于 envelope encryption。
secrets.masterKeyID与加密数据一起存储的标识,用于让控制面识别 wrapping key。
secrets.betterAuthSecretDashboard 认证 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 语言。支持值为 enzh