Ausführen eines Cronjobs
Neben einmaligen Jobs unterstützt Kubernetes auch Cronjobs (Zeitplangesteuerte Jobs), um Aufgaben in regelmäßigen Abständen auszuführen. In diesem Beispiel werden wir einen Cronjob erstellen, der einen Befehl jede Minute ausführt.
Erstellen Sie eine Datei mit dem Namen cronjob.yaml
in /home/labex/project/
mit folgendem Inhalt:
apiVersion: batch/v1
kind: CronJob
metadata:
name: hello-cronjob
spec:
schedule: "*/1 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: hello
image: busybox
command: ["sh", "-c", 'echo "Hello, World!"']
restartPolicy: Never
successfulJobsHistoryLimit: 3
failedJobsHistoryLimit: 3
In dieser Datei definieren wir einen Cronjob namens hello-cronjob
, der einen Befehl jede Minute ausführt. Der Befehl ist derselbe wie in unserem ersten Beispiel, um "Hello, World!" in die Konsole auszugeben.
Um den Cronjob zu erstellen, führen Sie folgenden Befehl aus:
kubectl apply -f cronjob.yaml
Sie können den Status des Cronjobs überprüfen, indem Sie folgenden Befehl ausführen:
kubectl get cronjobs
Sobald der Cronjob läuft, können Sie die Logs eines Pods anzeigen, indem Sie folgenden Befehl ausführen:
kubectl logs -f <POD_NAME>
Ersetzen Sie <POD_NAME>
durch den Namen eines beliebigen Pods, der vom Cronjob erstellt wurde. Sie können den POD_NAME
mit dem Befehl kubectl get pod |grep hello-cronjob
erhalten.
Herzlichen Glückwunsch, Sie haben erfolgreich einen Cronjob in Kubernetes ausgeführt!