helm template で出力を検証する
意図したとおりにマニフェストがレンダリングされることを確認します。
「helm template で出力を検証する」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
実際の出力を確認する
Lintはチャートの構造に問題がないと報告しても、helm templateを使えばKubernetesが実際に受け取るYAMLを確認できます。信頼してから、検証しましょう。👀
ローカルでレンダリングする
helm templateコマンドはクラスターに接続せず、すべてのテンプレートを標準出力にレンダリングします。そのため、完全に安全に実行できます。
helm template myrelease ./mychartマニフェストを読む
レンダリングされた各ファイルは、ソースコメントを伴う---で区切られます。そのため、各マニフェストを生成元のテンプレートまで追跡できます。
# Source: mychart/templates/deployment.yamlValuesを適用する
実際にデプロイする予定の正確なvaluesを使ってレンダリングしてください。--valuesを渡すと、チャートのデフォルト値ではなく本番環境を反映した出力になります。
helm template app ./mychart -f prod-values.yaml1つのValueを上書きする
簡単な実験には--setを使って1つの値を変更し、レンダリングされたYAMLがどのように変わるかをすぐに確認できます。
helm template app ./mychart --set replicaCount=31つのファイルに絞る
大きなチャートでは大量の内容がレンダリングされます。--show-onlyを使えば、1つのテンプレートだけを出力して、余分な内容に惑わされず確認できます。
helm template app ./mychart --show-only templates/service.yaml前回との差分を確認する
変更の前後でレンダリングし、2つの出力を比較します。このdiffによって、編集で変更された箇所を正確に確認できます。
helm template app ./mychart > new.yaml; diff old.yaml new.yamlインデントのバグを発見する
崩れたインデントはlintを通過しても、無効なYAMLを生成することがあります。レンダリングされた出力を読むのが、それを見つける最も早い方法です。
kubectlにパイプする
レンダリングされたYAMLは、クライアント側のkubectlドライランでAPIサーバーに対して検証できます。この方法でも、リソースは何も作成されません。
helm template app ./mychart | kubectl apply --dry-run=client -f -templateとinstallの違い
installとは異なり、helm templateはサーバーによる検証を行わず、クラスターにも何も書き込みません。純粋にローカルでレンダリングするコマンドです。
出力を保存する
エディターで確認したい場合や、レビュー用にプルリクエストへ添付したい場合は、レンダリング結果をファイルにリダイレクトします。
helm template app ./mychart > rendered.yaml確認問題
大きなチャートから、レンダリングされたservice.yamlだけを確認したいとします。どのフラグが役立ちますか。
まとめ
helm templateはvaluesを適用してチャートをローカルでレンダリングでき、--show-onlyをサポートしていること、そしてkubectlのドライランと組み合わせて出力を検証できることを学びました。🎉
よくある質問
「helm template で出力を検証する」レッスンは無料ですか?
はい。「helm template で出力を検証する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「helm template で出力を検証する」で何を学びますか?
意図したとおりにマニフェストがレンダリングされることを確認します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「helm template で出力を検証する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- helm lint による静的チェック
- helm template で出力を検証する
- helm test Case を作成する
- values.schema.json による Schema 検証