Kubernetes'te CRD Nasıl Oluşturulur

Kubernetes Te Crd Nasil Olusturulur



Bu makalede Kubernetes'te CRD oluşturmayı öğrenelim. Bu öğreticide, Kubernetes'te CRD'nin nasıl oluşturulacağı ve ardından CRD'nin örnek oluşturma isteklerini işlemek için kullanılacak bir Kubernetes denetleyicisinin nasıl oluşturulacağı konusunda size rehberlik edeceğiz. Kubernetes'te CRD'yi işlemek için CRD'yi denetleyici nesnesiyle birlikte oluşturmanın işleyişini tamamen anlamanıza yardımcı olmak için her adımı örnekler yardımıyla gösteriyor olacağız. Öyleyse başlayalım!

Kubernetes'te CRD nedir?

CRD, başka bir API sunucusu eklemeden yeni kaynaklar için kullanılan Özel Kaynak Tanımı anlamına gelir. CRD'lerle çalışmak için API toplamayı anlamanız gerekmez. Çeşitli yerleşik kaynaklar ve API nesneleri ile birlikte gönderilmek üzere Kubernetes 1.7'de tanıtılan çok güçlü bir özelliktir. Seçtiğiniz bir şema ve adla özel kaynakları tanımlamanıza olanak tanır.

CRD'ler, özel kaynak tanımlarını kullanarak Kubernetes API yeteneklerini varsayılan yüklemeyi aşar. CRD'leri kullanarak, Kubernet'leri kaplardan daha fazlasını işleyecek şekilde yönlendirebilirsiniz. Kendi tercihinize göre özel bir kaynak oluşturabilir ve özel denetleyicileri kullanarak bunu bildirimsel hale getirebilirsiniz. Şimdi, özel bir kaynak tanımı oluşturmayı ve ardından CRD'yi kontrol etmek için özel bir denetleyici tasarlamayı öğrenelim. Ve ardından Kubernetes üzerindeki etkisini görmek için CDR'nin nasıl silineceği.







ön koşul

CRD oluşturma ve silme adımlarına geçmeden önce, sistemimizin önkoşulların tüm ihtiyaçlarını karşıladığından emin olalım.



  • Çalışmak için bir Linux/Unix ortamına sahip olmak için Ubuntu 20.04 veya başka bir son sürüm.
  • Kubernetes kümesi.
  • Kubectl CLI, kubectl komutlarını, küme iletişimini kullanmak ve geliştirme ortamını yönetmek için.
  • kümeleri oluşturmak için minikube veya başka bir Kubernetes oyun alanı

Henüz kurmadıysanız, bir sonraki bölüme geçmeden önce bu araçları kurun.



Şimdi Kubernetes'te CRD'lerin nasıl oluşturulacağını adım adım anlatan rehbere geçeceğiz.





Adım #1: Kubernetes'i Başlatın

CDR'lerle çalışmak için kontrol düzlemi ana bilgisayarları olarak çalışmayan en az iki Kubernetes düğümüne sahip bir kümeniz olmalıdır. Kümeyi oluşturmak ve kullanmak için minikube kullanıyoruz. Bu nedenle, minikube'u başlatmak için aşağıdaki komutu kullanın:

> minikube'u başlat

Bu komutu çalıştırdığınızda, aşağıda verilene benzer bir çıktı alacaksınız:



Adım #2: Bir Konfigürasyon Dosyası Açın veya Oluşturun

Artık minikube'ümüz hazır ve çalışıyor, şimdi konfigürasyon dosyasını açalım. Yapılandırma dosyalarını açmak için 'nano' komutu kullanılır. Tek yapmanız gereken nano komutunun yanında dosya adını ve ardından dosya uzantısını girip enter tuşuna basmak. Burada, CRD'leri oluşturmak için yapılandırma ayrıntılarını içeren 'red.yaml' dosyasına sahibiz. İşte istediğiniz dosyayı açmak için kullanabileceğiniz eksiksiz nano komutu:

> nano red.yaml

Bu komutu yürüttüğünüzde, terminalinizde aşağıdaki dosya açılacaktır:

Adım #3: Uç Nokta Kaynağı Oluşturun

Yapılandırma kaynakları red.yaml dosyasına kaydedilmiştir. Bunu yeni ad alanlı RESTful API bitiş noktası oluşturmak için kullanacağız. Kubectl, bir yapılandırma dosyasından uç nokta oluşturmak için 'uygula' komutunu sağlar. Yeni ad alanlı RESTful API'sini oluşturmak için kullanılan eksiksiz 'uygula' komutu buradadır:

> kubectl uygula -f red.yaml

Bu komut tarafından oluşturulan uç nokta, CRD'yi kontrol edecek özel nesneyi oluşturmak için kullanılacaktır. Ad alanlı kaynak için aşağıdaki çıktı üretilecektir:

Adım #4: CRD'yi Kontrol Etmek İçin Özel Bir Nesne Oluşturun

CRD'ler özel nesneler tarafından kontrol edilir. Özel kaynak tanımı oluşturulduktan sonra bunları oluşturabiliriz. Özel nesneler, isteğe bağlı JSON'un özel alanlarını içerir. Özel nesneyi oluşturmak için yine bir YAML yapılandırma dosyasına ihtiyacımız var. YAML yapılandırma dosyasını oluşturmak için 'nano' komutunu kullanın:

> nano ct.yaml

YAML dosyasındaki belirli ayrıntılarla gerekli alanları kaydedin. Örnek yapılandırma ayrıntıları aşağıdaki örnekte gösterilmektedir:

Şimdi, özel nesneyi oluşturmak için aynı YAML dosyasını kullanın. Belirtilen YAML dosyasından özel nesneyi oluşturmak için 'uygula' komutunu kullanın. Aşağıda verilen tam komuta bakın:

> kubectl uygula -f ct.yaml

Bu komutun başarılı bir şekilde yürütülmesinden sonra aşağıdaki çıktıyı alacaksınız:

Adım #5: CRD'yi Özel Bir Nesne İle Yönetin

Özel nesneler, CRD'leri yönetmek için kullanılır. Öyleyse, önceden oluşturulmuş CRD'yi yönetmek için son oluşturulan özel nesneyi nasıl kullanabileceğimizi öğrenelim. Burada, 'get' komutunu kullanarak özel nesneyi içeren ayrıntıları kontrol edeceğiz. Aşağıdaki kod parçacığında verilen komuta bakın:

> kubectl crontab'ı al

Minikube terminalinde bu komutu yürüttüğünüzde aşağıdaki çıktı üretilecektir:

YAML dosyasında bulunan ham verileri kontrol etmek istiyorsanız, şu komutu kullanabilirsiniz:

> kubectl ct'yi al - tatlım

Bu, aşağıda verilen örnek gibi YAML dosyasındaki ham verileri gösterecektir:

Oluşturulan CRD'yi yönetmek ve kontrol etmek için CRD'yi ve özel bir nesneyi bu şekilde oluşturabiliriz. Şimdi, oluşturulan CRD'yi silmek istiyorsanız, aşağıdaki prosedürü takip edebilirsiniz.

Kubernetes'te Oluşturulan CRD'ler Nasıl Silinir?

Kubectl komutları, Kubernetes'teki CRD'leri silmenizi sağlar. Kubernetes'te CRD'yi silmeye çalıştığınızda, bununla ilişkili özel kaynaklar da silinecektir. Kubectl, herhangi bir kaynağı silmek için 'sil' komutunu sağlar. Yukarıdaki adımlarda oluşturduğumuz CRD'yi silmek için aşağıdaki komut kullanılır:

> kubectl silme -f red.yaml

Bu komutu başarıyla yürüttüğünüzde, aşağıdaki sonucu alacaksınız:

Artık CRD ve onunla ilişkili özel nesneler silindiğine göre, sunucuya erişmeye çalışırsanız sunucudan bir hata alırsınız. Ad alanlı RESTful API'ye erişmeye çalıştığımız yerde aşağıda verilen komuta bakın:

> kubeclt crontab'ları al

'crontabs' silindiğinden, sunucu bu eylem için hata verecektir. Aşağıda verilen bu komutun çıktısına bakın:

Çözüm

Bu makale, özel kaynak tanımının nasıl oluşturulacağına, CRD'leri kontrol etmek için özel bir nesnenin nasıl oluşturulacağına ve CRD'nin Kubernetes'ten nasıl silineceğine dair hızlı bir genel bakıştı. Örnek örneklerin yardımıyla, süreci kolay ve hızlı bir şekilde anlamanıza yardımcı olmak için her adımı gösterdik.