Website-Suche

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.

  1. 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: OnFailure

    NOTE
    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.

  2. Führen Sie dann den neuen Cron-Job mit dem Befehl kubectl aus:

    
    kubectl create -f ./cronjob.yaml
    cronjob.batch/hello-world created
    
  3. Sehen Sie sich den Cronjob an, indem Sie Folgendes ausführen:

    
    kubectl get cronjob hello-world
    

  4. Um zu sehen, wie die Cronjobs in Echtzeit ausgeführt werden, verwenden Sie den folgenden Befehl:

    
    kubectl get jobs --watch
    

  5. Wir können auch die Pods anzeigen, die zum Ausführen des Cron-Jobs gespawnt wurden:

    
    kubectl get pods
    

  6. Wir 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
    

  7. Um den Cron-Job zu löschen, verwenden Sie den delete-Parameter mit kubectl:

    
    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.

Verwandte Artikel: