Helm 3.0 - 10 / Chart Tests
Page content
Helm3について その10
今日は ここChart Tests
チャートのテスト
チャートのテストを使う理由は主に3つあるように思う。
- (利用者) Helmを使ってインストールしたリリースの正常性確認
- (作成者) 正しくValues等が Injectされるかどうかの確認
- (利用者) チャート製作者の実装意図の理解を助ける
テストの実体
Hookの仕組みを使って 実装する。
annotations:
"helm.sh/hook": test
このアノテーションを持つ Jobは、 テストに成功したら 終了コード 0 で終わるようにコンテナにする
テストの実行
「あるリリースに対してテストを行う」事を指示する。
helm test RELEASE_NAME
テストの書き方
annotationを付けて普通にJobとして定義する
apiVersion: batch/v1
kind: Job
metadata:
name: "{{ .Release.Name }}-TEST-CASE-NAME"
annotations:
"helm.sh/hook": test
spec:
template:
spec:
containers:
- name: main
image: {{ .Values.image }}
command: ["sh", "-c", "DEFINE SOME TESTS HERE"]
restartPolicy: Never