What is Kubernetes application delivery with Kustomize?
Answer
Kustomize is a Kubernetes configuration management tool built into kubectl (no external install needed) that enables template-free customization of Kubernetes YAML manifests. It works by layering "overlays" on top of a "base" configuration using strategic merge patches and JSON patches. Directory structure: ├── base/ │ ├── kustomization.yaml │ ├── deployment.yaml │ └── service.yaml └── overlays/ ├── development/ │ ├── kustomization.yaml │ └── patch-replicas.yaml └── production/ ├── kustomization.yaml └── patch-resources.yaml. Base kustomization.yaml: apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - deployment.yaml - service.yaml commonLabels: app: my-app. Production overlay: apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namePrefix: prod- resources: - ../../base images: - name: my-app newTag: v2.0.0 replicas: - name: my-app count: 10 patchesStrategicMerge: - patch-resources.yaml configMapGenerator: - name: app-config literals: - LOG_LEVEL=error - ENV=production. Key features: namePrefix/nameSuffix: prepend/append to all resource names; images: override image tags without touching YAML; configMapGenerator/secretGenerator: generate ConfigMaps/Secrets from files/literals, auto-hash suffix for rollout; patchesStrategicMerge: merge patch on top of base resources; patchesJson6902: precise JSON patches; vars: substitute values across resources; components: reusable kustomization logic (like Helm library charts). Apply: kubectl apply -k overlays/production/ kubectl diff -k overlays/production/ kustomize build overlays/production/ | kubectl apply -f -. Kustomize + GitOps (Argo CD/Flux) is a standard pattern — each cluster/environment has its own overlay in Git.
Previous
What is Kubernetes StatefulSet advanced patterns?
Next
What is Kubernetes disaster recovery and backup?