KustomizeのComponent機能で環境に応じたmanifestファイルを生成する方法
KustomizeのComponent機能を使うと、特定の環境に対して一連のマニフェストを生成することができます。
今回はComponent内のmanifestファイルを環境に応じて変える方法を紹介します。
言葉では伝わりづらいかと思うのでファイルツリーを載せます。
├── base │ └── kustomization.yaml ├── components │ └── my-component │ ├── base │ │ ├── deployment.yaml │ │ └── kustomization.yaml │ └── overlays │ ├── development │ │ ├── deployment-patch.yaml │ │ └── kustomization.yaml │ └── production │ └── kustomization.yaml └── overlays ├── development │ └── kustomization.yaml └── production └── kustomization.yaml
このような構成にすることで、my-component
というComponentのmanifestファイルをdevelopmentとproductionで生成内容を変えることができます。
Manifestファイルの生成方法は、 普段と変わらず
kustomize build overlays/development
や
kustomize build overlays/production
です。
具体的なサンプルは以下のリポジトリにあるので参考にしてみてください。 github.com
ポイントはcomponents/my-component/base/kustomization.yaml
ファイルにkind: Component
を記述しないことです。