Helm Chart
API7 网关 Helm Chart 用于在 Kubernetes 中安装 API7 网关数据面实例,并根据 Chart values 渲染网关配置。Chart 同时支持 Kubernetes 部 署资源配置,以及最终写入 config.yaml 的网关运行时配置。
在 Kubernetes 部署中,应将 Helm values 作为配置事实来源。直接修改运行中 Pod 内的 conf/config.yaml,或修改由 Helm 生成的 ConfigMap,都会在下一次 Helm upgrade 时被覆盖。
Chart 仓库
API7 Helm Chart 提供基于 Helm 的 API7 组件安装与管理方式。
添加 API7 Helm 仓库:
helm repo add api7 https://charts.api7.ai
helm repo update
使用 values 文件安装或升级 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 patch 更新。
如果数据面安装命令或 values 文件由 API7 Dashboard 生成,在添加自定义 values 时,请保留其中的连接配置、证书和 Token 相关环境变量。
Chart Values
Helm Chart values 用于定义 Chart 配置。它们可以来自 Chart 默认的 values.yaml,也可以在安装或升级时被覆盖,用于自定义部署。
查看默认 Values
运行以下命令查看 API7 网关 Chart 提供的默认 values:
helm show values api7/gateway
该命令会显示最新 Chart 中打包的 values.yaml,不会读取已安装 release 的 values。对于 API7 网关 3.10.x,请追加 --version "~3.10.0" 查看当前 3.10.x 对应的 Chart values。如需查看某个已安装 release 当前使用的 values,请使用 helm get values。
如需查看与当前 API7 网关版本匹配的 Chart 参考,请参考 values reference 获取可读的字段说明,并参考 values.yaml 与 ConfigMap 模板了解原始默认值和层级结构:
- API7 Gateway Helm chart values reference table
- API7 Gateway Helm chart
values.yaml - API7 Gateway Helm chart ConfigMap template
ConfigMap 模板展示了 Helm values 与生成后的网关 config.yaml 之间的映射关系。当原生网关配置项与 Helm value 名称不同,或插件静态配置需要写入 config.yaml 时,应以该模板作为参考。
查看生效 Values
运行以下命令查看已安装 release 的生效 values,包括默认值和覆盖值:
helm get values <release-name> -n <namespace> --all
更新 Values
更新 Helm release 前,先导出该 release 的完整 values:
helm get values <release-name> -n <namespace> --all -o yaml > values.yaml
编辑 values.yaml,然后应用更新后的 values:
helm upgrade <release-name> api7/gateway --version "~3.10.0" -n <namespace> -f values.yaml