kubernetes秘密中的helm值?

问题描述 投票:0回答:1

我正在使用此图表:https://github.com/helm/charts/tree/master/stable/prometheus-mongodb-exporter

此图表需要MONGODB_URI环境变量或mongodb.uri文件中填充的values.yaml,由于这是一个连接字符串,因此我不想将其检入到git中。我正在考虑kubernetes秘密,并提供kubernetes秘密的连接字符串。我无法成功找到该解决方案。

[我还尝试创建另一个头盔图表,并使用该头盔图表作为该图表的依赖关系,并提供MONGODB_URIsecrets.yaml的值,但这也没有用,因为在prometheus-mongodb-exporter中,MONGODB_URI被定义为必需的值,然后将其传递到该图表内的secrets.yaml文件中,因此从不会安装依赖关系图。

实现此目标的最佳方法是什么?

kubernetes prometheus kubernetes-helm prometheus-operator
1个回答
0
投票

解决方案1:创建自定义图表


  1. 从图表的模板目录中删除secret.yaml
  2. 自行创建k8s secret,可能命名为cumstom-secret
  3. 编辑deployment.yamlhere
       - name: MONGODB_URI
         valueFrom:
           secretKeyRef:
             name: custom-secret ## {{ include "prometheus-mongodb-exporter.fullname" . }}##
             key: mongodb-uri

解决方案2:使用原始图表


  1. mongodb.uri中的value.yaml设置虚拟值。
  2. 使用--set标志在安装图表时用原始值覆盖虚拟值。因此,您的git将没有历史记录。
$ helm install prometheus-mongodb-exporter stable/prometheus-mongodb-exporter --set mongodb.uri=******
© www.soinside.com 2019 - 2024. All rights reserved.