kustomize all the things

managing k8s configs with kustomize

SEAN K.H. LIAO

kustomize all the things

managing k8s configs with kustomize

kustomize is a cli built in (-ish) to kubectl that allows for more complicated workflows

As luck would have it, I decided to start using it one day after the v0.2.1 release, bleeding edge, yay no docs

magic and faerie dust

kustomize understands k8s config files, at least the non CRD kinds.

so it:

dir layout

service-root
├── base
│  ├── config.yaml
│  ├── deployment.yaml
│  ├── ingress.yaml
│  ├── kustomization.yaml
│  └── service.yaml
├── config.yaml
├── ingress.yaml
├── kustomization.yaml
├── preemptible.yaml
└── resources.yaml

or if you have multiple deployments

service-root
├── base
│  ├── config.yaml
│  ├── deployment.yaml
│  ├── ingress.yaml
│  ├── kustomization.yaml
│  └── service.yaml
└── overlays
   ├── deployment-1
   │  ├── config.yaml
   │  ├── ingress.yaml
   │  ├── kustomization.yaml
   │  ├── preemptible.yaml
   │  └── resources.yaml
   └── deployment-2
      ├── config.yaml
      ├── ingress.yaml
      ├── kustomization.yaml
      ├── preemptible.yaml
      └── resources.yaml

good use cases

dump upstream reference configs into the base dir, apply all customizations in overlays

Or just to splut out your config into easily manageable parts, a file for each bit you care about

problems