mcpField
H
helm-chart-patterns

helm-chart-patterns

github.com/nickcrewクラウド・DevOps62179 回インストール17 週間前に更新
リポジトリ

helm-chart-patterns について

Kubernetes 向けの本番用 Helm Chart を開発する人のためのガイダンスです。構成、テンプレート、複数環境の設定、依存関係、テスト、配布を扱います。

主な機能

  1. 01Chart の構成と設定パターン
  2. 02Go テンプレートとヘルパー関数
  3. 03複数環境と依存関係の管理
  4. 04ライフサイクルフック
  5. 05検証、テスト、配布

活用シーン

  1. 01再利用可能なアプリケーション Chart の作成
  2. 02開発・ステージング・本番環境の設定
  3. 03配布に向けた Chart のテストとパッケージ化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nickcrew/claude-cortex --skill helm-chart-patterns

インストール後、Claude Code で/helm-chart-patternsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
best-practices.md
chart-structure.md
dependencies.md
helmfile.md
hooks.md
packaging.md
template-patterns.md
testing.md
values-patterns.md

詳細

Helm チャートのパターン

Kubernetes アプリケーションのパッケージ化におけるチャート構造、テンプレートパターン、マルチ環境の設定、依存関係管理、テスト戦略、配布ワークフローを網羅した、本番環境向けの Helm チャート開発に関する専門的なガイダンスです。

このスキルを使用する場面

  • アプリケーションやサービス向けの再利用可能な Helm チャートの作成
  • アプリケーションカタログやチャートリポジトリの構築
  • マルチ環境デプロイ(dev、staging、production)の管理
  • 条件分岐やループを使った高度なテンプレートの実装
  • チャートの依存関係やサブチャートの管理
  • ライフサイクル管理のためのチャートフックの実装
  • チャートテンプレートのテストと検証
  • リポジトリを介したチャートのパッケージ化と配布
  • マルチチャートのオーケストレーションにおける Helmfile の使用

基本概念

チャートの種類
  • アプリケーションチャート:サービス用の標準的なデプロイ可能チャート
  • ライブラリチャート:再利用可能なテンプレートヘルパー(直接インストールすることはできません)
主なファイル
ファイル用途
Chart.yamlメタデータ、バージョン、依存関係
values.yamlデフォルト設定
values.schema.json入力の検証
templates/_helpers.tpl再利用可能なテンプレート関数
templates/*.yamlKubernetes マニフェスト
テンプレートの基本
  • 文字列をクォートする:{{ .Values.name | quote }}
  • 適切にインデントする:{{- toYaml . | nindent 4 }}
  • ヘルパーを使用する:{{ include "my-app.fullname" . }}
  • nil を確認する:{{- if .Values.optional }}

クイックリファレンス

タスク参照先
チャート構造と Chart.yamlskills/helm-chart-patterns/references/chart-structure.md
values ファイルのパターンskills/helm-chart-patterns/references/values-patterns.md
テンプレートのパターンと関数skills/helm-chart-patterns/references/template-patterns.md
依存関係とサブチャートskills/helm-chart-patterns/references/dependencies.md
フックとライフサイクルskills/helm-chart-patterns/references/hooks.md
テストのパターンskills/helm-chart-patterns/references/testing.md
パッケージ化と配布skills/helm-chart-patterns/references/packaging.md
Helmfile によるマルチチャートskills/helm-chart-patterns/references/helmfile.md
ベストプラクティスのチェックリストskills/helm-chart-patterns/references/best-practices.md

ワークフロー

  1. 構造化 - Chart.yaml と values.yaml を含むチャートディレクトリを用意します
  2. テンプレート化 - Go テンプレートを使って Kubernetes マニフェストを作成します
  3. ヘルパー - 共通パターンを _helpers.tpl に切り出します
  4. 検証 - values.schema.json を使って入力を検証します
  5. テスト - lint とテンプレートの実行、およびチャートテストを行います
  6. パッケージ化 - .tgz を作成し、リポジトリに公開します

必須コマンド

# Development
helm create my-app          # Scaffold new chart
helm lint ./my-app          # Validate chart
helm template my-app ./my-app  # Render templates

# Dependencies
helm dependency update      # Download dependencies
helm dependency list        # Show dependencies

# Testing
helm install my-app ./my-app --dry-run --debug
helm test my-app

# Distribution
helm package ./my-app
helm repo index . --url https://charts.example.com
helm push my-app-1.0.0.tgz oci://registry.example.com/charts

よくある間違い

  • テンプレート内の文字列をクォートし忘れる
  • 適切な YAML 形式にするために nindent を使用しない
  • シークレットを values ファイルにコミットする
  • セキュリティコンテキスト(runAsNonRoot、drop capabilities)が不足している
  • 依存関係のバージョンを固定しない
  • values.schema.json による検証を省略する
  • 以前のバージョンからのアップグレードをテストしない

リソース

コメント