Helmチャートの管理
Helmチャートは、多数のイメージのコンテナとして機能するアーティファクトの形式です。アーティファクトのスキャンを支援するために、helmチャートが有効であることを確認してください。
脆弱性スキャン・サービス・スキャンはコンテナ検証に使用されます。詳細は、スキャンの概要および脆弱性レポートを参照してください。
helmチャートのvalues.yamlの値の例を次に示します。
oci_meta:
repo: default.foo.local.io
images:
foo:
image: foo
tag: 1.1
bar:
image: bar
tag: 1.2
コンテナは、helmチャート構成yamlファイルで次のように参照されます。
.....
containers:
- name: {{ .Chart.Name }}-xyz
image: "{{ .Values.oci_meta.repo }}{{ .Values.oci_meta.images.foo.name }}:{{ .Values.oci_meta.images.foo.tag }}"
.....
検証およびエラー・コード
検証スキャンは、ヘルム・チャートで関連する問題の書式設定を検証するのに役立ちます。検証タイプには次のものがあります。
- HELM_SYSTEM_ERROR
これはシステム関連のメッセージで、helmチャートをプルアップしようとすると表示されます。
- HELM_LINTER
このメッセージは、チャートでhelm提供のlinterを実行しようとしたときに表示されます
- HELM_VALUES
このメッセージは、値属性検証に関するもので、詳細は次のフィールド検証を参照するように表示されます。
- HELM_TEMPLATE
この検証は、values.yamlのoci_metaに記載されているコンテナと比較して、テンプレートで行われたコンテナ参照をチェックするためのものです。
helm値のフィールドと説明は次のとおりです。
oci_meta
- Values.yamlの属性の存在を表しますoci_meta.repo
- フィールドを空にしたり、ocir.io参照のみを持つことができます。oci_meta.images
- 1つ以上のエントリを持つ属性の存在を表します。oci_meta.images[*].image
- 属性の存在を表し、空ではありません。oci_meta.images[*].tag
- 属性の存在を表し、空ではありません。
helmチャートには、多数のkubernetes構成ファイルと1つ以上のValues.yamlファイルがあります。kubernetes構成ファイルでは、values.yamlファイルへの正しい参照が必要です。helmテンプレートの説明は次のとおりです。
- チャート・テンプレート仕様から
containers.image
で値を取得し、その存在をチェックします。Values.oci_meta.kubernetes構成yamlでは、参照は'oci_meta'という名前のvalues.yamlファイルに存在します。
- チャート・テンプレート仕様から
containers.image
で値を取得し、Values.oci_metaのみを参照する必要があります。kubernetes構成yamlでは、参照はoci_metaからのみ取得する必要があります。
- Values.yamlファイルで参照されるイメージは、Publisherのhelmアーティファクトの詳細でイメージ・マップの一部として表示されます。
エラー・タイプ | エラー・コード | 内容 | 検証 | Publisherエラー | ガイド |
---|---|---|---|---|---|
HELM_SYSTEM_ERROR | なし | helmチャートのプルアップに失敗しました。 | なし | 番号 | なし |
HELM_SYSTEM_ERROR | なし | チャートのロードに失敗しました。 | なし | 番号 | なし |
HELM_LINTER | HELM_LINTER_ERROR | Helm Linterが失敗しました。 | インター | Yes | 詳細は、Helm Lintを参照してください。 |
HELM_VALUES | OCI_META_EMTPY | values.yamlにoci_meta属性がありません。 | 値 | Yes | values.yamlにはoci_meta属性が必要です。 |
HELM_VALUES | OCI_META_READ_ERROR | oci_metaの読取り中にエラーが発生しました。 | 値 | Yes | oci_metaのフォーマットが正しくありません。 |
HELM_VALUES | OCI_META_REPO_NOT_OCIR | リポジトリ値がocir.ioではありません。 | 値 | Yes | リポジトリはocir.ioでホストされていません。 |
HELM_VALUES | OCI_META_IMAGES_EMPTY | 空のイメージ・リスト。 | 値 | Yes | イメージ・リストは必須です。 |
HELM_VALUES | OCI_META_IMAGES_IMAGE_EMPTY | イメージのエントリが空です。 | 値 | Yes | イメージ名のエントリが空です。 |
HELM_VALUES | OCI_META_IMAGES_TAG_EMPTY | タグのエントリが空です。 | 値 | Yes | タグ・エントリが空です。 |
HELM_TEMPLATE | なし | テンプレートの解析中にエラーが発生しました。 | テンプレート | はい/いいえ | テンプレートにエラーがないか確認する必要があります。yamlテンプレートでvalues.yamlを置換し、このエラーの原因を試みます。 |
HELM_TEMPLATE | HELM_TEMPLATE_IMAGE_REFERENCES | イメージ参照が一致しません。 | テンプレート | Yes | yamlテンプレートで参照されるイメージは、values.yamlのoci_metaに記載されているイメージの一部ではありません。 |