CRD nedir?
- Docker & Kubernetes kursu
- Uzman
- Ders 7/47
- 4 dk
CRD ile özel kaynak tanımlamayı öğrenirsin.
CRD nedir?
CustomResourceDefinition (CRD), Kubernetes API'sine yeni bir kaynak türü ekler. CRD uygulandıktan sonra o tür, yerleşik türler gibi kubectl ile oluşturulur, listelenir, RBAC ile korunur ve etcd'de saklanır. Prometheus Operator'ün ServiceMonitor'ı, cert-manager'ın Certificate'ı birer CRD'dir.
$ kubectl get crds
NAME CREATED AT
certificates.cert-manager.io 2026-10-20T09:12:01Z
servicemonitors.monitoring.coreos.com 2026-10-21T14:03:44Z
yedekler.ornek.com 2026-11-03T08:30:10ZCRD tek başına yalnızca veriyi saklar; o veriye göre bir şey yapan parça bir denetleyicidir (operator, sonraki grup).
API'nin genişlemesi
CRD ile eklenen tür kubectl api-resources'ta görünür ve kubectl explain tür tanımından belge üretir. Böylece kendi platform kavramlarını (Yedek, Veritabani, Ortam) Kubernetes'in diliyle ifade edebilirsin:
$ kubectl api-resources --api-group=ornek.com
NAME SHORTNAMES APIVERSION NAMESPACED KIND
yedekler yd ornek.com/v1 true Yedek
$ kubectl explain yedek.specUygulama CRD'leri keşfet
Üç komut yaz: CRD'leri listele; ornek.com API grubundaki türleri listele; yedek.spec alanının belgesini göster.
Başlangıç kodu
# buraya yazÖrnek çözüm
kubectl get crds
kubectl api-resources --api-group=ornek.com
kubectl explain yedek.specBeklenen çıktı
NAME CREATED AT yedekler.ornek.com 2026-11-03T08:30:10Z NAME SHORTNAMES APIVERSION NAMESPACED KIND yedekler yd ornek.com/v1 true Yedek GROUP: ornek.com KIND: Yedek FIELD: spec <Object>
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Yalnızca CRD yükleyip bir özel kaynak oluşturursan ne olur?
- Nesne saklanır ama onu işleyen denetleyici yoksa hiçbir eylem olmaz Doğru cevap
- Pod'lar otomatik oluşur
- Hata verir
- Kubernetes yeniden başlar
Açıklama: CRD = veri modeli; denetleyici = davranış.
2 Belirli bir API grubunun türlerini listele.
kubectl api-resources ____=ornek.com
kubectl api-resources --api-group=ornek.com
Açıklama: --api-group grubu süzer.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
CRD |
Yeni tür tanımı |
custom resource |
O türün nesnesi |
denetleyici |
Davranış |
ServiceMonitor |
CRD örneği |