Kubernetes - Kustomize
Alasta 29 Juin 2025 kubernetes kubernetes kustomize
Description : Kubernetes, gestion des manifests avec Kustomize
Kutomize
Kustomize est un outil intégré à Kubectl permettant de customiser ses fichiers YAML sans utiliser les templates HELM.
Kustomize se base sur :
- Overlays
- Transformers
- Templates
- Components
Overlays
Pour parler de l’overlays, illustrons par le par la structure des fichiers :
k8s
├── base
│ ├── kustomization.yaml
│ ├── nginx-depl.yaml
│ └── service.yaml
└── overlays
├── dev
│ ├── config-map.yaml
│ └── kustomization.yaml
├── prd
│ ├── config-map.yaml
│ └── kustomization.yaml
└── stg
├── config-map.yaml
└── kustomization.yaml
La base est le dossier ou l’on stocke les fichiers partagés pour tous les environnements.
L’overlays permet de faire des configurations spécifiques par environnements et/ou ajouter des configurations à la config de base.
Fichiers Kustomize
Commandes
# Generate all config without apply/deploy
❯ kustomize build k8s/
# Generate a specific config without apply/deploy
❯ kustomize build k8s/api/
# Generate and apply config
❯ kustomize build k8s/ | kubectl apply -f -
# Generate and apply multiple specific configs
❯ kubectl apply -k k8s/api/ -k k8s/db/ -k k8s/cache/ -k k8s/kafka/
# Generate and apply config
❯ kubectl apply -k k8s/
# Delete config
❯ kustomize build k8s/ | kubectl delete -f -
# Delete config
❯ kubectl delete -k k8s/
Transformers
Permet de créer et modifier des ressources.
Actions commun:
- commonLabel - ajout de labels à toutes les ressources Kubernetes
- namePrefix/nameSuffix - ajout de prefix ou suffixe à toutes les ressources Kubernetes
- Namespace - ajout du namespace à toutes les ressources Kubernetes
- commonAnnotations - ajout d’une annotation à toutes les ressources Kubernetes
Transformers communs
Transformers images