Yeni Başlayanlar İçin Kubernetes Eğitimi

⚡ Akıllı Özet

Kubernetes, tarafından geliştirilen açık kaynaklı bir konteyner yönetim sistemidir. Google Fiziksel, sanal ve bulut sunucu kümeleri genelinde kapsayıcılaştırılmış uygulamaların dağıtımını, ölçeklendirilmesini ve işletimini otomatikleştiren, kendi kendini onaran, otomatik dağıtımlar, yük dengeleme ve güvenilir uygulama teslimi için tutarlı ortamlar sunan bir çözümdür.

  • ☸️ Kubernetes Tanımı: Açık kaynaklı bir konteyner yönetim sistemi Google Kümelenmiş uygulamalar için.
  • ???? Konteynerlerin Neden Kullanılması Gerektiği: Konteynerler, bir uygulamanın ihtiyaç duyduğu her şeyi paketleyerek, uygulama kesintisi olmadan güncelleme ve bakım yapılmasını sağlar.
  • ⚙️ Temel Özellikler: Otomatik zamanlama, kendi kendini onarma, devreye alma/geri alma, yatay ölçeklendirme ve yük dengeleme.
  • 🧱 Ana bileşenler: ClusterAna düğüm (API Sunucusu, Zamanlayıcı, etcd), çalışan düğümler ve pod'lar.
  • 🆚 Docker Swarm'a karşı: Kubernetes otomatik ölçeklendirme ve yerleşik izleme özellikleri sunarken, Swarm'ın kurulumu daha basit ve hızlıdır.
  • Avantajlar ve Dezavantajlar: Geniş bir topluluğa sahip herhangi bir bulut platformunda çalışır, ancak karmaşık bir kontrol paneli ve kurulumu vardır.

Yeni Başlayanlar İçin Kubernetes Eğitimi

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

Kubernetes nedir?

Kubernetes Bu, üzerinde geliştirilmiş bir konteyner yönetim sistemidir. Google Kubernetes, çeşitli fiziksel, sanal ve bulut ortamlarında kapsayıcılaştırılmış uygulamaları yönetmeye yardımcı olan bir platformdur. Google Kubernetes, yüzlerce hatta binlerce ayrı sunucudan oluşan kümeler üzerinde çalışan karmaşık uygulamaları tutarlı bir şekilde sunmak için kullanılan 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. Mutlak çözümler üretmenize yardımcı olur.tracDüğümlerin (sunucuların) temel donanımına bağlıdır ve paylaşılan kaynak havuzunu kullanan 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ı

Bu, mantıksal bir küme veya ortamdır. Sco için yaygın olarak kullanılan bir yöntemdir.ping Bir kümeye erişim veya kümenin bölünmesi.

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.

Aynı zamanda size yardımcı olur tracKüme düğümlerinde iş yükünün nasıl kullanıldığını anlarsınız. Bu, iş yükünü mevcut ve iş yükünü kabul eden kaynaklara yerleştirmenize 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
  • Tarafından geliştirilmiştir. GoogleSektörde yıllarca edindikleri değerli deneyimi masaya getirenler
  • 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.
  • Kubernetes'in mutlak bir kısıtlama sağladığı durumlar dışında, herhangi bir tedarikçiye özgü API veya hizmeti kullanabildiği için tedarikçi bağımlılığı sorunlarından kaçınmanıza yardımcı olur.tracÖrneğin, yük dengeleyici ve depolama.
  • 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.

SSS

Pod, Kubernetes'te konuşlandırılabilen en küçük birimdir. Depolama, ağ ve çalışma şekline ilişkin bir spesifikasyonu paylaşan bir veya daha fazla kapsayıcıyı gruplandırır ve bunlar bir düğümde birlikte planlanır.

Docker, konteynerleri oluşturan ve çalıştıran bir konteyner çalışma ortamıdır; Kubernetes ise konteynerleri kümeler arasında yöneten, ölçeklendiren ve planlayan bir orkestrasyon sistemidir. Genellikle birlikte kullanılırlar.

Evet. Kubernetes, Apache 2.0 lisansı altında açık kaynaklı ve ücretsizdir. Ancak, GKE, EKS veya AKS gibi yönetilen bulut hizmetlerinde çalıştırılması altyapı ve hizmet maliyetleri gerektirebilir.

Yapay zeka, kaynak ihtiyaçlarını tahmin ederek, iş yüklerini otomatik olarak ölçeklendirerek, anormallikleri tespit ederek ve zamanlamayı optimize ederek Kubernetes'e yardımcı olur. AIOps araçları, güvenilirliği artırmak ve manuel işlemleri azaltmak için küme metriklerini ve günlüklerini analiz eder.

Evet. Yapay zeka asistanları YAML manifestleri oluşturabilir, arızalı pod'larda sorun giderebilir, doğru boyutlandırma önerebilir ve küme olaylarını açıklayabilir, yardımcı olabilir.ping Ekipler, Kubernetes'i daha az manuel çabayla daha verimli bir şekilde kullanıyor.

Bu yazıyı şu şekilde özetleyin: