CodeBlanks Logo Icon CodeBlanks

Spec ve status

CRD spec ve status alanlarını öğrenirsin.

Spec ve status

İyi tasarlanmış bir özel kaynak, yerleşik türler gibi spec (kullanıcının istediği) ve status (denetleyicinin bildirdiği) ayrımını izler. CRD'de subresources.status açılınca status yalnızca /status alt kaynağıyla güncellenir; kullanıcının apply'ı status'u ezemez:

    - name: v1
      subresources:
        status: {}

# denetleyicinin yazdığı
status:
  sonYedek: "2026-11-03T03:00:12Z"
  durum: Basarili
  conditions:
    - type: Ready
      status: "True"

Scale alt kaynağı

subresources.scale, özel kaynağa kubectl scale ve HPA desteği ekler; hangi alanların kopya sayısını temsil ettiğini söyler:

      subresources:
        status: {}
        scale:
          specReplicasPath: .spec.kopya
          statusReplicasPath: .status.kopya

$ kubectl scale veritabani/ana --replicas=3

Uygulama Alt kaynakları ekle

Bir CRD sürümünün subresources bölümünü yaz (subresources: ile başlayarak): status: {}; scale altında specReplicasPath: .spec.kopya ve statusReplicasPath: .status.kopya.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
subresources:
  status: {}
  scale:
    specReplicasPath: .spec.kopya
    statusReplicasPath: .status.kopya

Beklenen çıktı

customresourcedefinition.apiextensions.k8s.io/veritabanlari.ornek.com configured

Soru ve cevaplar

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

1 status alt kaynağı açıkken spec değişince ne olur?

  • Nesne yeniden oluşturulur
  • metadata.generation artar; status değişince artmaz Doğru cevap
  • Hiçbir şey
  • status silinir

Açıklama: Denetleyici generation ile observedGeneration'ı karşılaştırarak işini bitirip bitirmediğini bildirir.

2 status alt kaynağını aç.

Soru
      subresources:
        ____: {}
Cevap
      subresources:
        status: {}

Açıklama: {} alt kaynağı etkinleştirir.

3 Eşleştir.

Kavram Anlamı
spec Kullanıcı yazar
status Denetleyici yazar
subresources.status Ayrı güncelleme yolu
subresources.scale kubectl scale desteği

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