调试模板
调试模板可能很棘手,因为渲染后的模板会被发送到 Kubernetes API 服务器,而 API 服务器可能会由于格式以外的原因而拒绝 YAML 文件。
有一些命令可以帮助您进行调试。
helm lint
是您用于验证图表是否遵循最佳实践的工具。helm template --debug
将在本地测试渲染图表模板。helm install --dry-run --debug
也会在本地渲染您的图表,但不会安装它,但它也会检查集群中是否正在运行冲突的资源。设置--dry-run=server
将另外在您的图表中执行任何lookup
操作,以指向服务器。helm get manifest
:这是一个查看服务器上安装了哪些模板的好方法。
当您的 YAML 无法解析,但您想查看生成的內容时,一种简单的方法是将模板中的问题部分注释掉,然后重新运行 helm install --dry-run --debug
。
apiVersion: v2
# some: problem section
# {{ .Values.foo | quote }}
以上内容将被渲染并返回,并包含注释。
apiVersion: v2
# some: problem section
# "bar"
这提供了一种快速查看生成内容的方法,而不会受到 YAML 解析错误的阻碍。