CodeBlanks Logo Icon CodeBlanks

Job YAML

Job YAML yapısını öğrenirsin.

Job YAML

Job batch/v1 grubundadır. Pod şablonunda restartPolicy Never ya da OnFailure olmalıdır (Always geçersizdir). backoffLimit başarısız denemelerin üst sınırıdır:

apiVersion: batch/v1
kind: Job
metadata:
  name: goc
spec:
  backoffLimit: 3
  template:
    spec:
      restartPolicy: Never
      containers:
        - name: goc
          image: api:1.0
          command: ["python", "manage.py", "migrate"]

Never'da her deneme yeni bir pod'dur (log'lar korunur); OnFailure'da aynı pod içinde container yeniden başlatılır.

Süre sınırı ve temizlik

activeDeadlineSeconds, Job'un toplam çalışma süresini sınırlar; süre dolunca tüm pod'lar sonlandırılır. ttlSecondsAfterFinished biten Job'u (pod'larıyla) belirli süre sonra siler:

spec:
  backoffLimit: 3
  activeDeadlineSeconds: 600       # en fazla 10 dakika
  ttlSecondsAfterFinished: 3600    # bitişten 1 saat sonra sil
  template:
    ...

Uygulama Göç Job'u

Bir Job YAML'ı yaz: adı goc; backoffLimit: 3; pod şablonunda restartPolicy: Never; container adı goc, image api:1.0, command: ["python", "manage.py", "migrate"].

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
apiVersion: batch/v1
kind: Job
metadata:
  name: goc
spec:
  backoffLimit: 3
  template:
    spec:
      restartPolicy: Never
      containers:
        - name: goc
          image: api:1.0
          command: ["python", "manage.py", "migrate"]

Beklenen çıktı

job.batch/goc created
$ kubectl logs job/goc
Applying migrations... OK

Soru ve cevaplar

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

1 backoffLimit: 3 olan Job dört kez başarısız olursa ne olur?

  • Deployment'a dönüşür
  • Başarılı sayılır
  • Job Failed olarak işaretlenir ve yeniden denemez Doğru cevap
  • Sonsuza kadar dener

Açıklama: Denemeler arasında bekleme süresi katlanarak artar.

2 Job pod'unda yeniden başlatmayı kapat.

Soru
    spec:
      restartPolicy: ____
Cevap
    spec:
      restartPolicy: Never

Açıklama: Job'larda Always geçersizdir.

3 Eşleştir.

Kavram Anlamı
batch/v1 Job ve CronJob grubu
backoffLimit Deneme sınırı
activeDeadlineSeconds Toplam süre sınırı
ttlSecondsAfterFinished Otomatik temizlik

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