ライブラリを依存関係として利用する
ライブラリをアプリケーションチャートに組み込みます。
「ライブラリを依存関係として利用する」はCoddyKit上の無料Helm Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHelm Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Helm Academyコースには全4レッスンが含まれています。
Libraryを依存関係として組み込む
application chartでは、他のサブチャートと同じように、Chart.yamlのdependenciesにLibraryを記載して取り込みます。
# Chart.yaml
dependencies:
- name: common
version: 1.x.x
repository: file://../commonローカルまたはリモートのソースを指定する
repositoryには、開発中はファイルパスを、本番環境ではHTTPまたはOCIのURLを指定できます。どちらもLibraryのテンプレートをチャートに取り込みます。
repository: https://charts.bitnami.com/bitnami
# or file://../commondependency updateでベンダリングする
helm dependency updateを実行すると、Libraryがチャートのディレクトリに取得され、そのバージョンがChart.lockに固定されます。
helm dependency update .
# downloads common into charts/テンプレートが1つの名前空間に統合される
ベンダリングされると、Libraryの名前付きテンプレートはチャートのグローバルなテンプレート名前空間に加わります。自分で記述したかのように呼び出せます。
includeでpartialを呼び出す
includeを使うと、Libraryのテンプレートを独自のマニフェストにレンダリングできます。結果は他の関数にパイプできるテキストとして返されます。
metadata:
name: {{ include "common.fullname" . }}必ずコンテキストを渡す
テンプレート名の後にあるドットは、partialに渡すスコープです。.Valuesや.Releaseを読み取れるように、ルートコンテキストを渡してください。
{{ include "common.labels" . | nindent 4 }}templateよりincludeを優先する
templateとは異なり、includeは文字列を返すため、その結果をindentやnindentにパイプしてYAML内に正しく配置できます。
labels:
{{- include "common.labels" . | nindent 2 }}Libraryはマニフェストを追加しない
Libraryの依存関係を追加しても、それだけでリソースが0個追加されるだけです。何をレンダリングするかは、Libraryのpartialを呼び出す独自のテンプレートが決めます。
リソース全体をレンダリングする
Libraryがオブジェクト全体を定義している場合、テンプレートファイルを、完全なServiceやDeploymentを出力するincludeの1行だけにできます。
# templates/service.yaml
{{ include "common.service" . }}helm templateで確認する
アプリケーションのチャートに対してhelm templateを実行し、Libraryのpartialが解決され、期待したYAMLが生成されることを確認してください。
helm template my-release .Libraryのバージョンを固定する
依存関係を既知のversion範囲に固定し、Libraryの変更によってCIでレンダリング済みマニフェストが予期せず変わらないようにしてください。
dependencies:
- name: common
version: 2.4.0クイックチェック
Libraryのpartialを呼び出し、その結果をnindentにパイプしたい場合、どのディレクティブを使いますか。
まとめ: Libraryを利用する
Libraryをdependenciesに記載し、helm dependency updateを実行してから、includeでpartialを呼び出し、コンテキストを渡します。🔗
よくある質問
「ライブラリを依存関係として利用する」レッスンは無料ですか?
はい。「ライブラリを依存関係として利用する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Helm Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Helm Academyコースには全4レッスンが含まれています。
「ライブラリを依存関係として利用する」で何を学びますか?
ライブラリをアプリケーションチャートに組み込みます。 ブラウザで直接実行するハンズオンコードでHelm Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Helm Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのHelm Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ライブラリを依存関係として利用する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このHelm Academyレッスンでコードを書いて実行できますか?
はい。すべてのHelm Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- ライブラリチャート型の宣言
- 再利用可能な名前付きテンプレートのエクスポート
- ライブラリを依存関係として利用する
- ライブラリのデフォルトをローカルでオーバーライドする