【问题标题】:How do I see what custom values were used in a Helm release?如何查看 Helm 版本中使用了哪些自定义值?
【发布时间】:2019-03-01 20:48:43
【问题描述】:

当我使用helm install 将图表安装到 Kubernetes 集群中时,我可以将自定义值传递给命令来配置发布。 helm 必须将它们存储在某个地方,因为我以后可以回滚到它们。但是,我找不到查看已部署版本或以前版本中的值的方法。

我想查看回滚版本时哪些值会发生变化(并确认设置了哪些值)。我认为inspect 或status 可能对此有所帮助,但他们做的事情不同。如何查看实际部署的值?

【问题讨论】:

    标签: kubernetes-helm


    【解决方案1】:

    要查看发布中实际部署的内容,请使用helm get。

    如果您使用helm -n <namespace> get all <release-name>,您将在命名空间<namespace>† 中获得<release-name> 当前版本的所有信息。您可以指定--revision 来获取特定版本的信息,您可以使用这些信息来查看rollback 的效果。

    您可以使用helm -n <namespace> get values <release-name> 只获取使用/计算的值install 而不是整个图表和所有内容,或使用helm -n <namespace> get manifest <release-name> 查看生成的资源配置††。 p>

    此信息的存储位置取决于您使用的helm 的版本:

    • 对于版本 2:它位于名为 <release-name>.<version> 的 configMap 中,位于 kube-system 命名空间中。您可以在here 获得更多详细信息。
    • 对于版本 3,它(默认情况下)位于部署版本的命名空间中名为 <release-name>.<version> 的 secret 中。秘密的内容与helm第2版configMap中的内容大致相同

    †对于helm 版本2,使用helm get <release-name> 而不是helm get all <release-name>

    ††对于helm 版本 2,版本名称必须在集群范围内是唯一的。对于 helm 版本 3,发布名称的范围为命名空间,helm 命令在“当前”命名空间上运行,除非您使用 -n 或 --namespace 命令行选项指定命名空间。

    【讨论】:

    • 别忘了指定命名空间helm get values <release-name> -n NAMESPACE
    • 对于 Helm 3,还需要提供命名空间。从 Helm 3 开始,版本名称不是集群范围的。
    • @YeasinArRahman @weshouman 对于 helm 3,不一定需要指定命名空间。如果您不指定一个,则假定“当前”命名空间(来自 KUBECONFIGcontext)。
    【解决方案2】:

    helm get <release-name> 不再适用于 Helm3。 helm get values <release-name> 确实显示了用于发布的自定义值。注意:要获取所有可能的值以供参考,请使用helm show values <your-chart> - 虽然这不会显示自定义值。

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 1970-01-01
      • 2019-08-15
      • 2020-10-27
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      • 2013-09-03
      • 1970-01-01
      相关资源
      最近更新 更多