Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Rularea Sarcinilor Batch și Programate cu Job și CronJob în Kubernetes în Kubernetes (kubectl)

Ghid complet pentru obiectele Job și CronJob în Kubernetes: rularea sarcinilor unice de migrare a bazelor de date, procesare batch și execuție programată conform sintaxei cron, cu politici de concurență și reluare la eroare.

Sintaxă comandă
kubectl create job --from=cronjob/backup test-run | kubectl get cronjobs

Spre deosebire de un Deployment (gândit să mențină procese web care rulează la infinit), obiectele Job și CronJob sunt destinate proceselor care trebuie să execute o sarcină punctuală și apoi să se oprească cu succes (exit code 0). Un Job garantează rularea unui număr specificat de Pod-uri până la finalizare (ideal pentru migrări de baze de date, re-indexare Elasticsearch sau procesare batch), în timp ce CronJob adaugă un planificator temporal bazat pe sintaxa UNIX cron.

Manifest CronJob complet pentru backup zilnic
apiVersion: batch/v1
kind: CronJob
metadata:
  name: backup-baza-date
  namespace: productia
spec:
  # Rulează în fiecare noapte la ora 02:00 UTC:
  schedule: "0 2 * * *"
  # Împiedică pornirea unui nou backup dacă cel anterior încă rulează:
  concurrencyPolicy: Forbid
  successfulJobsHistoryLimit: 3
  failedJobsHistoryLimit: 5
  jobTemplate:
    spec:
      # Dacă procesul eșuează, reîncearcă de maximum 2 ori înainte de a marca Job-ul ca eșuat:
      backoffLimit: 2
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - name: pg-dump
              image: postgres:16-alpine
              command:
                - /bin/sh
                - -c
                - pg_dump -h postgres-service -U appuser proddb | gzip > /backup/dump_$(date +%Y%m%d).sql.gz
              volumeMounts:
                - name: storage-backup
                  mountPath: /backup
          volumes:
            - name: storage-backup
              persistentVolumeClaim:
                claimName: nfs-backup-pvc

Comenzi kubectl utile pentru Job-uri și CronJob-uri

# 1. Lansarea manuală a unui Job de test pornind de la definiția unui CronJob existent:
kubectl create job --from=cronjob/backup-baza-date test-manual-backup

# 2. Monitorizarea execuției Job-ului și vizualizarea logurilor:
kubectl get jobs --watch
kubectl logs job/test-manual-backup

# 3. Ștergerea unui Job (va șterge automat și Pod-ul terminat asociat):
kubectl delete job test-manual-backup
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Rularea Sarcinilor Batch și Programate cu Job și CronJob în Kubernetes

Ai o nelămurire despre utilizarea comenzii Rularea Sarcinilor Batch și Programate cu Job și CronJob în Kubernetes sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.