template と include で Partial を挿入する
include は Pipeline と組み合わせられますが、template はできない理由を学びます。
「template と include で Partial を挿入する」はCoddyKit上の無料Helm Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHelm Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Helm Academyコースには全4レッスンが含まれています。
パーシャルを呼び出す
定義したパーシャルは、呼び出すまで何もしません。Helm には、そのための2つのアクション、templateとincludeがあります。
template アクション
templateアクションは、名前付きパーシャルをインラインでレンダリングします。パーシャルの名前と、パーシャルが読み取るスコープオブジェクトを渡します。
{{ template "mychart.labels" . }}template に制限がある理由
templateアクションは式ではなく、文です。その出力はドキュメントへ直接送られるため、他の関数にパイプできません。
include の登場
Helm は、この制限を解決するためにinclude関数を追加しています。include は同じパーシャルをレンダリングしますが、結果を変換可能な文字列として返します。
{{ include "mychart.labels" . }}include はパイプラインと組み合わせられる
includeは値を返すため、indent や nindent のような関数へパイプできます。これが、チャートでほとんどの場合 include が好まれる理由です。
{{ include "mychart.labels" . | indent 4 }}本当の理由はインデント
挿入する YAML は、正しいインデント位置に配置する必要があります。includeだけが nindent にパイプできるため、常に正しくネストされた出力を生成できます。
metadata:
labels:
{{- include "mychart.labels" . | nindent 4 }}スコープ引数
パーシャル名の後にあるドットは、パーシャルへ渡すscopeです。ルートのドットを渡すと、パーシャルから .Values と .Release を読み取れます。
{{ include "mychart.fullname" . }}名前を構築するヘルパー
ここではパーシャルが名前を返し、Deployment がincludeを使ってその名前を metadata に挿入しています。1つの信頼できる情報源を、多くの呼び出し元で共有できます。
metadata:
name: {{ include "mychart.fullname" . }}template にも使い道がある
templateは現在でも使われています。多くの場合、パイプを使う必要がなく、それ自体で独立した行に完全なブロックを出力するパーシャルに使用されます。
{{ template "mychart.notes" . }}目安
出力にインデントや後処理が必要な場合は、includeを使ってください。単純なtemplateアクションは、本当にその必要がない場合だけ使用してください。
レンダリングして確認する
helm template .を実行し、想定どおりのインデントでpartialが展開されていることを確認してください。ここでよくある間違いは、YAMLの位置がずれることです。
helm template my-release .クイックチェック
partialをレンダリングして、labelsキーの下にインデントする必要があります。どのアクションを使えばよいでしょうか。
まとめ: templateとinclude
どちらもpartialを呼び出しますが、includeはパイプに渡せる文字列を返すのに対し、templateはインラインに出力するだけです。整ったYAMLには、nindentと組み合わせたincludeを優先してください。✨
よくある質問
「template と include で Partial を挿入する」レッスンは無料ですか?
はい。「template と include で Partial を挿入する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Helm Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Helm Academyコースには全4レッスンが含まれています。
「template と include で Partial を挿入する」で何を学びますか?
include は Pipeline と組み合わせられますが、template はできない理由を学びます。 ブラウザで直接実行するハンズオンコードでHelm Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Helm Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのHelm Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「template と include で Partial を挿入する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このHelm Academyレッスンでコードを書いて実行できますか?
はい。すべてのHelm Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- define で Partial を定義する
- template と include で Partial を挿入する
- 標準の Fullname と Labels Helper
- 名前付き Template に Scope を渡す