我是Kubernetes和掌舵人的新手。 我开始使用头盔,并且有以下代码段:
{{- $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吗?
答案 0 :(得分:3)
最好的起点是阅读官方文档:The Chart Template Developer’s Guide,该文档对Helm的图表模板进行了介绍,重点是模板语言。
虽然我们谈论“ Helm模板语言”,好像它是Helm特定的,但实际上 Go模板语言,一些其他功能以及 各种包装器,以将某些对象暴露给模板。许多 了解有关Go模板的资源可能会有所帮助 模板。
头盔具有60多种可用功能。其中一些是由 Go template语言本身。其他大多数是 Sprig template library。
挖掘上面的Sprig and Go Template文档,以增强您对图表模板的了解。