调试模板

调试模板可能很棘手,因为渲染后的模板会被发送到 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 解析错误的阻碍。