Chart バージョン 2.x のみ
additionalManifests 機能は、サブチャートベースの v2.x Helm チャートでのみ利用できます。additionalManifests を使うと、ClickStack チャートとあわせて任意の Kubernetes オブジェクトをデプロイできます。これは、チャートが標準ではテンプレート化していないリソース (NetworkPolicy、HorizontalPodAutoscaler、ServiceAccount、PodMonitor、カスタム Ingress オブジェクトなど) や、その他の Kubernetes API オブジェクトをデプロイする場合に利用します。
仕組み
additionalManifests の各エントリは、完全な Kubernetes リソース定義です。このチャートでは、次の処理が行われます。
- リスト内の各エントリを順番に処理する
- エントリを YAML に変換する (
toYaml) - Helm の
tplを使って、その YAML 内のテンプレート式を評価する
.Release.Name,.Release.Namespaceinclude "clickstack.fullname" .とそのほかのチャートヘルパー.Values.*
値ファイルの制約
additionalManifests は values ファイルで設定され、values ファイルは tpl が実行される前に YAML として解析されます。
- values ファイル内の
{{ ... }}は、必ず引用符で囲まれた文字列内に記述する必要があります - 構造的なテンプレートブロックは、有効な values ファイルの YAML ではありません (たとえば、
{{- include ... | nindent ... }}のみを記述した場合) - 文字列以外のフィールド (たとえば数値のポート) には、リテラル値または名前付きポートを使用してください
- 構造的なテンプレートが必要な場合は、生の values ファイルではなく、ラッパーチャートのテンプレートを使用してください
利用可能なチャートヘルパー
templates/_helpers.tpl で定義されています。
例
ServiceAccount
NetworkPolicy
HorizontalPodAutoscaler
PodMonitor (Prometheus Operator)
AWS ALB イングレス
TargetGroupBinding
TargetGroupBinding リソースが必要な ALB の構成では、
高度な使い方: ラッパーチャートテンプレート
include "clickstack.labels" . | nindent 4 のような構造用ヘルパーが必要な場合は、それらのブロックを values ファイルに直接記述するのではなく、ラッパーチャートテンプレート (templates/*.yaml) からレンダリングしてください。
ラッパーチャートテンプレートのスニペット例:
ヒント
Helm フック
additionalManifests エントリは、個別の YAML ドキュメントとしてレンダリングされます。インストール時やアップグレード時の順序を制御するために、Helm フックのアノテーションを追加できます。
CRD の順序
PodMonitor) が含まれる場合は、インストールまたはアップグレードの前に、その CRD があらかじめクラスター内に存在している必要があります。
複数のリソースを組み合わせる
additionalManifests はリストです。各エントリはリストの順にレンダリングされ、それぞれが独立した YAML ドキュメントになります。
次のステップ
- メインの Helm ガイド - 基本インストール
- 設定ガイド - API キー、シークレット、イングレス
- Cloud デプロイ - GKE、EKS、AKS の設定
- ClickStack Helm チャートのリポジトリ - チャートのソースコードと values のリファレンス