0Pricing
DevOps Bootcamp · レッスン

ライブラリを依存関係として利用する

ライブラリをアプリケーションチャートに組み込みます。

「ライブラリを依存関係として利用する」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全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://../common

dependency 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チューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「ライブラリを依存関係として利用する」で何を学びますか?

ライブラリをアプリケーションチャートに組み込みます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。

「ライブラリを依存関係として利用する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ライブラリチャート型の宣言
  2. 再利用可能な名前付きテンプレートのエクスポート
  3. ライブラリを依存関係として利用する
  4. ライブラリのデフォルトをローカルでオーバーライドする
← DevOps Bootcampに戻る