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に記載されているイメージの一部ではありません。