Özet - CRD
- Docker & Kubernetes kursu
- Uzman
- Ders 12/47
- 5 dk
YAML ve validation'ı birleştirerek bir CRD yazarsın.
Özet: CRD
Bu grupta:
- CRD, API'ye yeni bir tür ekler; nesneler etcd'de saklanır, kubectl ve RBAC ile yönetilir.
- Ad
çoğul.grup;names,scope,versions(served/storage) veopenAPIV3Schema. - Custom resource:
apiVersion: grup/sürüm,kind;additionalPrinterColumnstabloyu zenginleştirir. subresources.statusspec/status ayrımını korur;scalekubectl scale ve HPA desteği verir.- Doğrulama tanımı (required, min/max, enum, pattern, default) ve CEL kuralları bozuk veriyi baştan reddeder.
kubectl apply -f crd.yaml
kubectl apply -f yedek.yaml
kubectl get yd -AUygulama Yazdırma sütunları
Bir CRD sürümünün additionalPrinterColumns bölümünü yaz (additionalPrinterColumns: ile başlayarak): Veritabani (type: string, jsonPath: .spec.veritabani) ve Durum (type: string, jsonPath: .status.durum).
Başlangıç kodu
# buraya yazÖrnek çözüm
additionalPrinterColumns:
- name: Veritabani
type: string
jsonPath: .spec.veritabani
- name: Durum
type: string
jsonPath: .status.durumBeklenen çıktı
customresourcedefinition.apiextensions.k8s.io/yedekler.ornek.com configured $ kubectl get yd -n magaza NAME VERITABANI DURUM AGE magaza-gece db Basarili 1d
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir özel kaynağın davranış kazanması için ne gerekir?
- Daha ayrıntılı bir doğrulama tanımı
- ClusterRole
- Ek yazdırma sütunu
- Onu izleyen ve uzlaştıran bir denetleyici (operator) Doğru cevap
Açıklama: Sonraki grupta operator yazacaksın.
2 Alana varsayılan değer ver.
saklamaGun: {type: integer, minimum: 1, ____: 7}
saklamaGun: {type: integer, minimum: 1, default: 7}
Açıklama: default, alan yazılmazsa uygulanır.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
CRD |
Tür |
CR |
Nesne |
openAPIV3 tanımı |
Doğrulama |
status |
Denetleyici raporu |