Kustomize
https://gyazo.com/b6e8260f61dba3cfb77f83bf8aa4ada4
Kubernetes manifestを環境ごとに柔軟にカスタマイズできるツール
website
github
Kustomizeを使う前後の例を読んで構造を捉える
kustomization.yaml
はじめに · The Kubectl Book 日本語訳
#wip
yamlの認知コストが高すぎて辛いmrsekut.icon
むしろ使わないほうがシンプルな可能性すらあるのでは?という気もする
dev/prdの2環境ぐらいなら、使わないほうがマシ無きもする
同じ内容を二度書く必要はあるが、むしろそっちのほうがマシでは
https://kubectl.docs.kubernetes.io/references/kustomize/glossary/#kustomization
https://kubectl-book-ja.netlify.app/pages/app_composition_and_deployment/structure_directories
けっこう正気?という図が出てくる
https://kubectl-book-ja.netlify.app/pages/app_composition_and_deployment/structure_multi_tier_apps
https://azukiazusa.dev/blog/what-is-kustomize/
GPT-4.icon
環境ごとの差分管理
Kustomizeのbase/
共通設定
Kustomize/overlays/
環境固有の設定
🛠️ 基本的なコマンド
マニフェストのビルド(確認):
$ kubectl kustomize overlays/dev
λ kubectl kustomize
マニフェストの適用:
$ kubectl apply -k overlays/dev
差分の確認:
$ kubectl diff -k overlays/dev
これらのコマンドにより、環境ごとの設定差分を効率的に管理できます。 (Zenn)
🔧 具体的なユースケース
環境ごとの設定変更: 開発・ステージング・本番など、各環境で異なる設定(例:replica数、リソース制限)を適用できます。
共通設定の再利用: baseディレクトリに共通設定をまとめることで、設定の重複を避け、保守性を向上させます。
CI/CDとの統合: GitOpsツール(例:Argo CD、Flux)と組み合わせて、継続的デリバリーを実現できます。 (AzukiAzusa Tech Blog, Qiita, Zenn)
Kustomizeは、Helmのようなテンプレートベースのツールとは異なり、宣言的でシンプルな構成管理を提供します。特に、環境ごとの微妙な差分を管理したい場合や、テンプレートエンジンを避けたい場合に適しています。詳細な情報やドキュメントは、公式サイト(https://kustomize.io/)をご参照ください。(Wallarm | Advanced API Security)
https://atmarkit.itmedia.co.jp/ait/articles/2101/21/news004.html
https://speakerdeck.com/hhiroshell/kustomize-deep-dive
configMapGenerator