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

https://www.cnblogs.com/xzkzzz/p/10445807.html

 https://www.cnblogs.com/DaweiJ/articles/8779256.html

posted @ 2019-08-29 10:42  xmc_2022  阅读(1401)  评论(0编辑  收藏  举报