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