Helm - 如何从 repo 为 subchart 添加秘密?

问题描述

我从 bitnami 安装了 mongodb chart 如下

helm install mongodb bitnami/mongodb 

创建了这个文件 ./charts/mongodb-10.15.2.tgz

我不明白和找不到的是如何将 Secrets 链接到这些类型的子图表。我知道 values.yaml 可以覆盖子子图。真正让我困惑的是,这个下载的子图表只是编码文件,我完全不知道如何在部署/服务方面弯曲它...

因此,我的问题是,如何为这个子图表(我什么都不知道)提供像 dbpassword、dbroot... 这样的秘密? (我希望这些秘密不是通过 values.yaml 覆盖提供的)

解决方法

当您有子图表时,您可能会将它们映射为 dependency(仔细查看 condition,它将与您在同一父图表的 values.yaml 匹配。),并且here 是您传递子图表值的方式。

现在,我相信您正在使用 this mongodb 图表,如果您想传递密码,您可能需要创建一个 k8s 秘密对象并传递名称 here

现在让我们说, 有一个图表A,MongoDB是图表A的一个子图表, 如果您将 MongoDB 添加为像 this 这样的依赖项,您可以将图表 MongoDB 的配置/值放在 A 值中,就像 this 一样。

现在,对于秘密,MongoDB的values.yaml中有提到,您可以创建一个自定义秘密并在那里传递相同的名称,如果仍然不满意,您可能想传递{{ 3}} 到 MongoDB 图表值。

最重要的是,当您将任何图表定义为依赖项或子图表时,您将知道它是哪个图表以及它采用的值是什么, 您可以在父图表中嵌套相同的值。

当您有更多时间时,您可以花一些时间env vars directly :)