‫CRD'ler ve Operatör modeli.
‫Kubernetes ile işler bu noktada gerçekten ilginçleşmeye
‫başlıyor. Çünkü tüm bu üçüncü taraf araçları
‫eklemeye başladığımızda ve Kubernetes'te onu genişletmek
‫için tüm bu API'ler var.
‫Kubernetes'in kendisi, asla yapmak için tasarlanmadığı veya
‫yapabileceğini hiç düşünmediğiniz şeyleri yapmanız için
‫kendi platformu haline gelir.
‫Öncelikle, bu kursta şimdiye kadar fark etmediyseniz,
‫Kubernetes'e üçüncü taraf şeyler ekleyebilirsiniz.
‫Sadece Kubernetes API'sini kullanmaz.
‫Artık özel kaynaklar ve özel denetleyicilerle API'yi
‫değiştirebilirsiniz.
‫Aslında API'yi genişletmek için
‫kullanabilirsiniz. Ardından, komut satırındaki kubectl
‫bile yeni komutlar alır ve yeni kaynak türlerini ve yeni denetleyicileri
‫görebilir. Birkaç yıl önce CoreOS,
‫özel kaynakları ve özel denetleyicileri Kubernetes'te
‫daha önce karmaşık olan yazılımları kullanmanıza
‫olanak tanıyacak şekilde birlikte uygulama
‫yolları olan Operatör modelinden bahseden güzel
‫bir makale yayınladı, ancak Kubernetes bu yazılımın
‫farkında.
‫Belki
‫Prometheus gibi karmaşık bir izleme sisteminiz
‫varsa ve onu dağıtmak, çalıştırmak, güncel tutmak ve onunla
‫her şeyi yapmak istiyorsanız, bunun tüm farklı
‫parçalarını ve Kubernetes'te nasıl çalıştıklarını
‫öğrenmek zorunda kalmak istemezsiniz.
‫Bazılarının StatefulSet'e ihtiyacı olabilir.
‫Bazılarının dağıtımlara ve hizmetlere ihtiyacı olabilir.
‫Bazılarının içinde bir tür cron işi olması gerekebilir.
‫Yani, tam olarak işleyen bir izleme çözümüne sahip olmak
‫için ihtiyaç duyabileceği tüm bu farklı kaynak türleri
‫vardır.
‫Bu sadece bir örnek.
‫Temel olarak, artık bu modeli benimseyen ve onu
‫genişletmek için Kubernetes'e kendi özel kodlarını
‫uygulayan tüm bu yazılımlar var.
‫Esasen, bu araçları Kubernetes'in doğal
‫bir parçasıymış gibi çalıştırmanız için size
‫kubectl komutları verir.
‫Bu, her türlü açık kaynaklı şey için gerçekleşiyor, bu şeyleri
‫ekleyebilirsiniz... kaynaklarda bir sürü liste ve bu şeyleri
‫bulabileceğiniz farklı web siteleri göreceksiniz.
‫Bunları, yalnızca bir şeyi dağıtmanıza ve
‫ardından çalışmasına izin vermeyen, aslında Kubernetes'in
‫kendisinden uzanan komutları ve diğer API'leri
‫alan gerçekten karmaşık YAML dosyaları olarak düşünürsünüz.
‫Bu oldukça heyecan verici bir alan çünkü oldukça yeni ve
‫Kubernetes'in her şeyi nasıl ele geçirdiğini
‫gösteriyor. Yönetemediği ve kontrol
‫edemediği şeylerin sınırı yok gibi.
‫Açıkçası her şeyi buraya eklemek istemediğinizi söyleyebilirim
‫çünkü bunların her biri Kubernetes'e ETCD veritabanına
‫kendi bilgilerini ekleyecek, API'yi ve kontrol düzlemini genişletecek
‫ve tüm bu şeyler.
‫Çok fazla ekleme yaparsanız,
‫sisteminizde çok fazla karmaşıklıkla sonuçlanacağınız
‫potansiyel bir alan olabilir.
‫Şu anda, en azından izleme, veritabanları,
‫yedeklemeler ve günlük kaydı gibi şeyler için,
‫bunlar sadece internette gördüğünüz bir YAML
‫bulmak ve bunu bu YAML dosyasıyla dağıtmak
‫istiyorum demek yerine CRD'leri ve Operatör modeli türü
‫dağıtımları almaya odaklanacağım
‫alanlardır.
‫Bu ona daha fazla zeka kazandırır.
‫Bunların her biri hakkında çok sayıda kaynak
‫var ve elbette her birinin farklı bir uygulaması ve kullanımı
‫olacaktır. Artık var olduklarına göre kesinlikle kontrol
‫etmenizi öneririm.