【发布时间】:2023-01-25 06:47:32
【问题描述】:
我是新掌舵人。当我使用 istio 时,我多次看到类似 {{ annotation ...}} 的内容,更多详细信息:
spec:
containers:
- name: istio-proxy
{{- if contains "/" (annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy.image) }}
image: "{{ annotation .ObjectMeta `sidecar.istio.io/proxyImage` .Values.global.proxy.image }}"
{{- else }}
image: "{{ .ProxyImage }}"
{{- end }}
以上代码可以从istio github找到。
我已经阅读了 helm 文档,所以我认为 annotation 是一个函数,而所有其他函数(即 .ObjectMeta、sidecar.istio.io/proxyImage、.Values.global.proxy.image )只是参数。我对吗?
但我不知道annotation 函数是什么。如果有人能指出我正确的方向,那就更好了。
【问题讨论】:
-
这是 Go
text/template函数调用语法,但annotation既不是 Helm-specific 函数也不是 Sprig 函数。你确定标准 Helm 处理这个文件,并且你显示的块没有以某种方式进一步引用吗? -
@DavidMaze 我添加了 github 链接供您参考。而且我可以确定可以处理 helm chart。
-
该文件不在图表的
templates目录中,因此 Helm 不处理它。它是included directly in a ConfigMap。我不完全确定它是如何从那里使用的。
标签: kubernetes-helm istio