06 Jobs CronJobs
Αυτό το lab παρουσιάζει ένα Job που εκτελείται μία φορά και ένα CronJob που εκτελείται βάσει χρονοδιαγράμματος.
Έλεγχος
kubectl apply --dry-run=client -f manifests/
Εκτέλεση
kubectl apply -f manifests/
kubectl wait --for=condition=complete job/checksum-once -n batch-lab --timeout=60s
kubectl logs -n batch-lab job/checksum-once
kubectl get cronjob,job,pod -n batch-lab
Προαιρετικά, μπορείτε να δοκιμάσετε αμέσως το CronJob:
kubectl create job manual-cleanup-report \
--from=cronjob/cleanup-report \
-n batch-lab
kubectl wait --for=condition=complete job/manual-cleanup-report -n batch-lab --timeout=60s
kubectl logs -n batch-lab job/manual-cleanup-report
Σημεία μάθησης
- Το
Jobείναι κατάλληλο για εργασία που εκτελείται μία φορά και ολοκληρώνεται. - Το
CronJobδημιουργεί Jobs σύμφωνα με ένα χρονοδιάγραμμα. - Το
concurrencyPolicy: Forbidεμποδίζει την επικάλυψη εκτελέσεων. - Το
ttlSecondsAfterFinishedκαθαρίζει αυτόματα τα ολοκληρωμένα Jobs αργότερα.
Cleanup
kubectl delete namespace batch-lab
Πηγή
Βασίζεται στην επίσημη τεκμηρίωση του Kubernetes για τα CronJobs: https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/