Lea*_*ner 1 kubernetes kubernetes-helm
我是 kubernetes 和 helm 的新手。我开始使用 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 }}
Run Code Online (Sandbox Code Playgroud)
我的问题在这里:
{{- $image := printf "%s/%s:%s" $.Values.global.repository $.Values.global.images.xxx.image $.Values.global.images.xxx.tag -}}
Run Code Online (Sandbox Code Playgroud)
我想我明白它的作用:基本上它创建图像规范并将其添加到名为 image 的 var 以供以后使用。但是我对这种模板语言感到不舒服,我什至不确定它是 erlang 还是 golang。对这种模板语言充满信心的最佳起点是什么?我应该学习golang吗?
最好的起点是阅读官方文档:The Chart Template Developer's Guide,其中介绍了 Helm 的图表模板,重点介绍了模板语言。
虽然我们谈论“Helm 模板语言”好像它是 Helm 特定的,但它实际上是 Go 模板语言、一些额外函数和各种包装器的组合,用于将某些对象暴露给模板。当您了解模板时,Go 模板上的许多资源可能会有所帮助。
Helm 有 60 多个可用函数。其中一些是由Go 模板语言本身定义的 。大多数其他的都是 Sprig 模板库的一部分。
深入研究上述 Sprig and Go 模板文档,以增强您对图表模板的了解。
| 归档时间: |
|
| 查看次数: |
1711 次 |
| 最近记录: |