Zvi*_*nts 4 yaml kubernetes-helm
考虑以下模板:
...
{{- range .Values.additionalMetrics }}
- interval: 1m
port: {{ .name }}
{{- end }}
...
Run Code Online (Sandbox Code Playgroud)
以及以下值:
additionalMetrics:
- name: kamon-metrics
port: 9096
targetPort: 9096
Run Code Online (Sandbox Code Playgroud)
如果additionalMetrics缺少,helm 模板将会失败。
是否可以先检查是否additionalMetrics已定义,然后检查值的范围,否则继续?
注意:没有首先进行 if 和 then range,但在一种情况下,例如这不是我想要的解决方案:
{{- if .Values.additionalMetrics }}
{{- range .Values.additionalMetrics }}
- name: {{ .name }}
port: {{ .port }}
targetPort: {{ .targetPort }}
{{- end }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)
提前致谢
在我看来,这个解决方案不是你想要的,但没关系。它很简单并且做了它应该做的事情。没有必要把事情搞复杂。
你可以用一个子句让它更漂亮一点with:
{{- with .Values.additionalMetrics }}
{{- range . }}
- name: {{ .name }}
port: {{ .port }}
targetPort: {{ .targetPort }}
{{- end }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)
如果您确实想在单个语句中执行此操作,可以将其用作default空列表:
{{- range .Values.additionalMetrics | default list }}
- name: {{ .name }}
port: {{ .port }}
targetPort: {{ .targetPort }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4131 次 |
| 最近记录: |