验证是否已使用kubernetes helm图表的所有值

时间:2017-11-03 11:47:54

标签: kubernetes kubernetes-helm

我想检查一下我的kubernetes头盔图没有在values.yaml中定义未使用的值。这应该包括任何子图表,如果您在顶级subchart.foo.bar: ???中定义了values.yaml,那么该关键字肯定会在子图中使用,或者可能是{{1}中提到的快捷方式}。

这是为了防止我们在subchart/values.yaml中发送伪造的“文档”,例如,如果子图中的某个键已被更改或删除。

理想情况下,还有可能报告哪些子图值未在顶级图表中被覆盖,尽管这不太重要。

是否有任何现有工具可以帮助解决这个问题?

2 个答案:

答案 0 :(得分:0)

AFAIK,没有这方面的工具。但是,即使使用bash,也不应该难以制作一个。例如,您需要在templates文件夹中以递归方式导出所有键/值对,如test.test1.test2和grep。如果您想使用bash阅读yaml,可以安装shyaml。如果你知道如何用Python编写代码,那就更好了。

答案 1 :(得分:0)

从Helm v3版本开始,您现在可以为定义架构。在helm install之类的命令上,您提供的值将根据模式自动进行验证。

请参阅官方文档:https://helm.sh/docs/topics/charts/#schema-files

架构验证也适用于子图表,上面链接的文档中也提到了这一点。