CodeBlanks Logo Icon CodeBlanks

Özel kaynak yönetimi

Operator'ın özel kaynakları nasıl yönettiğini öğrenirsin.

Özel kaynak yönetimi

Operator, kullanıcının yazdığı özel kaynağı alt nesnelere çevirir ve sonucu status'ta bildirir. Kullanıcı yalnızca özel kaynakla etkileşir; alt nesnelere elle dokunmamalıdır, çünkü operator onları bir sonraki uzlaştırmada geri döndürür:

$ kubectl get yedek magaza-gece -n magaza -o yaml | tail -8
status:
  conditions:
    - type: Ready
      status: "True"
      reason: CronJobOlusturuldu
  observedGeneration: 3
  sonYedek: "2026-11-03T03:00:12Z"

Koşullar (conditions)

Status'ta conditions listesi, durumu makinece okunur biçimde verir. kubectl wait bu koşulları bekleyebilir; böylece CI hatları özel kaynağın hazır olmasını bekler:

kubectl wait --for=condition=Ready yedek/magaza-gece -n magaza --timeout=120s
yedek.ornek.com/magaza-gece condition met
kubectl get yd -A -o custom-columns=AD:.metadata.name,HAZIR:.status.conditions[0].status

Uygulama Özel kaynağı güncelle ve bekle

Üç komut yaz: magaza'daki magaza-gece Yedek'ine {"spec":{"saklamaGun":30}} yamasını --type=merge ile uygula; Ready koşulunu 120 saniye zaman aşımıyla bekle; Yedek'in observedGeneration değerini jsonpath='{.status.observedGeneration}' ile yazdır.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
kubectl patch yedek magaza-gece -n magaza --type=merge -p '{"spec":{"saklamaGun":30}}'
kubectl wait --for=condition=Ready yedek/magaza-gece -n magaza --timeout=120s
kubectl get yedek magaza-gece -n magaza -o jsonpath='{.status.observedGeneration}'

Beklenen çıktı

yedek.ornek.com/magaza-gece patched
yedek.ornek.com/magaza-gece condition met
4

Soru ve cevaplar

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

1 Operator'ün oluşturduğu CronJob'un takvimini elle değiştirirsen ne olur?

  • Özel kaynak güncellenir
  • Operator bir sonraki uzlaştırmada özel kaynaktaki değere geri çeker Doğru cevap
  • Değişiklik kalıcı olur
  • Operator çöker

Açıklama: Doğru yol özel kaynağın spec'ini değiştirmektir.

2 Özel kaynağın hazır koşulunu bekle.

Soru
kubectl wait --for=condition=____ yedek/magaza-gece -n magaza
Cevap
kubectl wait --for=condition=Ready yedek/magaza-gece -n magaza

Açıklama: Ready yaygın bir koşul türüdür.

3 Eşleştir.

Kavram Anlamı
spec Kullanıcının isteği
status.conditions Makinece okunur durum
observedGeneration İşlenen sürüm
kubectl wait Koşulu bekle

Uzman bölümündeki tüm dersler