Kubernetes Nedir?

Kubernetes (K8s), konteyner uygulamaların dağıtımını, ölçeklendirilmesini ve yönetimini otomatikleştirmek için açık kaynaklı bir sistemdir.

Bu makalemde sizlere mümkün olduğunca fazla bilgi aktarmaya çalışacağım.

Sektörün ihtiyaçları neticesinde container yapılarının yoğun olarak kullanılmaya başlanmasıyla, yönetim ve operasyon yükünü kısıtlı personel ile kaldırabilmek adına bu sistemleri otonom haline getirmek kaçınılmaz bir hal aldı. Kubernetes’in öne çıktığı nokta tam olarak burası diyebilirim.

Google’ın GO dili kullanılarak geliştirdiği Kubernetes’i 2014 yılında açık kaynak hale getirildi. Google tarafından 2004 yılından beri kullanılmakta ve hali hazırda milyarlarca konteyner için kullanılıyor.

Container yapısı ve dağıtık sistemler hakkında bilgi sahibi değilseniz, konuyu daha iyi anlayabilmek adına bu makaleden aşağıdaki makaleme göz atmanızı öneririm.

Kubernetes Ne Yapar?

Kubernetes konteyner içerisindeki uygulama veya servislerinizin en iyi şekilde çalışmasını sağlar.

Servisleri izler, yük dengelemesi yapar, depolama alanlarınızı yönetir, (Yerel depolama birimlerinizden, Amazon servislerine, NFS ve iSCSI protokollerinden verilmiş depolama birimlerine kadar), secret ve konfigürasyon yönetiminizi yapar, konteynerlarınız hataya düştüğünde otomatik olarak onarmaya çalışır, çok basit şekilde yatayda genişlemenizi sağlar. (CPU kullanımına göre otomatik olarak yapılabilir.)

Kubernetes Bileşenleri

Master ve node (worker) olarak iki başlık altında bileşenleri inceleyelim.

Kubernetes Mimarisi

Master Bileşenleri

Master üzerindeki bileşenler aslında clusterımızın tüm kontrol fonksiyonlarını yerine getiren birimdir. Yönetim fonksiyonlarının yanısıra operasyonel kararları alan birim de burasıdır.

Master bileşenleri cluster içerisindeki herhangi bir makinede çalışabilmesi mümkündür ama kolaylık olması için kurulumda tüm master bileşenlerini bir makinede toplanır ve kullanıcı containerları bu makinede çalıştırılmaz.

Master içerisinde 5 bileşen bulunur;

kube-apiserver

Aslında herşey Kubernetes API Serverdan soruluyor, master içerisinden veya worker nodalardan gelen tüm istekler buradan yönetilir.

Yatay olarak genişler, yani genişlemek için yeni instance kurmanız gerekir.

etcd

Yüksek bulunabilirlik (HA), tutarlılık ve izlenebilirlik özelliklerine sahip dağıtık mimari ile tasarlanmış ve tüm cluster verisinin saklandığı bileşendir. Veriler key value database olarak adlandırılan bir yapıda saklanır.

kube-scheduler

API Server üzerinden yeni bir pod oluşturulması isteği geldiğinde, bu podun hangi node üzerinde çalışacağına karar veren birimdir.

kube-controller-manager

Master node üzerindeki kontrolcüleri yöneten birimdir. Şu an için toplamda 4 kontrolcü mevcut ve her bir kontrolcü aslında mantıksal olarak farklı işlemler olarak çalışıyor ama karmaşıklığı gidermek adına hepsi tek bir binary olarak derlenip tek bir işlem olarak çalışmaktadır.

Aslında tek bir işlem gibi çalışan bu mantıksal kontrolcüler aşağıdaki gibi;

  • Node Controller
  • Replication Controller
  • Endpoints Controller
  • Service Account & Token Controllers

cloud-controller-manager

Daha çok yeni olan bu bileşen cloud servis sağlayıcılar ile etkileşim içerisinde olan kontrolcülerdir. Bu binary 1.6 sürümü ile henüz alfa özellik olarak geldi. Henüz çok bir bilgim olmadığı için daha sonra bu kısma ekleme yapacağım.

Node Bileşenleri

kubelet

Clusterdaki her node üzerinde çalışan ajandır. Bu ajan konteynerların, pod içerisinde çalışmasını sağlar. Kubelet kubernetes tarafından oluşturulmayan konteynerları yönetemez.

kube-proxy

Node üzerindeki ağ iletişimini sağlar ve yönetir. Nodeların ağ iletişimleri için kural dizileri oluşturmanızı ve yönetebilmenizi de burası sağlar.

Container Runtime

Konteynerların çalışmasından sorumlu olan bileşendir. Kubernetes kendisi haricinde Docker, containerd, cri-o, rktlet gibi farklı konteynerları da desteklemekte.

Daha detaylı bilgileri benim de kaynak olarak kullandığım resmi web sitesi https://kubernetes.io/ adresinden edinebilirsiniz.

İLGİNİZİ ÇEKEBİLİR

VMware Explore 2023

VMware Explore 2023, kurumsal uygulamalar, bulut mimarisi, altyapı, EUC, network ve güvenlik ile ilgilenenler de ...

VMware Photon OS 5.0

Daha önceki makalelerimde detaylı değindiğim PhotonOS 5.0 sürümü yayınlandı. Bu sürüm ile birlikte gelen yenilikler ...

VMware Tanzu – Storage

Bir önceki yazımda kubernetes platformları storage konseptleri hakkında temel bilgiler paylaşmıştım. Bu yazımda da Tanzu ...

Kubernetes Platformları – Storage

Bu makalemde kubernetes platformlarında kullanılan depolama çözümleri ile ilgili temel bilgi ktarmaya çalışacağım. VMware Tanzu ...

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.

error: İçerik Korumalıdır !!