K8s

Helm(三)—最佳实践

2022-01-02  本文已影响0人  87d6dc4b11a7

Chart名称

chart名称必须是小写字母和数字。单词之间 可以 使用横杠分隔(-)。
chart名称中不能用大写字母也不能用下划线。点( . ) 也不行。

格式化YAML

YAML文件应该按照双空格 缩进(绝不要使用tab键)。

values

命名规范:变量名称采用驼峰命名,以小写字母开头。
注意所有的Helm内置变量以大写字母开头,以便与用户定义的value进行区分:.Release.Name

模板

模板文件名称应该使用-符号(my-example-configmap.yaml),不用驼峰法。
模板文件的名称应该反映名称中的资源类型。比如:foo-pod.yaml, bar-svc.yaml。
模板应该使用两个空格缩进(永远不要用tab)。
模板命令的大括号前后应该使用空格
模板注释

{{- /*
mychart.shortname provides a 6 char truncated version of the release name.
*/}}

YAML注释:

# This is a comment
type: sprocket

helm lint是验证chart是否遵循最佳实践的首选工具
当你想测试模板渲染但又不想安装任何内容时,可以使用helm install --debug --dry-run goodly-guppy ./mychart

模板函数和流水线

模板函数遵循的语法是 functionName arg1 arg2...

管道符

使用管道符(|)将参数“”发送给函数:.Values.favorite.drink | quote,这里倒置了命令。

模板函数列表

trim:移除字符串两边的空格

trim "   hello    "                             #hello

trimAll:从字符串中移除给定的字符

trimAll "$" "$5.00"                    #5.00

trimPrefix:从字符串中移除前缀

trimPrefix "-" "-hello"          #hello

trimSuffix:从字符串中移除后缀

trimSuffix "-" "hello-"                        #hello

lower:将整个字符串转换成小写
upper:将整个字符串转换成大写

lower "HELLO"                  #hello
upper "hello"                    #HELLO

title:首字母转换成大写
untitle:移除首字母大写

title "hello world"                        #Hello World
untitle "Hello World"               #hello world

indent:以指定长度缩进给定字符串所在行

上一篇 下一篇

猜你喜欢

热点阅读