我有几个对应于我不同环境的 namespace (iso,dev,sandbox等)。对于每个环境,因此对于 namespace ,都有一个关联的数据库。
当我用Helm部署pod时,我想将 namespace 注入(inject)一个值中以获得适当的密码。
在我的值文件中,我看起来像这样:
db:
iso: passwordISO
dev: passwordDEV
sandbox: passwordSANDBOX
spec: passwordSPEC
val: passwordVAL
在我的consumer_config文件中,我有这个:
db_host: DB_HOST-{{ .Release.Namespace }}
db_port: DB_PORT
db_name: DB_NAME
db_user: DB_PORT
db_password: {{ .Values.db.iso }}
我已经尝试使用
{{- include }}
模式,但没有成功。我也尝试过{{ .Values.db.{{ .Release.Namespace }}}}
给我以下错误unexpected <.> in operand
对如何执行此操作有任何见解?
最佳答案
由于Helm基于Go-template语言,因此go-template语言中可用的功能可能会有所帮助:
{{ index .Values.db .Release.Namespace }}
从文档(Go 模板文档)中:
因此,在这种情况下,您需要使用
.Values.db
键索引.Release.Namespace
关于go - 有没有一种方法可以将 namespace 包含在值中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56867201/