Kubernetes nedir?

Hazırlayan IBM Services

Konteyner mimarisine sahip uygulamaları her ortamda düzenleyin ve devreye alın

Kubernetes konteyner mimarisindeki uygulamaların devreye alınmasını, ölçeklenmesini ve izlenmesini otomatikleştiren bir açık kaynak çözümüdür.

Konteyner, temelindeki altyapıdan ayrı bir yazılımdır. Konteynerlerle, işletim sistemi seviyesine kadar her şey sanallaştırılır. Bu da bir uygulamanın, nerede çalışırsa çalışsın, aynı şekilde işlev göstereceği anlamına gelir.

Günümüzde çoğu konteyner bir Kubernetes platformunda çalışır. Kuruluşa göre: "Kubernetes konteyner merkezli bir yönetim ortamı sağlar. Kullanıcı iş yükleri adına bilgi işlem, ağ ve depolama altyapısını düzenler…ve altyapı sağlayıcıları genelinde taşınabilirlik sağlar." ⁽¹⁾

Kubernetes temelleri

Kubernetes'in başlangıç noktası bir grup mühendisin Borg adlı bir küme yönetim sistemi geliştirdikleri Google'dır. Şirket 2014'te Borg'un Kubernetes adındaki açık kaynak versiyonunu tanıttı.⁽²⁾

Kubernetes'in ilk sürümü dağınık uygulamalar için konteynerlerin düzenlenmesi amacıyla 2015'te yayınlandı. Google bu yayınla birlikte, Bulut Tabanlı Bilgi İşlem Temelini oluşturmak için Linux Foundation ile işbirliği yaptı ve kök teknoloji olarak Kubernetes'i sundu.⁽³⁾

Konteyner teknolojisine dayalı sistemlerde geliştirme arşivi taşınabilirliği sağlayan Kubernetes ilk gününden bu yana geçen her gün popülerliğini artırdı. Kubernetes açık kaynak topluluğu katkıda bulunan 1400'ün üzerinde şirketle birlikte artık dünyanın en büyüklerinden biri.

En yaygın konteyner teknolojisi Docker olsa da, Kubernetes başka teknolojileri de destekliyor. Docker, yazılımların bir uygulamayı çalıştıracak bütün öğeleri içeren standartlaştırılmış birimler halinde paketlenmesi için şablonlar belirledi.

Kubernetes sunucu kullanımı ve alanını optimize ederken konteyner ortamını düzenliyor. Akıllı zamanlama, yük dengeleme, ölçeklenebilirlik, depolama yönetimi ve toplu yürütme gibi özellikleri kullanarak konteynerlerin nerede ve nasıl devreye alınacağını yönetiyor.

Bazı temel kavramlar:

  • Temel Kubernetes yönetim birimi bir konteyner bölmesi veya grubudur. Bir bölmedeki konteynerler aynı depolama, kaynak ve IP adresini paylaşır.
  • Bir Kubernetes kümesi ana ve işçi düğümlerden oluşur. (Düğüm, üzerinde bir konteyner çalışan anasistem ya da sunucudur; sanal ya da fiziksel bir makine olabilir.)
  • Ana düğüm, konteyner iş yükünü yönetir ve sistem genelinde iletişimi yönlendirir. Performans, kapasite ve kullanılabilirliği kontrol eden bir zamanlayıcı içerir.
  • İşçi düğümler, ana düğümün yönlendirmesiyle bölmeleri çalıştırır.
  • Yapılandırma dosyaları ekiplerin aynı anda çalıştırılabilen bölme sayısı gibi işletim parametrelerini belirlemesini sağlar. Kubernetes kullanarak bütün bir veri merkezindeki kaynakları tek bir sistem gibi yönetmek mümkündür. 

Kubernetes ile Docker karşılaştırması: Karşımızdaki "o ya da bu" meselesi değil.

Kubernetes neden önemli?

Büyük kurumsal uygulamalar çok sayıda konteyner içerebilir. Bu tür bir mimari hızla karmaşık hale gelebilir.

Kuruluşların, bir konteyner ortamındaki tüm hareketli parçaları tercihen tek bir bakış açısıyla düzenleyebilmesi gerekir. Birçoğu çözüm olarak Kubernetes'i seçiyor.

Kubernetes konteynerlerin kullanılabilirliğini ve verimli bir şekilde devreye alınmasını sağlamak için ekosistemi yönetir ve bilgi işlem ve depolamayı buna göre ayarlar. Bu arada geliştirme herhangi bir zamanda her şeyin nerede olduğunu görebilir.

Kubernetes kuruluşların yeni uygulamaların devreye alınmasını kolaylaştırmasına, konteyner ve kaynak yönetimini sorunsuz hale getirmesine, yükseltme risklerini azaltmasına ve kapalı kalma süresini ortadan kaldırmasına yardımcı olabilir. Uygulama bileşenlerini tek tek veya grup olarak ölçekleyebilir ve taşınabilir, bulut tabanlı uygulamaları destekleyebilir.  

Matt Johnsen IBM bloğunda bazı avantajları ana hatlarıyla açıklıyor:

  • Maliyet tasarrufu: Kubernetes kümeleri bakım ihtiyacının az olmasıyla bilinir. Ekiplerin kendi konteyner otomasyon komutlarını yazmasına gerek yoktur. Ortak bir altyapıdan yararlanabilirler. Eldeki donanımları daha etkin şekilde kullanarak donanım maliyetlerini düşürebilirler.
  • Daha kısa sürede pazara sunma: Kubernetes, DevOps için mükemmeldir. İyi bir konteyner yönetiminde devreye alma işlemi yazılım çalıştığı sürece neredeyse sorunsuzdur.
  • BT esnekliği: Modern bir kuruluşta yazılımlar, özel ve ortak altyapılarda çalışır. Altyapıların sayısı önemli değildir. Bir konteyner yönetimi çözümü kullanılması, ekiplerin performanstan ödün vermek ya da uygulamaları taşımak için önemli ayarlamalar yapmak zorunda olmayacağı anlamına gelir. Yazılımları işin gerektirdiği her yerde çalıştırabilirler.

Kubernetes'in bir diğer avantajı da yatay ölçeklemedir. Değişen performans talepleri bu sayede karşılanabilir.

IBM Developer Advocate olan Sai Vennam konuyla ilgili olarak şunları söylüyor: "Uygulamalarınızda Docker'dan ve konteynerlerden yararlanıyorsanız, bunların Kubernetes'e taşınması ölçekleme aşamasında hemen her uygulamanın karşılaştığı bazı ek işletim yüklerinin üstesinden gelmenize gerçekten yardımcı olabilir."

Hizmet olarak sunulan Kubernetes

Kuruluşlar konteyner devreye alımlarının düzenlenmesi için şirket içinde bir Kubernetes sistemi kullanabilir. Ya da bir hizmet sağlayıcı hizmet olarak Kubernetes tabanlı bir platform veya altyapı sunabilir.

Müşteriler daha az karmaşıklık ve yükle aynı özelliklerden yararlanır. IBM Cloud Başkan Yardımcısı ve Üyesi Jason McGee'ye göre:

"Bir kaynak grubunun işlevsel bir konteyner kümesi içerisinde kurulması, bağlantılarının ve yapılandırmasının gerçekleştirilmesi kolay değil. Bunun için bilgi birikimi ve çalışmak gerekiyor. Konteyner ortamından kapasite çıkarmanız veya bu ortama kapasite eklemeniz gerekirse? Arızalar oluştuğunda nasıl eski duruma dönersiniz? Konteynerler ve Kubernetes de inanılmaz bir hızla değişiyor.

"Kendi başınıza bu hıza yetişmeniz çok zor. Yönetilen bir hizmetin sunduğu avantajlardan biri de her şeyin size göre tasarlanması, böylece yalnızca uygulamalarınıza odaklanabilmenizdir." ⁽⁴⁾

IBM gibi bir yönetilen hizmet sağlayıcısı her düğüm kümesindeki bilgi işlem, ağ ve depolama kaynaklarını kontrol eder. IBM hizmeti akıllı zamanlama, daha kolay küme yönetimi, konteyner güvenliği ve yalıtım ilkeleri ve altyapı yükseltmeleri sunar.

IBM müşterileri Kubernetes hizmetini yalın donanım bulut altyapısında da kullanabilir. Bu, makine öğrenimi ya da yapay zeka iş yükleri gibi çok yüksek bilgi işlem performansı gerektiren uygulamalara hız ve çeviklik katar.

McGee sözlerine şöyle devam ediyor: "Geliştiriciler artık yalıtım, artan işlem kapasitesi ya da büyük yerel disk depolaması gibi ihtiyaçlarını karşılayan yalın donanım yapılandırmaları seçebilir. Aynı zamanda verileri sistemler arasında kolayca taşıma ya da birçok ekip üyesinin bir uygulamanın birden çok parçasında eşzamanlı çalışmasını sağlama gibi konteyner avantajlarından yararlanabilir."

The Weather Company, insanların güvenliğini sağlamaya yardımcı olacak web hizmetlerini ölçeklendiriyor

 

Kubernetes kaynakları

Konteyner nedir ve neden onlara ihtiyaç duyarsınız?

Konteynerlerin ne olduklarını ve neden kuruluşlar tarafından kullanıldıklarını öğrenin

Kubernetes'in benimsenmesi ve uygulama performansı yönetiminin önemi

Kubernetes tabanlı bir bulut ortamının birçok işletme için neden bir dönüşüm potansiyeli yaratabileceğini öğrenin

Kubernetes ile Docker karşılaştırması: İkisi birden olabilir mi?

Kubernetes ve Docker arasındaki farkları öğrenin

IBM, yalın donanım üzerindeki yönetilen Kubernetes ile karmaşık iş yüklerine konteynerlerin pratikliğini getiriyor

Kubernetes konteynerlerinin yalın donanım bulut altyapısında bir yönetilen hizmet olarak çalıştırılmasının getirdiği avantajları keşfedin

Watson'dan öğrenin: Konteynerler yapay zeka iş yüklerini nasıl ölçeklendirir

Yapay zeka iş yüklerinin bulutta farklı ve daha iyi olmasının nedenlerini keşfedin

Outlyer ile IBM Cloud Service hizmetini izleme

IBM Cloud Kubernetes Service'te Outlyer self-servis izleme olanağını kullanmanın avantajlarını öğrenin

Öne çıkan hizmet

IBM Kubernetes Cloud Service

 

1. https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/

2. https://blog.risingstack.com/the-history-of-kubernetes/

3. https://en.wikipedia.org/wiki/Kubernetes

4. https://softwareengineeringdaily.com/2017/11/29/how-ibm-runs-its-cloud-with-jason-mcgee/