【问题标题】:helm values from kubernetes secrets?来自 kubernetes 秘密的掌舵值?
【发布时间】:2020-05-19 21:46:33
【问题描述】:

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

此图表需要MONGODB_URI 环境变量或mongodb.uri 填充在values.yaml 文件中, 由于这是一个连接字符串,我不想将其签入 git。 我正在考虑 Kubernetes 机密并提供来自 Kubernetes 机密的连接字符串。我一直没能成功找到这个的解决方案。

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

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

【问题讨论】:

    标签: kubernetes prometheus kubernetes-helm prometheus-operator


    【解决方案1】:

    解决方案 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. value.yaml 中为mongodb.uri 设置一个虚拟值。
    2. 在安装图表时使用--set 标志用原始值覆盖虚拟值。所以,你的git 不会有历史记录。
    $ helm install prometheus-mongodb-exporter stable/prometheus-mongodb-exporter --set mongodb.uri=******
    

    【讨论】:

    • 所以我必须在创建自定义图表时复制原始图表?无法创建将原始图表添加为依赖项的自定义图表?
    • @AsavPatel 不,我的意思是自定义图表,将图表复制到某个目录,进行编辑。然后从那里部署它。只需转到图表目录并使用helm install <name> <chart-name> 。无需使用repo 名称,如stable
    • 旁注。 Set 命令会将值存储在 config-map 中,而不是 secret。
    猜你喜欢
    • 2019-03-15
    • 2017-04-08
    • 1970-01-01
    • 2022-10-14
    • 2018-12-11
    • 2019-03-02
    • 2020-10-17
    • 2019-10-07
    • 1970-01-01
    相关资源
    最近更新 更多