Kustomize とは
Kubernetesマニフェストのカスタマイズ
Kustomize は、テンプレートを使用せずにKubernetesマニフェストをカスタマイズするためのツールです。バージョン1.14以降、kubectlに組み込まれています。
コアコンセプト
- Base — ベースアプリケーションマニフェスト
- Overlay — 異なる環境用の変更レイヤー
- Patches — 特定フィールドへの変更
- Kustomization.yaml — 設定ファイル
主な機能
- 宣言的な構成管理
- オリジナルを変更せずに変更を適用
- ConfigMapとSecretの生成
- プレフィックスとラベルの追加
- 複数環境の管理
Helmに対する利点
- ネイティブなkubectl統合
- テンプレートなしの純粋なYAMLで作業
- 小規模プロジェクトにはシンプル
- 追加ソフトウェアのインストール不要
- 理解とデバッグが容易
DevOps適用
- dev/staging/prod構成の分離
- シークレットと環境変数の管理
- GitOpsによるCI/CDパイプライン
- 複数クラスターへのスケーリング
- インフラストラクチャのバージョン管理