【发布时间】:2019-11-13 23:18:53
【问题描述】:
我有几个命名空间(iso、dev、sandbox 等),它们对应于我的不同环境。对于每个环境和命名空间,都有一个关联的数据库。 当我使用 Helm 部署我的 pod 时,我想将命名空间注入到一个值中以获取适当的密码。
在我的值文件中,我有一些看起来像这样的东西:
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
关于如何执行此操作或任何解决方法的任何见解?
【问题讨论】:
-
不建议将 BD 密码存储在 helm values.yaml 文件中。而是在各自的命名空间中创建一个包含数据库密码的秘密对象,并将它们附加到 pod。
标签: go kubernetes kubernetes-helm helmfile