テンプレートのデバッグ

テンプレートのデバッグは、レンダリングされたテンプレートがKubernetes 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解析エラーでブロックされることなく、生成されたコンテンツをすばやく表示できます。