Spec ve status
- Docker & Kubernetes kursu
- Uzman
- Ders 10/47
- 4 dk
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=3Uygulama 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
# buraya yazÖrnek çözüm
subresources:
status: {}
scale:
specReplicasPath: .spec.kopya
statusReplicasPath: .status.kopyaBeklenen çı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ç.
subresources:
____: {}
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 |