CronJob nedir?
- Docker & Kubernetes kursu
- İleri seviye
- Ders 28/70
- 4 dk
CronJob ile zamanlanmış görevleri öğrenirsin.
CronJob nedir?
CronJob, belirli bir takvime göre Job oluşturur: gece yedeği, saatlik rapor, haftalık temizlik. Takvim Unix cron biçimindedir: dakika saat ay-günü ay hafta-günü:
"0 3 * * *" her gün 03:00
"*/15 * * * *" her 15 dakikada
"0 9 * * 1" her pazartesi 09:00
"0 0 1 * *" her ayın 1'i gece yarısıSaat dilimi varsayılan olarak kube-controller-manager'ınkidir (genellikle UTC); timeZone: "Europe/Istanbul" ile değiştirilebilir.
CronJob'u yönetmek
CronJob komutla da oluşturulabilir. Bir sonraki çalışmayı beklemeden elle tetiklemek için ondan bir Job üretilir; geçici olarak durdurmak için suspend kullanılır:
kubectl create cronjob temizlik --image=busybox:1.36 --schedule="0 4 * * *" -- sh -c "echo temizlendi"
kubectl create job temizlik-elle --from=cronjob/temizlik
kubectl patch cronjob temizlik -p '{"spec":{"suspend":true}}'
kubectl get cronjobsUygulama Zamanlanmış temizlik
Üç komut yaz: busybox:1.36 image'ıyla her gün 04:00'te ("0 4 * * *") echo temizlendi çalıştıran temizlik CronJob'unu oluştur; ondan elle temizlik-elle Job'unu üret; CronJob'ları listele.
Başlangıç kodu
# buraya yazÖrnek çözüm
kubectl create cronjob temizlik --image=busybox:1.36 --schedule="0 4 * * *" -- echo temizlendi
kubectl create job temizlik-elle --from=cronjob/temizlik
kubectl get cronjobsBeklenen çıktı
cronjob.batch/temizlik created job.batch/temizlik-elle created NAME SCHEDULE TIMEZONE SUSPEND ACTIVE LAST SCHEDULE AGE temizlik 0 4 * * * <none> False 0 <none> 5s
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 "30 2 * * 0" takvimi ne zaman çalışır?
- Her pazar 02:30 Doğru cevap
- Her gün 02:30
- Her ayın 30'unda
- Her 30 dakikada
Açıklama: Hafta günü 0 pazardır.
2 CronJob'dan elle bir Job üret.
kubectl create job temizlik-elle ____=cronjob/temizlik
kubectl create job temizlik-elle --from=cronjob/temizlik
Açıklama: --from=cronjob/ad şablondan Job oluşturur.
3 Takvimleri eşleştir.
| Kavram | Anlamı |
|---|---|
0 3 * * * |
Her gün 03:00 |
*/15 * * * * |
Her 15 dakika |
0 9 * * 1 |
Pazartesi 09:00 |
0 0 1 * * |
Ayın 1'i 00:00 |