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を記述しないことです。