helm test Case を作成する
稼働中の Release を検証するテスト Pod を作成します。
「helm test Case を作成する」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
稼働中のリリースをテストする
Lintとtemplateはファイルをチェックしますが、helm testはクラスターですでに実行中のリリースをチェックします。アプリケーションが実際に動作することを確認できます。✅
テストはPodとして定義する
Helmのテストは、チャートのtemplatesディレクトリに定義するPodです。Helmは要求されたときに実行し、終了コードで成功を判定します。
テストのアノテーション
helm.sh/hook: testアノテーションを追加すると、Podをテストとして指定できます。Helmはinstall時にはそれをスキップし、要求されたときだけ実行します。
annotations:
"helm.sh/hook": testシンプルな接続テスト
一般的なテストでは、busyboxのような小さなイメージでwgetを実行し、サービスがポートで応答することを確認します。
command: ['wget']
args: ['myapp:80']終了コードで判定する
テストPodが0で終了すれば、テストは成功です。0以外の終了コードは、シェルコマンドの場合と同じように失敗を示します。
テストを実行する
インストール後、リリース名を指定してhelm testを実行します。HelmはテストPodを作成して待機し、それぞれの結果を報告します。
helm test myreleaseログを確認する
--logsを追加すると、各テストPodの出力がストリーム配信されます。失敗したことだけでなく、何が問題だったのかも確認できます。
helm test myrelease --logs必要なときにテストする
テストはinstall中に自動実行されません。自分で実行することで、インストールを速く保ち、テストを明示的に実行できます。
テストPodをクリーンアップする
hook-delete-policyを追加すると、終了したテストPodが削除され、実行するたびにnamespaceが不要なリソースで埋まるのを防げます。
"helm.sh/hook-delete-policy": hook-succeededテストの配置場所
慣例として、テストPodはtemplates/tests/に配置します。これにより、実際のワークロードのマニフェストと分けて整理できます。
CIの一部にする
パイプラインでは、チャートをインストールしてからhelm testを実行します。テストが失敗するとジョブも失敗するため、ユーザーが気付く前に壊れたデプロイを検出できます。
確認問題
Helmは、テストPodが成功したかどうかをどのように判定しますか。
まとめ
helm testは、アノテーションが付いたテストPodを稼働中のリリースに対して実行し、終了コードで判定すること、そしてCIに簡単に組み込めることを学びました。🎉
よくある質問
「helm test Case を作成する」レッスンは無料ですか?
はい。「helm test Case を作成する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「helm test Case を作成する」で何を学びますか?
稼働中の Release を検証するテスト Pod を作成します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「helm test Case を作成する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- helm lint による静的チェック
- helm template で出力を検証する
- helm test Case を作成する
- values.schema.json による Schema 検証