模板函数

模板函数(Template Functions)是将数据转换后插入到 YAML 文件中的一种强大方法。

这节我们将介绍helm中常用的一些函数

default函数

想像下图这种场景——在templates/deployment.yaml文件中定义了.Values.image.repository变量。如果在values.yaml中没有设置相应的值,则在渲染时,生成的deployment对应的image字段会为空:

image-20211217192417608

所以一个自然的想法是为image.repository设置默认值,如果用户忘记设置这个参数,则使用默认值。

在模板中经常会使用到的一个函数是 default 函数:default DEFAULT_VALUE GIVEN_VALUE,该函数允许你在模板内部指定默认值。

我们来修改上面示例中的模板:

image-20211217193825129

此时生成的deployment会使用default值。

其他字符串相关函数

和字符串相关的函数有很多,可参考 https://helm.sh/zh/docs/chart_template_guide/function_list/#string-functions

例如:

  • upper:将字符全部转为大写
  • quote:将字符加双引号
  • replace:将某些字符进行替换
  • shuffle:将字符顺序进行打乱

image-20211217193637068


参考文档

helm所有函数列表: https://helm.sh/zh/docs/chart_template_guide/function_list/