Awesome Kustomize
Kustomizeを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
概要
Kustomize は独立したバイナリとして動作し、v1.14 以降の kubectl にも組み込まれています。Helm Chart のような既製アプリケーションとともに使用できます。また、ArgoCD、Flux などの各種 GitOps ツールと深く統合されています。
プラグイン
Kustomize には generator、transformer、validator の3種類のプラグインがあります。
注記
プラグイン開発者には、新しいプラグイン標準である KRM Functionへの対応を強く推奨します。
Generator
- Secretize - さまざまなソースから Kubernetes Secret を生成。Kubernetes Secret 向けの万能ナイフのようなツール(コンテナー化 KRM、Exec KRM、Exec)。
- SopsSecretGenerator - sops で暗号化したファイルから Secret を生成(Exec KRM、Exec)。
- KSops - sops で暗号化したファイルから Secret を生成(Exec)。
- PolicyGenerator - Open Cluster Management ポリシーを生成(Exec)。
- KRMFfnBuiltin - 組み込み Generator と Transformer を実行(Exec)。
- Merger - スキーマなしの StrategicMerge で Kustomize のマージ戦略を拡張し、マニフェストを円滑に生成(コンテナー化 KRM、Exec KRM)。
Transformer
- HelmValuesTransformer - HelmRelease CustomResource の値を変換。多数の HelmRelease 値を一つの Transformer ファイルで管理できます(Exec)。
- TemplateTransformer - 組み込み Transformer をその場で実行する KRM Function 群を提供(コンテナー化 KRM、Exec KRM)。
Validator
- KubeconformValidator - 組み込み Kubeconform を使って Kubernetes マニフェストを検証(コンテナー化 KRM、Exec KRM)。
ガイド
📰 記事、📺 動画、🧪 ラボなど、レベルや種類別の Kustomize ガイド。
初級
- 📰 Kustomize を使った Kubernetes オブジェクトの宣言的管理 - Kustomize に関する Kubernetes 公式ドキュメントのタスク。
- 📰 Kustomize で Kubernetes を設定 - Kustomize の開始、想定ユースケースの理解、他の Google Cloud ツールとともに使うリソースの発見に役立つガイド。
- 📺 Kustomize で散らかった YAML を整理 - サービスや環境が増える中で、Kustomize が Kubernetes YAML ファイルの管理にどう役立つかを示す講演。
- 📺 Kustomize:テンプレートなしの YAML でアプリをデプロイ - デプロイをテンプレートなしの YAML で記述できる宣言的アプリケーション管理システム Kustomize の紹介。
中級
- 🧪 ArgoCD GitOps チュートリアル - Kustomize の使用 - GitOps での Kustomize 利用、構文、Kustomize 対応アプリのデプロイを扱うハンズオンラボ。
- 📰 既製 Helm Chart を Kustomize でカスタマイズする3つの方法 - Kustomize と Helm を併用する3つの方法を扱うガイド。
- 📰 Cluster API で Kustomize Component を使用 - Kustomize Component の分かりやすいユースケース。
上級
- 📰 Kustomize の高度な機能 - 5つ以上の高度な Kustomize 機能を扱うガイド。
- 📰 Kubernetes Custom Resource の OpenAPI パッチ戦略を設定 - CRD のパッチ戦略を制御するスキーマの提供方法を示すガイド。
- 📺 クライアント側 Custom Resource で Kustomize をカスタマイズ - 一般的ながら固有性の高いアプリケーション要件へ対応するため、プラグインで Kustomize を拡張する方法を扱う講演。
- 📺 YAML を自分のものに:プラグインで Kustomize を拡張 - Kustomize 外部プラグインを使って Custom Resource を作成する方法を示す講演。
- 📰 KRM Function による Kustomize の強化 - KRM の概念と Kustomize プラグインでの利用法を詳しく扱うガイド。
ヒントとコツ
- 📰 Kustomize Base からマニフェストを削除 - Kustomize Patch で名前付きマニフェストを削除する便利な方法。
- 📰 単一リソースへ Kustomize 組み込み Transformer を適用 - 特定のリソースで内部 Transformer を使う方法。
- 📰 コンテナー化 KRM Function へ追加データを渡す - コンテナー化 KRM Function とデータを共有するさまざまな事例。
スニペット
スニペットは、日常的な操作に役立つ Kustomize のユースケース別サンプルです。
- Pod Security Context を追加 - Security Context が Pod 内のコンテナーへ追加されるようにします。
その他
- Asdf-kustomize - asdf バージョンマネージャー向け Kustomize プラグイン。
関連リスト
- Awesome Kubernetes - 優れた Kubernetes リソースを厳選したリスト。
- Awesome Kubectl plugins - 優れた Kubectl プラグインを厳選したリスト。
- Awesome Helm - 優れた Helm Chart とリソースを厳選したリスト。