跳到主要内容
版本:3.10.x

Helm Chart

API7 网关 Helm Chart 用于在 Kubernetes 中安装 API7 网关数据面实例,并根据 Chart 配置值渲染网关配置。Chart 同时支持 Kubernetes 部署资源配置,以及最终写入 config.yaml 的网关运行时配置。

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

Chart 仓库

API7 Helm Chart 提供基于 Helm 的 API7 组件安装与管理方式。

添加 API7 Helm 仓库:

helm repo add api7 https://charts.api7.ai
helm repo update

使用配置值文件安装或升级 API7 网关:

helm upgrade --install api7-ee-3-gateway api7/gateway \
-n api7 \
--create-namespace \
--version "~3.10.0" \
-f values.yaml

版本约束会将 Chart 版本限制在 API7 网关 3.10.x 发布线内,同时允许兼容的 Chart 补丁版本更新。

如果数据面安装命令或配置值文件由 API7 控制台生成,在添加自定义配置值时,请保留其中的连接配置、证书和令牌相关环境变量。

Chart 配置值

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

查看默认配置值

运行以下命令查看 API7 网关 Chart 提供的默认配置值:

helm show values api7/gateway

该命令会显示最新 Chart 中打包的 values.yaml,不会读取已安装的 Helm 发布版本所使用的配置值。对于 API7 网关 3.10.x,请追加 --version "~3.10.0" 查看当前 3.10.x 对应的 Chart 配置值。如需查看某个已安装的 Helm 发布版本当前使用的配置值,请使用 helm get values

如需查看与当前 API7 网关版本匹配的 Chart 参考,请查阅配置值参考表获取可读的字段说明,并参考 values.yaml 与 ConfigMap 模板了解原始默认值和层级结构:

ConfigMap 模板展示了 Helm 配置值与生成后的网关 config.yaml 之间的映射关系。当原生网关配置项与 Helm 配置值名称不同,或插件静态配置需要写入 config.yaml 时,应以该模板作为参考。

查看生效配置值

运行以下命令查看已安装的 Helm 发布版本所使用的生效配置值,包括默认值和覆盖值:

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

更新配置值

更新 Helm 发布版本前,先导出该发布版本的完整配置值:

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

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

helm upgrade <release-name> api7/gateway --version "~3.10.0" -n <namespace> -f values.yaml