So erstellen Sie einen Cron-Job in Kubernetes
Der Cron-Scheduler in Kubernetes funktioniert sehr ähnlich wie der eines typischen Linux-Systems. Dies sollte es für erfahrene Linux-Benutzer, die in der Vergangenheit ihren Teil der Crontab-Bearbeitung geleistet haben, etwas einfacher machen. Es gibt jedoch immer noch eine bestimmte Methode, um Cronjobs in Kubernetes zu erstellen, und eine Syntax, der Ihre YAML-Datei folgen muss.
In diesem Tutorial sehen wir, wie Sie einen Cronjob in Kubernetes erstellen. Dies ist eine praktische Funktion, die es uns ermöglicht, Aufgaben in bestimmten Intervallen oder zu zukünftigen Terminen zu planen und zu automatisieren. Diejenigen, die bereits mit Linux crontab vertraut sind, sind im Vorteil, da sie die allgemeine Syntax eines Cron-Befehls bereits kennen. Sehen wir uns an, wie Sie Jobs in Kubernetes planen.
In diesem Tutorial lernen Sie:
- So erstellen Sie eine Cronjob-YAML-Datei
- So planen Sie einen Cron-Job in Kubernetes
- So überprüfen Sie Cron-Jobs in Kubernetes
Erstellen eines Cron-Jobs in Kubernetes
Bei diesen Schritten wird davon ausgegangen, dass Ihr Kubernetes-Cluster bereits ausgeführt wird und Zugriff auf den Befehl kubectl hat.
Cron-Jobs werden von der Kubernetes-Steuerungsebene verwaltet. Wir können einen neuen Job so programmieren, dass er ausgeführt wird, indem wir eine YAML-Datei anwenden. Ein Beispiel für eine Syntax sieht wie folgt aus:
apiVersion: batch/v1 kind: CronJob metadata: name: hello-world spec: schedule: "* * * * *" jobTemplate: spec: template: spec: containers: - name: hello image: busybox:1.28 imagePullPolicy: IfNotPresent command: - /bin/sh - -c - date; echo Hello Kubernetes! restartPolicy: OnFailureNOTE
In unserem Crontab-Referenzhandbuch finden Sie Hilfe zur Planungssyntax von Cron, z. B. nach Minute, Stunde, Tag usw. Crontab Guru ist auch eine praktische Möglichkeit, schnell die benötigte Syntax für ein bestimmtes Zeitintervall zu erhalten.Führen Sie dann den neuen Cron-Job mit dem Befehl
kubectlaus:kubectl create -f ./cronjob.yaml cronjob.batch/hello-world createdSehen Sie sich den Cronjob an, indem Sie Folgendes ausführen:
kubectl get cronjob hello-worldUm zu sehen, wie die Cronjobs in Echtzeit ausgeführt werden, verwenden Sie den folgenden Befehl:
kubectl get jobs --watchWir können auch die Pods anzeigen, die zum Ausführen des Cron-Jobs gespawnt wurden:
kubectl get podsWir können die Ergebnisse des Cron-Jobs (in unserem Fall nur wiedergegebener Text) sehen, indem wir die Protokolle für einen der Pods überprüfen:
kubectl logs hello-world-27982521-bgb46-
Um den Cron-Job zu löschen, verwenden Sie den
delete-Parametermitkubectl:kubectl delete cronjob hello-world
Abschließende Gedanken
In diesem Tutorial haben wir gesehen, wie man einen Cronjob für Kubernetes auf einem Linux-System erstellt. Wie hier zu sehen ist, unterscheidet sich der Prozess nicht sehr von der Erstellung eines gewöhnlichen Cron-Jobs unter Linux, mit dem einzigen Unterschied in der YAML-Datei und dem kubectl-Befehl. Kubernetes bietet uns sogar eine einfache Möglichkeit, alle unsere Cron-Jobs zu überprüfen und die Ergebnisse nach der Ausführung zu sehen.




