Claude-skill-registry kustomize-basics
Use when customizing Kubernetes configurations without templates using Kustomize overlays and patches.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/kustomize-basics" ~/.claude/skills/majiayu000-claude-skill-registry-kustomize-basics && rm -rf "$T"
manifest:
skills/data/kustomize-basics/SKILL.mdsource content
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