Yeni Başlayanlar İçin Kubernetes Eğitimi: Temel Bilgiler, Özellikler, Archidoku

Bu Kubernetes eğitimine başlamadan önce şunları öğrenelim:

Kubernetes nedir?

Kubernetes Google platformunda geliştirilen bir konteyner yönetim sistemidir. Kubernetes, çeşitli fiziksel, sanal ve bulut ortamlarındaki konteynerleştirilmiş uygulamaları yönetmeye yardımcı olur. Google Kubernetes, yüzlerce ila binlerce bireysel sunucudan oluşan kümelerde çalışan karmaşık uygulamaları tutarlı bir şekilde sunmak için son derece esnek bir konteyner aracıdır.

Neden konteynerlere ihtiyacınız var?

Günümüzün internet kullanıcısı kesintiyi asla kabul etmiyor. Bu nedenle geliştiricilerin hizmetlerini aksatmadan bakım ve güncelleme yapmalarının bir yolunu bulmaları gerekiyor.

Bu nedenle, bir konteyner izole bir ortamdır. Uygulamanın çalışması için gereken her şeyi içerir. Bir geliştiricinin uygulamaları düzenlemesini ve dağıtmasını kolaylaştırır. Dahası, konteynerleştirme web uygulamalarını paketlemek, dağıtmak ve güncellemek için tercih edilen bir yöntem haline gelmiştir.

Kubernetes tarafından hangi görevler gerçekleştirilir?

Kubernetes, dağıtık sistemler için kullanılan Linux çekirdeğidir. Düğümlerin (sunucuların) temel donanımını soyutlamanıza yardımcı olur ve paylaşılan kaynak havuzunu tüketen uygulamalar için tutarlı bir arayüz sunar.

Kubernetes'i neden kullanmalısınız?

Kubernetes, bulut uygulamaları ve mikro hizmetler için kaynak tahsisini ve trafik yönetimini kontrol etmenize yardımcı olur. Ayrıca hizmet odaklı altyapıların çeşitli yönlerini basitleştirmeye de yardımcı olur. Kubernetes, kapsayıcıya alınmış uygulamaların nerede ve ne zaman çalıştırılacağından emin olmanızı sağlar ve çalışmak istediğiniz kaynakları ve araçları bulmanıza yardımcı olur.

Kubernetes'in özellikleri

Temel Kubernetes özellikleri şunlardır:

  • Otomatik Planlama
  • Kendini İyileştirme Yetenekleri
  • Otomatik kullanıma sunma ve geri alma
  • Yatay Ölçeklendirme ve Yük Dengeleme
  • Geliştirme, test etme ve üretim için ortam tutarlılığı sunar
  • Altyapı her bileşene gevşek bir şekilde bağlanmıştır ve ayrı bir birim gibi hareket edebilir
  • Daha yüksek kaynak kullanımı yoğunluğu sağlar
  • Kurumsal kullanıma hazır özellikler sunar
  • Uygulama merkezli yönetim
  • Otomatik ölçeklenebilir altyapı
  • Öngörülebilir altyapı oluşturabilirsiniz

Kubernetes'in Temelleri

Şimdi bu Kubernetes eğitiminde Kubernetes'in bazı önemli Temellerini öğreneceğiz:

  • Cluster

    Mevcut kaynaklarını toplamanıza yardımcı olan bir ana bilgisayar (sunucu) koleksiyonudur. Bu, ram, CPU, ram, disk ve bunların cihazlarını kullanılabilir bir havuza dahil eder.

  • usta

    Ana öğe, Kubernetes'in kontrol panelini oluşturan bileşenlerin bir koleksiyonudur. Bu bileşenler tüm küme kararları için kullanılır. Küme olaylarının hem planlanmasını hem de yanıtlanmasını içerir.

  • Düğüm

    Fiziksel veya Sanal makine. Bir düğüm, kümenin bir parçası olarak kabul edilen kube-proxy, minikube ve kubelet'i çalıştırmalıdır.

  • Ad alanı

    Mantıksal bir küme veya ortamdır. Erişimin kapsamını belirlemek veya bir kümeyi bölmek için kullanılan yaygın olarak kullanılan bir yöntemdir.

Kubernetes Archidoku

Aşağıda detaylı bir Kubernetes mimarisi diyagramı bulunmaktadır:

Kubernetes Archidoku şeması
Kubernetes Archidoku şeması

Ana Düğüm

Ana düğüm, Kubernetes kümesinin yönetiminden sorumlu olan ilk ve en hayati bileşendir. Her türlü idari görevin giriş noktasıdır. Hata toleransını kontrol etmek için kümede birden fazla ana düğüm olabilir.

Ana düğümde API Sunucusu, Denetleyici Yöneticisi, Zamanlayıcı ve ETCD gibi çeşitli bileşenler bulunur. Hepsini görelim.

API Sunucusu: API sunucusu, kümeyi denetlemek için kullanılan tüm REST komutları için bir giriş noktası görevi görür.

Zamanlayıcı

Zamanlayıcı, görevleri yardımcı düğüme zamanlar. Her bağımlı düğüm için kaynak kullanım bilgilerini saklar. İş yükünün dağıtımından sorumludur.

Ayrıca çalışma yükünün küme düğümlerinde nasıl kullanıldığını izlemenize de yardımcı olur. İş yükünü mevcut kaynaklara yerleştirmenize ve iş yükünü kabul etmenize yardımcı olur.

vb.

Etcd bileşenleri yapılandırma ayrıntılarını ve Wright değerlerini saklar. Komut almak ve çalışmak için çoğu bileşenle iletişim kurar. Ayrıca ağ kurallarını ve bağlantı noktası yönlendirme etkinliğini de yönetir.

İşçi/Köle düğümleri

Çalışan düğümler, kapsayıcılar arasındaki ağı yönetmek, ana düğümle iletişim kurmak ve zamanlanmış kapsayıcılara kaynak atamanıza olanak sağlamak için gerekli tüm hizmetleri içeren bir diğer önemli bileşendir.

  • Kubelet: API sunucusundan bir Pod'un yapılandırmasını alır ve açıklanan konteynerlerin çalışır durumda olmasını sağlar.
  • Docker Konteyneri: liman işçisi konteyner, yapılandırılmış bölmeleri çalıştıran çalışan düğümlerin her birinde çalışır
  • Kube-proxy: Kube-proxy, tek bir çalışan düğümde hizmet gerçekleştirmek için yük dengeleyici ve ağ proxy'si görevi görür
  • Pod'lar: Pod, düğümlerde mantıksal olarak birlikte çalışan tek veya birden fazla kapsayıcının birleşimidir.

Diğer Anahtar Terminolojiler

Çoğaltma Denetleyicileri

Çoğaltma denetleyicisi, bir bölme şablonunu tanımlayan bir nesnedir. Ayrıca, çalışan kopyaların sayısını artırarak veya azaltarak Pod'un aynı kopyalarını yatay olarak ölçeklendirmek için parametreleri de kontrol eder.

Çoğaltma Kümeleri

Çoğaltma kümeleri, denetleyicinin yönetmeyi amaçladığı bölmeleri nasıl tanıdığı konusunda esnekliğe sahip, çoğaltma denetleyicisi tasarımındaki bir etkileşimdir. Daha yüksek kopya seçme yetenekleri nedeniyle çoğaltma denetleyicilerinin yerini alır.

Dağıtımlar

Dağıtım, doğrudan oluşturulabilen ve yönetilebilen ortak bir iş yüküdür. Dağıtım, çoğaltma kümesini yaşam döngüsü yönetimi özelliğini ekleyen bir yapı taşı olarak kullanır.

Durum Bilgili Kümeler

Düzen ve benzersizlik sunan özel bir bölme kontrolüdür. Esas olarak, dağıtım sırası, istikrarlı ağ iletişimi ve kalıcı verilerle ilgili olarak özellikle ihtiyaç duyduğunuz ayrıntılı kontrole sahip olmak için kullanılır.

Daemon Setleri

Daemon kümeleri, kümedeki her düğümde bir bölmenin kopyasını çalıştıran başka bir özel bölme denetleyici biçimidir. Bu tür pod denetleyicisi, bakım yapmanıza olanak tanıyan ve düğümlerin kendileri için hizmetler sunan podları dağıtmak için etkili bir yöntemdir.

Kubernetes ve Docker Swarm

İşte aralarındaki önemli farklar Kubernetes ve Docker.

Parametre Docker Sürüsü Kubernetes
Ölçekleme Otomatik Ölçeklendirme Yok Otomatik ölçeklendirme
Yük dengeleme Otomatik yük dengeleme yapar Yük dengeleme ayarlarınızı manuel olarak yapılandırın
Depolama birimi paylaşımı Depolama birimlerini herhangi bir diğer kapsayıcıyla paylaşır Aynı Pod içindeki birden fazla konteyner arasında depolama birimlerini paylaşır
Oturum açma ve izleme aracının kullanımı 3'i kullanrd ELK gibi parti aracı Günlüğe kaydetme ve izleme için yerleşik bir araç sağlayın.
Montaj Kolay ve hızlı Karmaşık ve zaman alıcı
GUI GUI mevcut değil GUI mevcut
ölçeklenebilirlik Ölçeklendirme K8S'den daha hızlıdır ancak küme gücü o kadar güçlü değildir Ölçeklendirme Swarm'a kıyasla yavaştır ancak daha güçlü küme durumunu garanti eder Yük dengeleme, manuel servis yapılandırması gerektirir
Yük dengeleme Yerleşik bir yük dengeleme tekniği sağlar Güncelleme sırasında hizmetleri sürdürmek için süreç planlama
Güncellemeler ve Geri Almalar Veri Birimlerinin Günlüğe Kaydedilmesi ve İzlenmesi Aşamalı güncellemeler ve hizmet durumunun izlenmesi. Yalnızca aynı Pod Dahili günlük kaydı ve izleme araçlarındaki kapsayıcılarla paylaşılır.

Kubernetes'in Avantajları

  • Pod'larla servisin kolay organizasyonu
  • Yılların değerli sektör deneyimini masaya getiren Google tarafından geliştirilmiştir.
  • Container düzenleme araçları arasında en büyük topluluk
  • Şirket içi, SAN'lar ve genel bulutlar dahil olmak üzere çeşitli depolama seçenekleri sunar
  • Değişmez altyapı ilkelerine bağlı kalır
  • Kubernetes şirket içi yalın donanım, OpenStack ve genel bulutları çalıştırabilir Google, Azure, AWS, vb.
  • Yük dengeleyici ve depolama gibi Kubernetes'in bir soyutlama sağladığı durumlar dışında, satıcıya özel API'leri veya hizmetleri kullanabildiği için satıcı kilitleme sorunlarından kaçınmanıza yardımcı olur.
  • Kubernetes kullanarak konteynerleştirme, paket yazılımının bu hedeflere hizmet etmesine olanak tanır. Herhangi bir kesinti olmadan yayınlanması ve güncellenmesi gereken uygulamaları mümkün kılacaktır.
  • Kubernetes, konteynerli uygulamaların istediğiniz yerde ve zamanda çalışmasını sağlamanıza olanak tanır ve çalışmak istediğiniz kaynakları ve araçları bulmanıza yardımcı olur.

Kubernetes'in dezavantajları

  • Kubenetes kontrol paneli olması gerektiği kadar kullanışlı değil
  • Kubernetes, tüm geliştirmenin yerel olarak yapıldığı ortamlarda biraz karmaşık ve gereksizdir.
  • Güvenlik çok etkili değil.

ÖZET

  • Container, bir kuruluşun hizmetleri kesintiye uğratmadan bakım ve güncelleme yapmasına yardımcı olur
  • Kubernetes, Google platformunda geliştirilen konteyner yönetim sisteminin bir örneğidir.
  • Kubernetes kullanmanın en büyük avantajı şirket içi OpenStack'i, genel bulutları Google'ı, Azure, AWS vb.
  • Kubernetes, otomatik Planlama ve Kendi Kendini İyileştirme Yetenekleri sunar.
  • Cluster, ana öğe, düğüm ve ad alanı kubernetes'in önemli temelleridir
  • Ana düğüm ve çalışma düğümü Kubernetes mimarisinin önemli bileşenleridir.
  • Çoğaltma Denetleyicileri, Çoğaltma kümeleri, Dağıtımlar, Durum Bilgili Kümeler, Daemon Kümeleri Kubernetes'te kullanılan diğer önemli terimlerdir.
  • Docker sürüsü otomatik ölçeklendirmeye izin vermezken Kubernetes otomatik ölçeklendirmeye izin verir.
  • Kubenetes'in en büyük dezavantajı kontrol panelinin çok kullanışlı ve etkili olmamasıdır