Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 有没有办法将名称空间包含在值中?_Go_Kubernetes_Kubernetes Helm_Helmfile - Fatal编程技术网

Go 有没有办法将名称空间包含在值中?

Go 有没有办法将名称空间包含在值中?,go,kubernetes,kubernetes-helm,helmfile,Go,Kubernetes,Kubernetes Helm,Helmfile,我有几个名称空间(iso、dev、sandbox等),它们对应于我的不同环境。对于每个环境和名称空间,都有一个关联的db。 当我使用Helm部署pod时,我希望将名称空间注入一个值以获得适当的密码 在我的值文件中,我有如下内容: db: iso: passwordISO dev: passwordDEV sandbox: passwordSANDBOX spec: passwordSPEC val: passwordVAL 在我的consumer_config文件中,我有以

我有几个名称空间(iso、dev、sandbox等),它们对应于我的不同环境。对于每个环境和名称空间,都有一个关联的db。 当我使用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}}}}
给我以下操作数中意外的错误


有关如何执行此操作或任何解决方法的任何见解?

由于Helm基于Go模板语言,Go模板语言中可用的功能可以提供帮助:

{{ index .Values.db .Release.Namespace }}
从文档(go模板文档)中:

索引 返回按索引索引其第一个参数的结果 下面的论点。因此,“索引x123”在Go语法中是, x[1][2][3]。每个索引项必须是映射、切片或数组


因此,在本例中,使用键
.Release.Namespace

索引
.Values.db
,不建议将BD密码存储在helm Values.yaml文件中。相反,在各自的NAMS空间中创建一个包含DB密码的秘密对象,并将其附加到POD。