Mustafa CavusogluMC

Command Palette

Search for a command to run...

AboutExperiencesProjects
Linux3Docker3Git3uv1Miniconda1Kubernetes3
Back to Home
Kubernetes

Kubernetes native configuration management

kustomizeoverlayspatchesconfiguration

Kustomize

Kubernetes native configuration management.

Basic Commands

# Build kustomization
kubectl kustomize ./

# Apply kustomization
kubectl apply -k ./

# Preview changes
kubectl diff -k ./

# Build to file
kubectl kustomize ./ > output.yaml

Example Structure

├── base/
│   ├── kustomization.yaml
│   ├── deployment.yaml
│   └── service.yaml
└── overlays/
    ├── dev/
    │   └── kustomization.yaml
    └── prod/
        ├── kustomization.yaml
        └── replica-patch.yaml

Base kustomization.yaml

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
  - deployment.yaml
  - service.yaml

commonLabels:
  app: my-app

Overlay kustomization.yaml

apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
  - ../../base

namePrefix: prod-

namespace: production

patches:
  - path: replica-patch.yaml

configMapGenerator:
  - name: app-config
    literals:
      - ENV=production

Patch Example

# replica-patch.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 3