Ana içeriğe geç

Kubernetes

Okunuşu
kubernetis
Güncellendi 2 dk okuma

Bu sayfayı paylaşın

Bağlantıyı gönderin, tanımı bağlantısıyla birlikte alıntılayın ya da kendi sitenizde bir kart olarak gösterin.

https://softwaredictionary.org/tr/terimler/kubernetes

Kısaca

Kubernetes, konteynerli uygulamaların bir makine kümesi üzerinde dağıtılmasını, ölçeklenmesini ve yönetilmesini otomatikleştiren açık kaynaklı bir sistemdir.

Kubernetes nedir?

Çoğunlukla K8s olarak kısaltılan Kubernetes, bir konteyner orkestrasyon platformudur. Bir uygulama birçok sunucuda çok sayıda konteyner olarak çalıştığında, Kubernetes her konteynerin nerede çalışacağına karar verir, çöken konteynerleri yeniden başlatır, talebe göre büyütür ya da küçültür ve ağ trafiğini onlara yönlendirir. Başlangıçta Google'da geliştirilmiştir ve şimdi Cloud Native Computing Foundation (CNCF) tarafından sürdürülmektedir.

Kubernetes bildirimseldir (declarative): istenen durumu, örneğin "bu web uygulamasının üç kopyasını çalıştır" gibi, YAML dosyalarında tarif edersiniz ve Kubernetes gerçeği bu tanıma uydurmak için sürekli çalışır. Temel yapı taşları pod'lar (en küçük birim; birlikte çalışan bir ya da daha fazla konteyner), deployment'lar (pod kopyalarını yöneten ve güncellemeleri kademeli olarak yayan yapılar) ve service'lerdir (bir pod grubu için sabit ağ adresleri).

İyi bir benzetme, orkestrasyon sözcüğünün de geldiği yer olan orkestra şefidir. Müzisyenler (konteynerler) müziği çalar; şef ise doğru sayıda müzisyenin çaldığından emin olur, duran birinin yerine başkasını koyar ve her şeyi uyum içinde tutar. Büyük bulut sağlayıcıları yönetilen Kubernetes hizmetleri sunar; böylece ekiplerin kümenin kontrol katmanını (control plane) kendilerinin işletmesi gerekmez.

Kubernetes sık sık Docker ile karşılaştırılır, ancak ikisi farklı sorunları çözer: Docker tek tek konteynerleri oluşturur ve çalıştırırken Kubernetes bir küme üzerindeki birçok konteyneri yönetir. Kubernetes güçlü ama karmaşıktır; bu yüzden küçük projeler çoğu zaman Docker Compose, hizmet olarak platform (PaaS) ya da serverless barındırma gibi daha basit seçeneklerle rahatça idare eder.

Bir bakışta

Bir Deployment replicas: 3 bildirir; kontrol katmanı pod'ları iki düğüme yerleştirir ve bir pod çöktüğünde yenisini başlatır; service ise kullanıcılara sabit bir adres verir ve trafiklerini yalnızca çalışan üç pod'a yönlendirir.Düğüm 1Düğüm 2pod'ları yerleştiriryeni pod başlatırkind: Deploymentreplicas: 3istenen durumKontrol katmanı3 pod'u çalışır tutarPodPodPodçöktüPodyeniKullanıcılarServicesabit bir adres
Kaç kopya istediğinizi siz bildirirsiniz, Kubernetes gerçeği buna uydurur: çöken pod'ların yerine yenilerini koyar, service de trafiği çalışan pod'lara yönlendirmeyi sürdürür.

Önemli noktalar

  • Kubernetes, konteynerleri bir makine kümesi üzerinde orkestre eder.
  • İstenen durumu YAML ile bildirirsiniz, Kubernetes de onu o şekilde korur.
  • Pod'lar, deployment'lar ve service'ler temel yapı taşlarıdır.
  • Ölçekleme, kendi kendini iyileştirme, kademeli güncelleme ve yük dengelemeyi üstlenir.
  • K8s, Kubernetes'in kısaltmasıdır: bir K, sekiz harf ve bir s.

Örnek

Bir uygulamanın üç kopyasını çalıştıran Kubernetes Deploymentyaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web
spec:
  replicas: 3 # keep three copies of the container running at all times
  selector:
    matchLabels: { app: web }
  template:
    metadata:
      labels: { app: web }
    spec:
      containers:
        - name: web
          image: example/web:1.0

Sık sorulan sorular

Docker ile Kubernetes arasındaki fark nedir?

Docker, konteyner imajları oluşturmak ve genellikle tek bir makinede konteyner çalıştırmak için kullanılır. Kubernetes ise birçok makinedeki birçok konteyneri çalıştırıp yönetir; zamanlama, ölçekleme ve kurtarmayı üstlenir ve Docker ile oluşturulmuş imajları çalıştırabilir.

Kubernetes neden K8s olarak adlandırılıyor?

K8s bir numeronym'dir: 8, Kubernetes'te K ile s arasındaki sekiz harfi temsil eder. Adın kendisi ise dümenci ya da pilot anlamına gelen Yunanca sözcükten gelir.

Kubernetes'e ihtiyacım var mı?

Her zaman değil. Kubernetes, otomatik ölçekleme ve yüksek erişilebilirlik gerektiren birçok servis çalıştırdığınızda karşılığını verir; tek bir küçük uygulama için daha basit bir barındırma platformu ya da Docker Compose genellikle yeterlidir.

Sık karşılaştırılanlar

İlgili sayfalar

Kaynaklar

Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin

Daha fazla

Ayarlar