CronJobs in Kubernetes 1.21: Jetzt in voller Blüte!
Erfahren Sie, wie die neue GA-Version von CronJobs Ihre Kubernetes-Anwendungen optimiert und vereinfacht.
In Kubernetes v1.21 hat die Ressource CronJob die allgemeine Verfügbarkeit (GA) erreicht. Dies bedeutet nicht nur, dass CronJobs nun stabil und bereit für den produktiven Einsatz sind, sondern auch, dass wir die Leistung seit Kubernetes v1.19 erheblich verbessert haben, durch die Implementierung eines neuen Controllers.
Bereits in Kubernetes v1.20 haben wir einen überarbeiteten v2-Controller für CronJobs eingeführt, der zunächst als Alpha-Feature verfügbar war. In v1.21 verwenden wir nun standardmäßig diesen neueren Controller, und die CronJob-Ressource selbst ist jetzt GA (Gruppenversion: batch/v1
).
Was ändert sich konkret für Entwickler/DevOps-Teams?
Für Entwickler und DevOps-Teams bedeutet die Einführung des GA-CronJobs, dass sie auf eine stabilere und leistungsfähigere Lösung zurückgreifen können. Die neue Controller-Architektur ermöglicht eine bessere Handhabung von CronJobs und verbessert die Zuverlässigkeit von geplanten Aufgaben in Kubernetes. Die Entscheidung, die API über die Beta-Phase hinaus zu fördern, wurde von der Kubernetes-Community getroffen, um sicherzustellen, dass APIs nicht in einem „permanenten Beta“-Zustand feststecken.
Praktische Beispiele oder Anwendungsfälle
Ein konkretes Beispiel für den Einsatz von CronJobs könnte die regelmäßige Sicherung von Daten in einer Datenbank sein. Angenommen, Sie möchten jeden Tag um Mitternacht ein Backup Ihrer Datenbank durchführen. Mit dem neuen CronJob-Controller können Sie dies einfach und effektiv umsetzen:
apiVersion: batch/v1
kind: CronJob
metadata:
name: db-backup
spec:
schedule: "0 0 * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: backup
image: my-backup-image
args:
- /bin/sh
- -c
- "pg_dump mydatabase > /backups/backup-$(date +\%F).sql"
restartPolicy: OnFailure
Mit dieser Konfiguration wird jeden Tag um Mitternacht ein Backup Ihrer Datenbank erstellt. Und dank der neuen Controller-Implementierung müssen Sie sich weniger um die Stabilität und Leistung kümmern, da diese jetzt erheblich verbessert wurden.
Die Umstellung auf den neuen CronJob-Controller bringt also nicht nur mehr Verlässlichkeit, sondern auch eine signifikante Steigerung der Effizienz. Bei ayedo unterstützen wir Sie dabei, Kubernetes optimal zu nutzen und Ihre Container-Workloads effizient zu verwalten.
Quelle: Kubernetes Blog