CodeBlanks Logo Icon CodeBlanks

CRD nedir?

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:10Z

CRD 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.spec

Uygulama 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

terminal
# buraya yaz

Örnek çözüm

terminal
kubectl get crds
kubectl api-resources --api-group=ornek.com
kubectl explain yedek.spec

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

Soru
kubectl api-resources ____=ornek.com
Cevap
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

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