如何使用helm进行日志记录



有时我想在执行一个helm模板时记录一些东西。在Java中,它看起来像这样:

LOGGER.debbug("My value is {}", value);

有Notes.txt,它在某些情况下可以提供帮助。但是如果我能在模板中右边的位置添加一条用于调试的日志记录语句就好了。

我不相信Helm有任何直接这样的东西:我不认为有一种方法可以在helm install执行时从模板写入任何内容到stdout。

您已经知道NOTES.txt文件。根据您要调试的具体内容,另一种选择是在输出中写入YAML注释:

metadata:
# chart={{ .Chart.Name }} release={{ .Release.Name }}
name: {{ include "mychart.fullname" . }}

Go模板注释{{/* ... */}}将被模板解析器消耗,但Helm并不真正意识到# ...YAML注释,它们将与模板的其余部分一起输出。

如果这是一个新项目,我也会考虑写一个基于go的Kubernetes操作符,而不是一个Helm图表,如果你的安装逻辑是如此复杂,把日志记录在你的模板听起来是个好主意。Go的语法没有那么奇怪,比Helm更容易找到懂Go的人,而且通用的软件生态系统要丰富得多(例如,有几个相当标准的Go日志包)。

最新更新