Helm文档 - Chart模板教程:内置对象

内置对象

对象从模板引擎传递到一个模板。你的代码可以传递对象(我们将在查看with和range语句时看到示例程序)。甚至有方法能够在你自己的模板中创建新的对象,就像我们在后边看到的tuple函数一样。

对象可以很简单,只有一个值。或者他们也可以包含其它的对象和函数。例如,Release对象包含了几种子对象(如Release.Name),而Files对象包含了一些函数。

在前边的章节中,我们使用 {{ .Release.Name }} 方式将release的名字插入到一个模板中。Release是可以在你的模板中访问的一个顶级对象。

Release

Release对象内部包含有以下几个对象:

  • Release.Name: Relase的名字 Release.Namespace: release将被发布到的命名空间(如果清单中没有设置覆盖这个值的话)。
  • Release.IsUpgrade: 如果当前的操作是升级或回滚的话,这个值将被设置为true。
  • Release.IsInstall: 如果当前的操作是按照的话,这个值将被设置为true。
  • Release.Revision: release的修订号。安装时,是1,之后每一次升级和回滚都会自增。
  • Release.Service: 呈现当前模板的服务。在Helm中,这个对象的值总是Helm。
Values

Values对象通过values.yaml和用户提供的文件传递给模板。默认情况下,Values是空值。

Chart

Chart对象描述的是Chart.yaml文件的内容。可以通过Chart对象访问Chart.yaml文件中的任何数据。例如,{{ .Chart.Name }}-{{ .Chart.Version }} 将会打印出 mychart-0.1.0。

Files

Files对象提供了在chart中访问非特殊文件的方法。虽然你不能使用它来访问模板,但是你可以使用它来访问chart中的其它文件。更多详细的信息请参考Accessing Files章节的内容。

  • Files.Get是一个通过文件名获取文件的函数,例如:.Files.Get config.ini
  • Files.GetBytes函数会将文件中的内容读取到一个字节数组中而不是一个字符串。这对处理图像文件是非常有用的。
  • Files.Glob函数会返回名字满足给定 shell glob模式的文件。
  • Files.Lines函数会一行一行的堆砌一个文件的内容。这个函数适用于需要一行一行的迭代一个文件的场景。
  • Files.AsSecrets函数会将文件的内容转换成通过Base64编码的字符串返回
  • Files.AsConfig函数会将文件的内容转换成YAML map的格式返回。
Capabilities

Capabilities对象提供了关于Kubernetes集群支持哪些功能的信息。

  • Capabilities.APIVersions 是版本信息的集合。
  • Capabilities.APIVersions.Has $version 语句之处一个版本 (e.g., batch/v1) 或一个资源 (e.g., apps/v1/Deployment) 是否在当前集群中可用。
  • Capabilities.KubeVersion 和Capabilities.KubeVersion.Version 是Kubernetes的版本号。
  • Capabilities.KubeVersion.Major 是Kubernetes的Major版本号。
  • Capabilities.KubeVersion.Minor 是Kubernetes的Minor版本号。
Template

Template对象包含有关正在执行的当前模板的信息

  • Name: 指示当前模板的文件所在的路径 (e.g. mychart/templates/mytemplate.yaml)。
  • BasePath: 指示当前chart的模板目录所在的路径(e.g. mychart/templates)。

内置对象总是以大写字母开头。这也满足go语言的命名规范。当你创建你自己的名字时,可以自由的使用适合你所在团队的命名规范。一些团队,比如Kubernetes Chart团队,选择使用小写字母开头,以便将本地名称与内置名称区分开来。在本指南中,我们将遵循这一规范。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值