CodeBlanks Logo Icon CodeBlanks

Özet - Operator

CRD ve reconcile'ı birleştirerek bir operator açıklarsın.

Özet: Operator

Bu grupta:

  • Operator = CRD + işletme bilgisini içeren denetleyici; kurulumdan sonra da uygulamayı yönetir.
  • Reconcile idempotenttir: özel kaynağı oku, alt nesneleri oluştur/uydur, status'u yaz, gerekirse yeniden kuyruğa al.
  • ownerReferences çöp toplamayı ve tetiklemeyi sağlar; finalizer dış kaynakları temizler.
  • Operator SDK/Kubebuilder: init, create api, işaretlerden make manifests, make install/run/deploy.
  • Kullanıcı yalnızca özel kaynakla etkileşir; status.conditions ve kubectl wait hazırlığı bildirir.
kubectl apply -f yedek.yaml
kubectl wait --for=condition=Ready yedek/magaza-gece -n magaza

Uygulama Takılı nesneyi incele

Üç komut yaz: magaza'daki magaza-gece Yedek'inin finalizer'larını jsonpath='{.metadata.finalizers}' ile yazdır; operator'ün log'larının son 20 satırını yedek-operator-system'deki deploy/yedek-operator-controller-manager'dan göster; yedek-operator-system'deki pod'ları listele.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
kubectl get yedek magaza-gece -n magaza -o jsonpath='{.metadata.finalizers}'
kubectl logs -n yedek-operator-system deploy/yedek-operator-controller-manager --tail=20
kubectl get pods -n yedek-operator-system

Beklenen çıktı

["ornek.com/s3-temizle"]
ERROR  S3 temizliği başarısız  {"Yedek": "magaza/magaza-gece", "error": "AccessDenied"}
NAME                                                 READY   STATUS    RESTARTS
yedek-operator-controller-manager-6d9f8c7b5-x2k9p    1/1     Running   0

Soru ve cevaplar

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

1 Bir özel kaynak silinirken Terminating'de takılı kalıyorsa olası neden nedir?

  • Disk dolu
  • Ad çok uzun
  • CRD'de printcolumn eksik
  • Finalizer'ı kaldıracak operator çalışmıyor Doğru cevap

Açıklama: Finalizer listesi boşalana kadar nesne silinmez.

2 Silmeden önce temizlik için işaret ekle.

Soru
metadata:
  ____: ["ornek.com/s3-temizle"]
Cevap
metadata:
  finalizers: ["ornek.com/s3-temizle"]

Açıklama: Finalizer'lar silmeyi operator temizleyene kadar bekletir.

3 Eşleştir.

Kavram Anlamı
CRD Veri modeli
denetleyici Davranış
ownerReferences Çöp toplama
finalizer Silme kancası

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