Özel kaynak yönetimi
- Docker & Kubernetes kursu
- Uzman
- Ders 16/47
- 4 dk
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].statusUygulama Ö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
# buraya yazÖrnek çözüm
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.
kubectl wait --for=condition=____ yedek/magaza-gece -n magaza
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 |