【笔记】Helm-4 最佳实践-2 values

values

最佳实践的该部分包括了values的使用。这部分指南中,我们提供了关于您如何构建和使用values的建议,以及专注于设计chart的values.yaml文件。

命名规范

变量名称以小写字母开头,单词按驼峰区分:

正确的:

chicken: true

chickenNoodleSoup: true

错误的:

Chicken: true  # initial caps may conflict with built-ins
chicken-noodle-soup: true # do not use hyphens in the name

注意所有的Helm内置变量以大写字母开头,以便与用户定义的value进行区分:.Release.Name,.Capabilities.KuberVersion。

扁平或嵌套的Value

YAML是一种灵活格式,值可以嵌套得很深,也可以是扁平的。

嵌套的:

servere:

  name: nginx

  port: 80

扁平的:

serverName: nginx

serverPort: 80

大多数场景中,扁平的优于嵌套的。因为对模板开发者和用户来说更加简单。

为了最佳的安全性,嵌套值的每一层都必须检查:

{{ if .Values.server }}

  {{ default "none" .Values.server.name }}

{{ end }}

对于每个嵌套层,都必须进行存在性检查。但对于扁平的配置,使得模板更易于阅读和使用,这个检查可以跳过。

{{ default "none" .Values.serverName }}

当有大量的相关变量时,其中至少有一个是非选择性的,嵌套的值可以改善可读性。

搞清楚类型

YAML的类型强制规则有时候是很反常的。比如:foo: false和foo: "false"是不一样的。大整型数如:foo: 12345678有时会被转换成科学计数法。

————————————

仅用于本人学习

来源:Helm | Docs

你可能感兴趣的:(Helm,云原生,kubernetes,k8s)