跳到主要内容

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

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

Apache APISIX Helm Chart 独立于 APISIX 进行版本管理。请使用最新已发布 Chart 的字段名、默认值和 ConfigMap 映射;当 Chart 的默认镜像属于不同版本时,请将 image.tag 设置为此 APISIX 版本对应的 Docker 镜像。

始终跟随最新发布版本的 Chart 参考:

该 Chart 中的 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