helm dependency update で Vendor 化する
charts ディレクトリと Chart.lock を構築します。
「helm dependency update で Vendor 化する」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
宣言からダウンロードまで
Chart.yaml に依存関係を一覧にしました。ここで helm dependency update を実行すると、実際に依存関係が取得され、チャート内に配置されます。
helm dependency update ./mychartcharts/ ディレクトリ
取得したサブチャートは、テンプレートの隣にある charts/ フォルダーに配置されます。Helm は、チャートとともにこの中のすべてをパッケージ化してレンダリングします。
mychart/
Chart.yaml
values.yaml
charts/
postgresql-15.5.0.tgzサブチャートはアーカイブとして取得される
デフォルトでは、各依存関係は charts/ 内に圧縮された .tgz アーカイブとして保存されます。Helm はインストール時とレンダリング時に自動的に展開します。
Chart.lock に正確なバージョンが記録される
update を実行すると、解決された正確なバージョンとダイジェストを固定した Chart.lock ファイルが書き込まれます。これが、ビルドを再現可能にするロックファイルです。
dependencies:
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 15.5.0ロックファイルをコミットする
Chart.lock は Git にコミットしてください。そうすれば、チームメンバーや CI はそれぞれ独自にバージョンを変化させるのではなく、まったく同じバージョンを解決できます。
build と update の違い
helm dependency build は、Chart.lock にすでに固定されているバージョンをインストールします。一方、update は Chart.yaml から再度解決し、ロックファイルを書き換えます。
helm dependency build ./mychartbuild を使うタイミング
CI では通常、dependency build を使うのが適しています。コミット済みのロックファイルを信頼するため、パイプラインによってサブチャートが意図せずアップグレードされることがありません。
取得した依存関係を一覧表示する
helm dependency list を実行すると、宣言された各依存関係とそのステータスを確認できます。charts ディレクトリが Chart.yaml と一致しているかどうかも表示されます。
helm dependency list ./mychartリポジトリにアクセスできる必要がある
update は各 repository に接続してチャートをダウンロードします。HTTP リポジトリの場合は、Helm が @alias を解決できるように、先に helm repo add が必要になることがあります。
charts/ をベンダー管理するか無視する
チームによってはオフラインビルドのために charts/ アーカイブをコミットし、あるいは charts/ を gitignore に追加して CI で Chart.lock から再構築します。どちらかを選び、一貫して運用してください。
バージョン編集後に再実行する
Chart.yaml のバージョンを変更したら、必ず dependency update を再実行してください。そうしないと、charts/ と Chart.lock が古いままになり、互いに一致しなくなります。
クイックチェック
CI で、チームメンバーがコミットしたサブチャートの正確なバージョンをビルドする必要があります。どのコマンドが最適でしょうか。
振り返り: 依存関係のベンダー管理
dependency update が charts/ を作成して Chart.lock を書き込み、build がそのロックを再現することを学びました。再現可能なインストールのためにロックファイルをコミットしてください。🔒
よくある質問
「helm dependency update で Vendor 化する」レッスンは無料ですか?
はい。「helm dependency update で Vendor 化する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「helm dependency update で Vendor 化する」で何を学びますか?
charts ディレクトリと Chart.lock を構築します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「helm dependency update で Vendor 化する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Chart.yaml で依存関係を宣言する
- helm dependency update で Vendor 化する
- 親の Values から Subchart を設定する
- Conditions、Tags、Global Values