kustomize-basics
Use when customizing Kubernetes configurations without templates using Kustomize overlays and patches.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Kustomize Basics
Kubernetes configuration customization without templates.
Basic Structure
app/
├── base/
│ ├── kustomization.yaml
│ ├── deployment.yaml
│ └── service.yaml
└── overlays/
├── development/
│ └── kustomization.yaml
└── production/
└── kustomization.yaml
Base Kustomization
# base/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml
commonLabels:
app: myapp
namePrefix: myapp-
images:
- name: myapp
newTag: v1.0.0
Overlay Kustomization
# overlays/production/kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
- ../../base
replicas:
- name: myapp-deployment
count: 5
images:
- name: myapp
newTag: v2.0.0
patches:
- patch: |-
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp-deployment
spec:
template:
spec:
containers:
- name: myapp
resources:
limits:
memory: "1Gi"
cpu: "1000m"
Common Commands
# Build kustomization
kustomize build base/
# Build overlay
kustomize build overlays/production/
# Apply with kubectl
kubectl apply -k overlays/production/
# Diff before apply
kubectl diff -k overlays/production/
Transformers
Common Labels
commonLabels:
app: myapp
environment: production
Name Prefix/Suffix
namePrefix: prod-
nameSuffix: -v2
Namespace
namespace: production
Config Map Generator
configMapGenerator:
- name: app-config
files:
- config.properties
literals:
- LOG_LEVEL=info
Secret Generator
secretGenerator:
- name: app-secrets
literals:
- password=secret123
Best Practices
Use Bases for Common Configuration
Keep common configuration in base and environment-specific in overlays.
Strategic Merge Patches
patches:
- path: patch-deployment.yaml
JSON Patches
patchesJson6902:
- target:
group: apps
version: v1
kind: Deployment
name: myapp
patch: |-
- op: replace
path: /spec/replicas
value: 3
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-02-05
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!