Kubernetes nedir?
Mikro hizmetlerin ayrılmış tasarımı ve kapsayıcıların bölünmezliği, talebe yanıt veren uygulamaların ölçeğini genişletmeyi mümkün kılar. İnsansız hava aracı izleme uygulaması gibi karmaşık çözümlerde kapsayıcıları dağıtma, güncelleştirme, izleme ve kaldırma süreci zorluklara neden olabilir.
Kubernetes'tekilere bakmadan önce kapsayıcı yönetimi ve düzenleyiciler olarak anlamanız gereken iki kavram vardır.
Kapsayıcı yönetimi nedir?
Kapsayıcı yönetimi, önemli sayıda kapsayıcıyı düzenleme, ekleme, kaldırma veya güncelleştirme işlemidir.
İnsansız hava aracı izleme uygulaması önbelleğe alma, kuyruğa alma veya veri işleme gibi görevlerden sorumlu birden çok mikro hizmet içerir. Bu hizmetlerin her biri birbirinden bağımsız olarak dağıtılan, güncelleştirilen ve ölçeklendirilen bir kapsayıcıda barındırılır.
Örneğin, insansız hava aracı izleme uygulamasının web sitesinde günün belirli saatlerinde performansı korumak için sitenin önbelleğe alma hizmetinin daha fazla örneğine ihtiyacınız olduğunu fark edersiniz, böylece daha fazla önbelleğe alma hizmeti kapsayıcı örneği eklersiniz.
Ardından, önbelleğe alma örneklerinin sayısını artırdığınız ve mikro hizmetin yeni bir sürümünü kullanıma sunmanız gerektiğini varsayalım. Yeni sürümü kullanmak için tüm etkin kapsayıcıları güncelleştirmeniz gerekir.
Kapsayıcı yönetimi, bu el ile yinelenen görevler konusunda size yardımcı olur.
Kapsayıcı düzenleyici nedir?
Kapsayıcı düzenleyicisi, kapsayıcılı uygulamaları otomatik olarak dağıtıp yöneten bir sistemdir. Yönetimin bir parçası olarak düzenleyici, uygulamanın dağıtılan örneklerinin sayısını artırmak veya azaltmak için ortamdaki dinamik değişiklikleri ölçeklendirmeyi işler. Ayrıca, bir hizmetin yeni bir sürümü yayımlandığında dağıtılan tüm kapsayıcı örneklerinin güncelleştirilmesini sağlar.
Kubernetes'in tanımı
Kubernetes, kapsayıcılı iş yüklerini yönetmeniz ve düzenlemeniz için taşınabilir, genişletilebilir bir açık kaynak platformudur. Kubernetes, karmaşık kapsayıcı yönetimi görevlerini basitleştirir ve size farklı bilgi işlem ortamlarındaki kapsayıcıları düzenlemeye yönelik bildirim temelli yapılandırma sağlar. Bu düzenleme platformu, hizmet olarak platform (PaaS) veya hizmet olarak altyapı (IaaS) tekliflerinden zaten bildiğiniz kullanım kolaylığı ve esnekliği sağlar.
Kubernetes’in avantajları
Kubernetes kullanmanın avantajları, görevlerin soyutlanmasını temel alır.
Bunlar aşağıdakileri içerebilir:
Kapsayıcıların kendi kendini düzeltmesi; Örneğin, başarısız olan kapsayıcıları yeniden başlatma veya kapsayıcıları değiştirme
Dağıtılan kapsayıcı sayısını isteğe bağlı olarak dinamik olarak artırma veya azaltma
Kapsayıcıların sıralı güncelleştirmelerini ve geri almalarını otomatikleştirme
Depolamayı yönetme
Ağ trafiğini yönetme
Kullanıcı adları ve parolalar gibi hassas bilgileri depolama ve yönetme
Önemli
Kubernetes’in yukarıda bahsedilen özelliklerinin tamamının yapılandırılması ve temelindeki teknolojilerin iyice anlaşılması gerektiğini unutmayın. Örneğin Kubernetes ağını yapılandırmak için sanal ağlar, yük dengeleyiciler, ters ara sunucular gibi kavramları anlamanız gerekir.
Kubernetes konuları
Kubernetes sayesinde veri merkezinizi tek bir büyük işlem kaynağı olarak görebilirsiniz. Kapsayıcılarınızı nasıl ve nerede dağıttığınızı düşünmeniz gerekmez, yalnızca uygulamalarınızı gerektiği gibi dağıtma ve ölçeklendirme konusunda endişelenmeniz gerekmez.
Ancak Kubernetes’in kapsayıcılı bir çözümü yönetmek ve düzenlemek için gerekli olan tüm bileşenlerle birlikte yüklenen tek bir uygulama olmadığını anlamanız önemlidir:
Dağıtım, ölçeklendirme, yük dengeleme, günlük ve izleme gibi yönlerinin tümü isteğe bağlıdır. Bu yönlerle ilgilenmek için ihtiyaçlarınıza en uygun çözümü bulmak sizin sorumluluğunuzdadır.
Kubernetes, platformda çalıştırılabilecek uygulama türlerine sınırlama getirmez. Uygulamanız kapsayıcıda çalıştırılabiliyorsa Kubernetes üzerinde de çalıştırılabilir. Kapsayıcılı çözümlerini en iyi şekilde kullanmak için geliştiricilerinizin mikro hizmet mimarisi gibi kavramları anlaması gerekir.
Kubernetes ara yazılım, veri işleme çerçeveleri, veritabanları, önbellekler veya küme depolama sistemleri sağlamaz. Bu öğelerin tümü kapsayıcı olarak veya başka bir hizmet teklifinin parçası olarak çalıştırılır.
Kubernetes'in kapsayıcıları çalıştırması için Docker veya containerd gibi bir kapsayıcı çalışma zamanı gerekir. Kapsayıcı çalışma zamanı, kapsayıcıları yönetmekten sorumlu nesnedir. Örneğin kapsayıcı çalışma zamanı başlatılır, durdurulur ve kapsayıcının durumu hakkında bilgiler verir.
Kubernetes ortamınızı sürdürmekten siz sorumlusunuz. Örneğin işletim sistemi yükseltmelerini ve Kubernetes yüklemesiyle yükseltmelerini yönetmeniz gerekir. Ayrıca konak makinelerin ağ, bellek ve depolama gibi donanım yapılandırmasını da siz yönetirsiniz.
Azure Kubernetes Service (AKS) gibi bulut hizmetleri, barındırılan bir Kubernetes ortamı sağlayarak bu zorlukları azaltır. Bu hizmetler, Azure'da kapsayıcılı uygulamaları dağıtmayı ve yönetmeyi de basitleştirir. AKS sayesinde, kendi özel Kubernetes kümenizi çalıştırmanın karmaşıklığı ve işlem ek yükü olmadan açık kaynak Kubernetes’in avantajlarını elde edebilirsiniz.
Not
Kubernetes bazen K8s olarak kısaltılır. Buradaki 8 sayısı, K[ubernete]s sözcüğünde K ile s harfleri arasındaki sekiz karakteri temsil eder.