0Pricing
Kubernetes Basics · Ders

Özel Kaynak Tanımları (CRD'ler)

Özel Kaynak Tanımlarının Kubernetes API'sini kendi kaynak türlerinizle nasıl genişlettiğini ve Operatörlerin üzerine inşa edildiği temeli öğrenin.

Özel Kaynak Tanımları (CRD'ler), CoddyKit'te ücretsiz bir Kubernetes Basics dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Kubernetes Basics öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Kubernetes Basics kursu toplamda 4 dersten oluşur.

Kubernetes API'sini Genişletme

Pod'lar ve Deployment'lar gibi yerleşik nesneler sınır değildir. Bir Custom Resource Definition (CRD) ile Kubernetes'e tamamen yeni kaynak türleri öğretebilirsiniz.

Özel Kaynak Nedir

Özel Kaynak (CR), tanımladığınız bir türün örneğidir. Bir CRD kurulduktan sonra CR'leri yerel nesnelerle aynı şekilde kubectl kullanarak oluşturabilirsiniz.

Bir CRD'nin Yapısı

Bir CRD yeni türü, API grubunu, sürümünü ve kapsamını (ad alanı veya küme geneli) bildirir.

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: backups.data.example.com
spec:
  group: data.example.com
  scope: Namespaced
  names:
    plural: backups
    singular: backup
    kind: Backup

Şemayı Tanımlama

Bir OpenAPI şeması, özel kaynağınızın alanlarını doğrular ve oluşturma sırasında geçersiz belirtimleri reddeder.

versions:
- name: v1
  served: true
  storage: true
  schema:
    openAPIV3Schema:
      type: object
      properties:
        spec:
          type: object
          properties:
            schedule:
              type: string
            retention:
              type: integer

Özel Kaynak Oluşturma

CRD uygulandıktan sonra yeni türünüzün örneklerini oluşturursunuz.

apiVersion: data.example.com/v1
kind: Backup
metadata:
  name: nightly-db
spec:
  schedule: '0 2 * * *'
  retention: 7

kubectl ile CR'lerle Çalışma

Özel kaynaklar birinci sınıf kaynaklardır. Bunları bildiğiniz komutlarla listeler, açıklar ve silersiniz.

kubectl get backups
kubectl describe backup nightly-db
kubectl delete backup nightly-db

Kısa Adlar ve Yazdırma Sütunları

CR'lerle çalışmayı kolaylaştırmak için kısa adlar ve özel tablo sütunları tanımlayabilirsiniz.

names:
  shortNames: ['bk']
additionalPrinterColumns:
- name: Schedule
  type: string
  jsonPath: .spec.schedule

CRD'ler Yalnızca Veridir

Bir CRD tek başına yalnızca etcd içinde veri depolar. Onun üzerinde hiçbir işlem yapılmaz. Bir Backup'ın gerçekten gerçekleşmesini sağlamak için bu kaynakları izleyen bir denetleyiciye ihtiyacınız vardır.

Operatörlerle Bağlantı

Bir Operatör, bir denetleyici ile bir veya daha fazla CRD'den oluşur. CRD istenen durumu tanımlar; denetleyici, gerçek durumu bununla eşleştirmek için sürekli olarak uzlaştırır. CRD'ler, Operatörlerin dayandığı temeldir.

CRD'leri Sürümleme

CRD'ler dönüştürme ile birden çok sürümü destekler ve API'nizi geliştirmenize olanak tanır. etcd içindeki depolama sürümü olarak tam olarak bir sürüm işaretlenir.

versions:
- name: v1beta1
  served: true
  storage: false
- name: v1
  served: true
  storage: true

CRD'ler Ne Zaman Kullanılmalı

  • Bir alan kavramını bildirimsel olarak modellemek istiyorsunuz (Yedekleme, Veritabanı, Sertifika)
  • İşlemleri otomatikleştirmek için bir Operatör oluşturuyorsunuz
  • Kullanıcıların uygulamanızı tanıdık kubectl iş akışlarıyla yönetmesini istiyorsunuz

Kısa Kontrol

CRD konusundaki anlayışınızı sınayın.

Özet

CRD'lerin Kubernetes API'sini özel türlerle genişlettiğini, bu türlerin bir OpenAPI şemasıyla doğrulandığını ve normal kubectl komutlarıyla yönetildiğini öğrendiniz. Bir CRD tek başına yalnızca veri depolar; onu bir denetleyiciyle birleştirmek, istenen durumu uzlaştıran bir Operatör oluşturur.

Sıkça Sorulan Sorular

“Özel Kaynak Tanımları (CRD'ler)” dersi ücretsiz mi?

Evet — “Özel Kaynak Tanımları (CRD'ler)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Kubernetes Basics kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Kubernetes Basics kursu toplamda 4 dersten oluşur.

“Özel Kaynak Tanımları (CRD'ler)” dersinde ne öğreneceğim?

Özel Kaynak Tanımlarının Kubernetes API'sini kendi kaynak türlerinizle nasıl genişlettiğini ve Operatörlerin üzerine inşa edildiği temeli öğrenin. Kubernetes Basics ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Kubernetes Basics öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Kubernetes Basics, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Özel Kaynak Tanımları (CRD'ler)” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Kubernetes Basics dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Kubernetes Basics dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Durumlu Uygulamalar için StatefulSets
  2. Düğüme Özel Görevler için DaemonSets
  3. Kubernetes Operatörlerini Anlama
  4. Özel Kaynak Tanımları (CRD'ler)
← Kubernetes Basics Sayfasına Dön