CodeBlanks Logo Icon CodeBlanks

Özet - CRD

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) ve openAPIV3Schema.
  • Custom resource: apiVersion: grup/sürüm, kind; additionalPrinterColumns tabloyu zenginleştirir.
  • subresources.status spec/status ayrımını korur; scale kubectl 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 -A

Uygulama 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

terminal
# buraya yaz

Örnek çözüm

terminal
additionalPrinterColumns:
  - name: Veritabani
    type: string
    jsonPath: .spec.veritabani
  - name: Durum
    type: string
    jsonPath: .status.durum

Beklenen çı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.

Soru
saklamaGun: {type: integer, minimum: 1, ____: 7}
Cevap
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

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