ライブラリチャート型の宣言
type を library に設定した場合の制約を学びます。
「ライブラリチャート型の宣言」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
2種類のチャート
すべてのHelmチャートはChart.yamlでtypeを宣言します。デフォルトはapplicationですが、テンプレートロジックの共有だけを目的とするもう1つのtypeもあります。
# Chart.yaml
apiVersion: v2
name: my-app
type: applicationLibrary Chartを使う
type: libraryを設定すると、そのチャートはインストールするものではなくなります。他のチャートが再利用できる名前付きテンプレートのツールボックスになります。
# Chart.yaml
apiVersion: v2
name: common
version: 0.1.0
type: libraryLibrary Chartは何もレンダリングしない
Library Chartは単独ではKubernetesオブジェクトを生成しません。レンダリング時に利用側のチャートが呼び出すテンプレートを定義するだけです。
インストールはできない
Library Chartに対してhelm installを実行すると失敗します。デプロイするものがないため、Helmは仕様上このコマンドを拒否します。
helm install c ./common
# Error: library charts are not installableトップレベルのtemplates出力はない
Library Chartのtemplatesフォルダー内のファイルはマニフェストとしてレンダリングされません。partialだけを定義し、YAMLを直接出力してはいけません。
アンダースコアの慣例
Helmはアンダースコアで始まるtemplates内のファイルをスキップします。Libraryのテンプレートファイルには、レンダリング対象にならないように_deployment.tplのような名前を付けます。
common/
Chart.yaml
templates/
_deployment.tplapiVersion v2が必須
Library ChartはapiVersion: v2でのみ使用できます。Helm 2時代のv1チャートには、そもそもLibraryというtypeの概念がありませんでした。
# Chart.yaml
apiVersion: v2
type: library通常のチャートと同じようにバージョン管理する
Libraryにも、利用側が固定できるようversionフィールドが必要です。単なるフォルダーではなく、正式なリリース成果物として扱ってください。
# Chart.yaml
name: common
version: 1.2.0
type: libraryLibrary typeを使う理由
同じDeploymentのYAMLを10個のチャートにコピーする代わりに、Libraryに一度だけ記述し、すべてのチャートから取り込めます。
Bitnami Commonは代表的な例
広く使われているbitnami/commonチャートはLibraryです。数百のチャートが、共有ラベル、名前、イメージ用ヘルパーのために依存しています。
ApplicationとLibraryを比較する
applicationチャートはワークロードをデプロイし、libraryチャートはテンプレートを提供するだけです。Helmがどちらとして扱うかは、1つのtypeフィールドで決まります。
type: application # installs resources
type: library # shares templatesクイックチェック
Chart.yamlでtype: libraryを設定しました。この状態でhelm installを実行するとどうなりますか。
まとめ: Library Chartのtype
type: libraryのチャートは何もレンダリングせず、インストールもできません。他のチャートが再利用する名前付きテンプレートをパッケージするためだけに存在します。📦
よくある質問
「ライブラリチャート型の宣言」レッスンは無料ですか?
はい。「ライブラリチャート型の宣言」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「ライブラリチャート型の宣言」で何を学びますか?
type を library に設定した場合の制約を学びます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「ライブラリチャート型の宣言」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。