CodeBlanks Logo Icon CodeBlanks

Özet - Job ve CronJob

Job ve CronJob YAML'ı birleştirerek zamanlanmış görev yazarsın.

Özet: Job ve CronJob

Bu grupta:

  • Job işi sonuna kadar çalıştırır; restartPolicy Never/OnFailure, backoffLimit deneme sınırıdır.
  • activeDeadlineSeconds süreyi, ttlSecondsAfterFinished temizliği yönetir; kubectl wait --for=condition=complete bekler.
  • completions/parallelism çoklu ve paralel çalıştırma; Indexed mod parça başına indeks verir.
  • CronJob takvime göre Job oluşturur: cron biçimi, timeZone, jobTemplate.
  • concurrencyPolicy çakışmayı, geçmiş sınırları eski Job'ları yönetir; create job --from=cronjob/ elle tetikler.
kubectl create job goc --from=cronjob/gece-yedek
kubectl wait --for=condition=complete job/goc --timeout=300s

Uygulama Sınırlı ve temizlenen Job

Bir Job'un spec bölümünü yaz (spec: ile başlayarak): backoffLimit: 2, activeDeadlineSeconds: 600, ttlSecondsAfterFinished: 3600; şablonda restartPolicy: OnFailure; container adı rapor, image api:1.0.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
spec:
  backoffLimit: 2
  activeDeadlineSeconds: 600
  ttlSecondsAfterFinished: 3600
  template:
    spec:
      restartPolicy: OnFailure
      containers:
        - name: rapor
          image: api:1.0

Beklenen çıktı

job.batch/rapor created

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Job pod şablonunda restartPolicy: Always yazarsan ne olur?

  • Job Deployment gibi çalışır
  • Yok sayılır
  • API sunucusu reddeder Doğru cevap
  • Job hiç bitmez

Açıklama: Job'larda yalnızca Never ve OnFailure geçerlidir.

2 Takvimin saat dilimini ver.

Soru
spec:
  schedule: "0 3 * * *"
  ____: "Europe/Istanbul"
Cevap
spec:
  schedule: "0 3 * * *"
  timeZone: "Europe/Istanbul"

Açıklama: timeZone IANA saat dilimi adı alır.

3 Eşleştir.

Kavram Anlamı
Job Bir kez, bitene kadar
CronJob Takvime göre
backoffLimit Deneme
suspend Geçici durdur

İleri seviye bölümündeki tüm dersler