0Pricing
DevOps Bootcamp · レッスン

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フィードバックを取得できます。ローカル設定は不要です。

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

  1. helm lint による静的チェック
  2. helm template で出力を検証する
  3. helm test Case を作成する
  4. values.schema.json による Schema 検証
← DevOps Bootcampに戻る