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:
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