Kubernetes 如何在头盔中使用if/else循环
我正在尝试在头盔图表中使用Kubernetes 如何在头盔中使用if/else循环,kubernetes,kubernetes-helm,Kubernetes,Kubernetes Helm,我正在尝试在头盔图表中使用if/else if/else循环。基本上,我想根据if/else条件在configfile中添加ENV configs。逻辑如下: apiVersion: v1 kind: ConfigMap metadata: name: {{ .Values.applicationName }}-configmap labels: projectName: {{ .Values.applicationName }} environment: {{ .Val
if/else if/else
循环。基本上,我想根据if/else条件在configfile中添加ENV configs。逻辑如下:
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Values.applicationName }}-configmap
labels:
projectName: {{ .Values.applicationName }}
environment: {{ .Values.environment }}
type: configmap
data:
{{- if eq .Values.environment "production" }}
{{ .Files.Get "config-prod.yaml" | nindent 2}}
{{- else if eq .Values.environment "development" }}
{{ .Files.Get "config-dev.yaml" | nindent 2}}
{{- else }}
{{ .Files.Get "config-stage.yaml" | nindent 2}}
{{- end }}
但我没有得到预期的产出,面临一些问题。有人能帮我解决这个问题吗
Edit1:我已根据建议添加了修改后的configmap.yaml,helm install/template命令在demo2/templates/configmap.yaml:将yaml转换为JSON时出错:yaml:第14行:未找到预期键错误
此外,我的config prod和config stage正在呈现(根据条件,如果我给出
environment:production
则会添加config-prod.yaml,如果我给出environment:stage/null
则会添加config-stage.yaml。您的问题将受益于更多细节
请考虑以下问题:
- 你是怎么做到的?你到底运行了什么命令
- 你怎么会“没有得到想要的输出”?你得到了什么输出
values.yaml中的相关条目
和config-dev.yaml
文件config stage.yaml
你应该选择左,即
{-..}
而不是左+右{{-..}
你的问题将受益于更多的细节
请考虑以下问题:
- 你是怎么做到的?你到底运行了什么命令
- 你怎么会“没有得到想要的输出”?你得到了什么输出
values.yaml中的相关条目
和config-dev.yaml
文件config stage.yaml
你应该只吃左,也就是说,
{-..}
而不是左+右{-..}
对不起,伙计们,这是我的错误,我的dev-config.yaml有env,它被定义为key=value,而不是key:value。对不起,伙计们,这是我的错误,我的dev-config.yaml有env,它被定义为key=value,而不是key:value