模板语言和掌舵

时间:2019-09-26 17:30:29

标签: kubernetes kubernetes-helm

我是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吗?

1 个答案:

答案 0 :(得分:3)

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

  

虽然我们谈论“ Helm模板语言”,好像它是Helm特定的,但实际上   Go模板语言,一些其他功能以及   各种包装器,以将某些对象暴露给模板。许多   了解有关Go模板的资源可能会有所帮助   模板。

     

头盔具有60多种可用功能。其中一些是由   Go template语言本身。其他大多数是   Sprig template library

挖掘上面的Sprig and Go Template文档,以增强您对图表模板的了解。