iX 8/2022
S. 138
Praxis
Tools und Tipps

Kustomize: redundanzfreie K8s-Manifeste

Um eine Cloud-native Anwendung in allen Umgebungen einheitlich und fehlerfrei bereitzustellen, muss man Kubernetes sauber konfigurieren. Kustomize verspricht redundanzfreie Deployment-Manifeste.

Von Mario-Leander Reimer

Entwicklerinnen und Entwickler müssen zahlreiche Manifeste per YAML definieren, um eine Cloud-native Anwendung und Infrastrukturkomponente auf einem Kubernetes-Cluster bereitzustellen: Deployments, Services, ConfigMaps, Secrets und weitere. Erschwerend kommt hinzu, dass sie die Manifestdefinitionen für verschiedene Umgebungen anpassen müssen – meist nur an einigen wenigen Stellen. Ein einfacher, aber auch naiver Ansatz wäre, die Manifeste zu kopieren und lediglich die wenigen Felder und Werte anzugleichen. Hohe Redundanz und eine schlechte Wartbarkeit wären das Resultat, da jede strukturelle Änderung auch in allen Kopien nachgezogen werden müsste.

Das Tool Kustomize nimmt sich dieses Problems an, verwendet dabei aber anders als Helm keine Templates. Stattdessen arbeitet es mit Overlays und Patches, die auf einen gemeinsamen Nenner (die Base) aller YAML-Definitionen angewendet und damit verschmolzen werden. Das umgebungsspezifische Ergebnis ist dann auf dem Cluster anwendbar.

Kommentieren