一般约定

最佳实践指南的这一部分介绍了一般约定。

Chart 名称

Chart 名称应该是小写字母和数字组成,字母开头:

举例: 可以使用破折号 -, 但在 Helm templates 中使用需要一些小技巧 (查看 issue #2192 获取更多信息). + 这里有一些好例子 Helm Community Charts:

drupal
cert-manager
oauth2-proxy

Chart 名称中不能使用大写字母和下划线。Chart 名称不应使用点。

包含 chart 的目录必须与 chart 具有相同的名称。因此,chart cert-manager 必须在名为 cert-manager/ 的目录中创建。这不仅仅是一种风格的细节,而是 Helm Chart 格式的要求。

版本号

只要有可能,Helm 使用 SemVer 2 来表示版本号。(请注意,Docker 镜像 tag 不一定遵循 SemVer,因此被视为该规则的一个例外。)

当 SemVer 版本存储在 Kubernetes 标签中时,我们通常会将该 + 字符更改为一个 _ 字符,因为标签不允许 + 标志作为值。

格式化 YAML

YAML 文件应该使用两个空格缩进(而不是制表符)。

单词 Helm,Tiller 和 Chart 的用法

使用 Helm,helm,Tiller 和 tiller 这两个词有一些小的惯例。

  • Helm 是指该项目,通常用作总括术语
  • helm 指的是客户端命令
  • Tiller 是后端的专有名称
  • tiller 是后端二进制运行的名称
  • 术语 “chart” 不需要大写,因为它不是专有名词。

如有疑问,请使用 Helm(大写’H’)。

通过版本限制 Tiller

一个 Chart.yaml 文件可以指定一个 tillerVersion SemVer 约束:

name: mychart
version: 0.2.0
tillerVersion: ">=2.4.0"

当模板使用 Helm 旧版本不支持的新功能时,应该设置此限制。虽然此参数将接受复杂的 SemVer 规则,但最佳做法是默认为格式 >=2.4.0,其中 2.4.0 引入了 chart 中使用的新功能的版本。

此功能是在Helm 2.4.0中引入的,因此任何2.4.0版本以下的Tiller都会忽略此字段。