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