繁体   English   中英

模板语言和掌舵

[英]Templating language and helm

我是 kubernetes 和掌舵的新手。 我开始使用 helm,我有以下片段:

{{- $image := printf "%s/%s:%s" $.Values.global.repository $.Values.global.images.xxx.image $.Values.global.images.xxx.tag -}}
apiVersion: v1
kind: Pod
metadata:
  name: xxxx-test-ready
  labels:
    app: xxxxx-test
    app.kubernetes.io/name: xxxxx-test
    helm.sh/chart: authsvc
    release: {{ $.Release.Name }}
    app.kubernetes.io/instance: {{ $.Release.Name }}
    app.kubernetes.io/managed-by: {{ $.Release.Service }}

我的问题在这里:

  {{- $image := printf "%s/%s:%s" $.Values.global.repository $.Values.global.images.xxx.image $.Values.global.images.xxx.tag -}}

我想我理解它的作用:基本上它创建图像规范并将其添加到名为 image 的 var 中以供以后用例使用。 但是我对这种模板语言感到不舒服,我什至不确定它是 erlang 还是 golang。 对这种模板语言充满信心的最佳起点是什么? 我应该学习golang吗?

最好的起点是阅读官方文档: The Chart Template Developer's Guide ,其中介绍了 Helm 的图表模板,重点介绍了模板语言。

虽然我们谈论“Helm 模板语言”就好像它是 Helm 特定的,但它实际上是 Go 模板语言、一些额外的函数以及用于向模板公开某些对象的各种包装器的组合。 Go 模板上的许多资源可能会对您了解模板有所帮助。

Helm 有超过 60 种可用的功能。 其中一些是由Go 模板语言本身定义的。 大多数其他的都是Sprig 模板库的一部分。

深入了解上述 Sprig 和 Go 模板文档,以增强您对图表模板的了解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM