Helm 强大之处就在于它的模板语言与内置对象,通过这些功能可以配置通用复杂的项目模板并实现与实际的配置的值解耦。
内置对象
对象从模板引擎传递到模板中(template目录下的有效文件)。你的代码可以传递对象。甚至有几种方法在模板中创建新对象。对象可以很简单,只有一个值(如 Release.Name)。或者他们可以包含其他对象或函数。例如Files 对象具有一些函数,Files.get等等。
所有的内置对象查看请参考官方文档 https://helm.sh/docs/chart_template_guide/builtin_objects/
Tips:
内置值始终以大写字母开头。这符合Go的命名约定。当你创建自己的名字时,你可以自由地使用适合你的团队的惯例。一些团队,如Kubernetes chart团队,选择仅使用首字母小写字母来区分本地名称与内置名称。
几个常用的对象
Release
这个对象描述了 release 本身。它里面几个常用子对象
Release.Name release 名称,就是通过helm install -n lamp-server ./lamp-chart 指定的的release 名字 “lamp-server”
Release.Time release 创建的时间
Release.Revision release 版本号
Release.IsUpgrade This is set to true if the current operation is an upgrade or rollback.
Release.IsInstall This is set to true if the current operation is an install.