Hooks の仕組みと実行タイミング
pre-install、post-upgrade、すべてのイベントを学びます。
「Hooks の仕組みと実行タイミング」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
フックが存在する理由
データベースへの初期データ投入のように、リリースの正確なタイミングで処理を実行したい場合があります。Helm の hook は、選択したライフサイクルイベントでリソースを実行します。
フックはアノテーションを付けるだけ
フックは、アノテーションを 1 つ追加した通常の Kubernetes マニフェストです。helm.sh/hook アノテーションによって、通常のリリースコンテンツではなく、特別なリソースとして Helm に扱わせます。
metadata:
annotations:
"helm.sh/hook": pre-installinstall イベント
新規インストールの前後では、2 つのイベントが発生します。pre-install はチャートのリソースが作成される前に実行され、post-install は適用された後に実行されます。
"helm.sh/hook": pre-installupgrade イベント
アップグレードにも独自の 2 つのイベントがあります。pre-upgrade はアップグレードが適用される前に発生し、post-upgrade は新しいリソースが配置された後に発生します。
"helm.sh/hook": pre-upgrade,post-upgraderollback イベント
以前のリビジョンにロールバックするときにもフックが実行されます。pre-rollback は元に戻す前に実行され、post-rollback は以前の状態に戻った後に実行されます。
delete イベント
アンインストールでは delete の 2 つのイベントが発生します。pre-delete はリソースが削除される前に実行されるため、先に処理を停止したりバックアップを取ったりできます。
"helm.sh/hook": pre-deletetest イベント
もう 1 つ特別なイベントがあります。test フックはインストール時には発生せず、既存のリリースに対して helm test を呼び出したときだけ実行されます。
"helm.sh/hook": testフックの多くは Job
ほとんどのフックは Kubernetes の Job です。Job は完了まで実行され、成功を報告できるためです。Helm は、リリースを先に進める前にその Job の完了を待ちます。
kind: Job
metadata:
annotations:
"helm.sh/hook": post-installHelm は成功するまで待機する
各 weight について、Helm は次に進む前にフックリソースが準備完了状態になるまで待機します。フックが失敗すると、インストールまたはアップグレード全体が停止します。
通常の追跡対象外
フックリソースは、リリースの通常のライフサイクルの外側で管理されます。チャートとともにアップグレードされないため、個別の削除ポリシーでクリーンアップを管理します。
複数のイベントを組み合わせる
1 つのリソースを複数のタイミングで使うこともできます。post-install,post-upgrade のようにイベントを並べると、初回のインストール後とアップグレード後の両方で同じ Job が実行されます。
"helm.sh/hook": post-install,post-upgradeクイックチェック
チャートを初めて新規インストールした後に Job を実行したいとします。
振り返り
フックは、インストール、アップグレード、ロールバック、削除、テストなどのライフサイクルイベントで実行されるアノテーション付きマニフェストです。Helm は、それぞれが成功するまで待機します。🪝
よくある質問
「Hooks の仕組みと実行タイミング」レッスンは無料ですか?
はい。「Hooks の仕組みと実行タイミング」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「Hooks の仕組みと実行タイミング」で何を学びますか?
pre-install、post-upgrade、すべてのイベントを学びます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Hooks の仕組みと実行タイミング」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Hooks の仕組みと実行タイミング
- データベース移行用の pre-upgrade Job
- Hook の Weight と実行順序
- Hook の削除ポリシー