跳到主要内容

Helm Chart

Apache APISIX Helm Chart 用于在 Kubernetes 上安装 APISIX,并根据 Helm values 渲染网关配置。该 Chart 同时支持 Kubernetes 部署资源,以及生成到 config.yaml 中的 APISIX 运行时配置。

对于 Kubernetes 部署,应将 Helm values 视为配置的事实来源。直接修改运行中 Pod 内的 conf/config.yaml 或生成的 ConfigMap,会在下一次 Helm 升级时被覆盖。

Chart 仓库

APISIX Helm Chart 提供了在 Kubernetes 上安装和管理 APISIX 组件的 Helm 方式。

添加 APISIX Helm 仓库:

helm repo add apisix https://apache.github.io/apisix-helm-chart
helm repo update

使用 values 文件安装或升级 APISIX:

helm upgrade --install apisix apisix/apisix \
-n apisix \
--create-namespace \
-f values.yaml

Chart values

Helm Chart values 定义 Chart 的配置。它们可以来自 Chart 默认的 values.yaml,也可以在安装或升级时被覆盖,以定制部署。

查看默认值

运行以下命令,查看 APISIX Chart 提供的默认值:

helm show values apisix/apisix

该命令显示最新版 Chart 中打包的 values.yaml,不会读取已安装 Release 的值。要查看某个 Release 当前使用的值,请使用 helm get values

如需与此 APISIX 版本匹配的 Chart 参考,请查看 values 参考表以了解字段说明,并查看 values.yaml 了解原始默认值和嵌套结构:

ConfigMap 模板定义了 Helm values 与生成的 APISIX config.yaml 之间的映射。如果网关原生配置项对应不同的 Helm value 名称,或者插件的静态配置需要修改 config.yaml,可以参考该模板。

查看生效值

运行以下命令,查看已安装 Release 使用的全部值,包括默认值和覆盖值:

helm get values <release-name> -n <namespace> --all

更新值

更新 Helm Release 时,先将 Release 的全部值导出到文件:

helm get values <release-name> -n <namespace> --all -o yaml > values.yaml

编辑 values.yaml,然后应用更新后的值:

helm upgrade <release-name> apisix/apisix -n <namespace> -f values.yaml