helm 模板语法
1.Charts
Charts 结构如下
-
template/ : 这个目录下装的是k8s的资源模板文件
-
values.yaml : 这个文件里面是这个chart的默认值
-
Chart.yaml : 这个文件里是对这个chart的描述
-
requirements.yaml : chart 可能依赖其他的chart,依赖关系由requirement.yaml指定
示例: 创建一个 叫 mychart 的chart
-
NOTES.txt : chart 的使用建议文档,chart安装成功后,会显示此文档内容
-
_helpers.tpl : 放置模板助手的地方,可以在整个 chart 中重复使用
-
ingress.yaml: 创建 ingress 对象的资源清单文件
-
service.yaml:为 deployment 创建 service 的基本 manifest
-
deployment.yaml:创建 Kubernetes deployment 的基本 manifest
内置对象
-
Release
-
Release.Name: release 名称
-
Release.Time : release 的时间
-
Release.Namespace release 的 namespace(如果清单未覆盖)
-
Release.Service : 值为Tiller
-
Release.Revision : release 版本号。从 1开始,每次执行helm upgrade ,数加1
-
Release.IsUpgrade: 本次操作是否为升级
-
Release.Install : 本次操作是否为安装
-
Chart: Chart.yaml 里的内容
-
Values:从values.yaml文件和用户提供的文件传入模板的值。默认情况下,Values 是空的。
-
Files: 这提供对 chart 中所有非特殊文件的访问。虽然无法使用它来访问模板,但可以使用它来访问 chart 中的其他文件。
-
File.Get 通过名字获取文件(.Files.Get config.ini)
-
File.getBytes 以字节流的方式获取,在获取类型图片时比较有用
-
Capacities:
-
Capabilities.APIVersions 是一组版本信息。
-
Capabilities.APIVersions.Has $version 指示是否在群集上启用版本(batch/v1)。
-
Capabilities.KubeVersion 提供了查找 Kubernetes 版本的方法。它具有以下值:Major,Minor,GitVersion,GitCommit,GitTreeState,BuildDate,GoVersion,Compiler,和 Platform。
-
Capabilities.TillerVersion 提供了查找 Tiller 版本的方法。它具有以下值:SemVer,GitCommit,和 GitTreeState。
-
Template:包含有关正在执行的当前模板的信息
-
Name:到当前模板的文件路径(例如 mychart/templates/mytemplate.yaml)
-
BasePath:当前 chart 模板目录的路径(例如 mychart/templates)
2.模板语法
参考 :https://blog.51cto.com/qujunorz/2421328