Azure Kubernetes Service nedir?

Tamamlandı

Birkaç tanım ve Azure Kubernetes Service (AKS) üzerinden hızlı bir turla başlayalım. Bu genel bakış, AKS'nin kapsayıcı yönetimi stratejiniz için iyi bir platform olup olmadığını belirlemenize yardımcı olacak bilgiler sağlar.

Kapsayıcı nedir?

Kapsayıcı, belirli bir uygulama için kod, bağımlılık ve yapılandırmayı paketleyen atomik bir yazılım birimidir. Kapsayıcılar tek parça uygulamaları çözümü oluşturan tek tek hizmetlere bölmenizi sağlar. Uygulamamızın bu yeniden oluşturma işlemi, bu ayrı hizmetleri kapsayıcılar aracılığıyla dağıtmamıza olanak tanır.

Bulut dağıtımı için kapsayıcı olarak çoğaltılan sunucu veya uygulamayı gösteren diyagram.

Kapsayıcı neden kullanılır?

Varlık izleme çözümünüzün üç ana uygulama içerdiğini varsayalım:

  • İzlenen varlıklar hakkında haritalar ve bilgiler içeren bir izleme web sitesi

  • İzlenen varlıklardan gönderilen bilgileri toplayan ve işleyen bir veri işleme hizmeti

  • Web sitesinden yakalanan müşteri bilgilerini depolamaya yönelik bir MSSQL veritabanı

Müşteri talebini karşılamak için çözümünüzün ölçeğini genişletmeniz gerekir.

Sanal Makineler (VM'ler)

Seçeneklerden biri, birden çok bölgede barındırılan her uygulama için yeni bir sanal makine dağıtmaktır. Ardından uygulamaları yeni VM'lerinize kopyalayın. Ancak bunu yapmak, kullandığınız her vm'yi yönetmekle sorumlu olmanıza neden olur.

Siz ölçeklendirdikçe bakım yükü artar. Her uygulamanın eşleşecek VM işletim sistemi (OS) sürümlerini ve bağımlılıklarını sağlamanız ve yapılandırmanız gerekir. Uygulamalarınız için işletim sistemini ve önemli değişiklikleri etkileyen yükseltmeler uyguladığınızda önlemler alınıyor. Yükseltme sırasında herhangi bir hata görünürse, yüklemeyi geri almanız gerekir ve bu da kapalı kalma süresi veya gecikme gibi kesintilere neden olur.

Çoğaltılan sunucuları bulutta VM olarak gösteren ve sorunun geçiş sorularını ve sorunlarını nasıl doğurduğunu gösteren diyagram.

Önceki diyagramdaki dağıtım hantaldır, bazen hataya açıktır ve tek hizmetleri kolayca ölçeklendirmez. Örneğin, yalnızca web uygulamasında kullanılan önbelleğe alma hizmetini kolayca ölçeklendiremezsiniz. Kapsayıcılar bu tür sorunları çözmeye yardımcı olur.

Kapsayıcı kavramı bize dört önemli avantaj sağlar:

  1. Değişmezlik: Kapsayıcının değişmeyen yapısı, bir işlem ortamından diğerine aynı davranışla güvenilir bir şekilde dağıtılmasına ve çalıştırılmasına olanak tanır. Soru-Cevap ortamında test edilen kapsayıcı görüntüsüyle üretime dağıtılan kapsayıcı görüntüsü aynıdır.

  2. Daha Küçük Boyut: Kapsayıcı, vm'ye benzer, ancak her makine için çekirdek olmadan. Bunun yerine, bir konak çekirdeğini paylaşırlar. VM'ler hem işletim sistemini hem de çalıştırmak istediğiniz uygulamayı depolamak için büyük bir görüntü dosyası kullanır. Buna karşılık kapsayıcının işletim sistemine ihtiyacı yoktur, yalnızca uygulamayı içerir.

  3. Basit: Kapsayıcı, çekirdeğe özgü hizmetler için her zaman konak tarafından yüklenen işletim sistemine dayanır. Basit özelliği kapsayıcıları daha az kaynak yoğunluklu hale getirir, bu nedenle aynı işlem ortamında birden çok kapsayıcı yüklemek mümkündür.

  4. Başlatma hızlıdır: Vm'lerin aksine kapsayıcılar birkaç saniye içinde başlatılır ve bu işlem birkaç dakika sürebilir.

Bu avantajlar kapsayıcıları hem geliştiriciler hem de BT işlemleri için popüler bir seçim haline getirir ve bu nedenle çoğu VM'den geçiş yapar.

Kapsayıcı yönetimi nedir?

Çoğaltılan sunucuları bulutta birden çok kapsayıcı olarak gösteren diyagram.

Kapsayıcılar işlevsel olarak VM'lere benzer olsa da amaçları farklılık gösterir. Kapsayıcının, geçici bir makine olarak var olan farklı bir yaşam döngüsü vardır. Durumu bekleyen, çalışan ve sonlandırılan aşamalardan geçer. Bu yaşam döngüsü kapsayıcıları daha atılabilir hale getirir ve geliştiricilerin ve BT operasyonlarının birbirine bağlı büyük uygulamaların yönetimi hakkında düşünme şeklini etkiler. Kapsayıcı yönetimi kapsayıcıları dağıtmayı, yükseltmeyi, izlemeyi ve kaldırmayı içerir.

Örneğin, öğlen saatlerinde daha fazla site trafiği olduğunu fark ettiğinizi ve dolayısıyla performansı yönetmek için sitenin önbelleğe alma hizmetinin daha fazla örneğine ihtiyacınız olduğunu varsayalım. Daha fazla önbelleğe alma hizmeti kapsayıcısı ekleyerek bu sorunu çözmeyi planlıyorsunuz.

Şimdi önbelleğe alma hizmetinizin yeni bir sürümünü kullanıma sunmanın zamanı geldi. Tüm kapsayıcıları nasıl güncelleştirirsiniz? Tüm eski sürümleri nasıl kaldırırsınız?

Bu tür yük dengeleme soruları, kapsayıcı dağıtımınızı yönetmek için bir sistem gerektirir.

Kubernetes nedir?

Kubernetes, kapsayıcılı iş yüklerini dağıtmayı, ölçeklendirmeyi ve yönetmeyi otomatikleştiren taşınabilir, genişletilebilir, açık kaynak bir platformdur. Kubernetes karmaşık kapsayıcı yönetimini soyutlar ve farklı işlem ortamlarındaki kapsayıcıları düzenlememiz için bildirim temelli bir yapılandırma sağlar. Bu düzenleme platformu Hizmet Olarak Platform (PaaS) ve Hizmet Olarak Altyapı (IaaS) teklifleriyle aynı kullanım kolaylığını ve esnekliği getirir.

Çoğaltılan sunucuları bir Kubernetes kümesinde birden çok kapsayıcı olarak gösteren diyagram.

Kubernetes sayesinde veri merkezinizi tek bir büyük bilgisayar olarak görebilirsiniz. Kapsayıcılarımızı nasıl ve nereye dağıtacağımız konusunda kaygılanmamız gerekmez; yalnızca uygulamalarımızı gerektiği gibi dağıtmak ve ölçeklendirmekle ilgileniriz.

Kubernetes hakkında göz önünde bulundurmanız gereken diğer bazı yönler şunlardır:

  • Kubernetes tam bir PaaS teklifi değildir. Kapsayıcı düzeyinde çalışır ve PaaS özelliklerinin yalnızca yaygın bir kümesini sunar.

  • Kubernetes tek parça değildir. Kurulu olan tek bir uygulama yok. Dağıtım, ölçeklendirme, yük dengeleme, günlük ve izleme gibi yönlerinin tümü isteğe bağlıdır.

  • Kubernetes çalıştırabileceğiniz uygulama türlerini sınırlamaz. Uygulamanız bir kapsayıcıda çalıştırılabilirse Kubernetes üzerinde çalışır.

  • Geliştiricilerinizin kapsayıcı çözümlerinden en iyi şekilde yararlanmak için mikro hizmet mimarisi gibi kavramları anlaması gerekir.

  • Kubernetes ara yazılım, veri işleme çerçeveleri, veritabanları, önbellekler veya küme depolama sistemleri sağlamaz. Bu öğelerin tümü kapsayıcı olarak veya başka bir hizmet teklifinin parçası olarak çalıştırılır.

  • Kubernetes dağıtımı bir küme olarak yapılandırılır. Küme en az bir birincil makine veya kontrol düzlemi ve bir veya daha fazla çalışan makinesinden oluşur. Üretim dağıtımları için tercih edilen yapılandırma, düğümler veya aracı düğümleri olarak adlandırılan üç ila beş çoğaltılmış denetim düzlemi makinesine sahip yüksek erişilebilirlik dağıtımıdır.

Kubernetes ile elde ettiğiniz tüm avantajlarla, bu yönleri ele almak için ihtiyaçlarınıza en uygun çözümü bulmak sizin sorumluluğunuzdadır. Kubernetes kümenizin bakımının sizin sorumluluğunuzda olduğunu unutmayın. Örneğin işletim sistemi yükseltmelerini ve Kubernetes yüklemesiyle yükseltmelerini yönetmeniz gerekir. Ayrıca konak makinelerin ağ, bellek ve depolama gibi donanım yapılandırmasını da siz yönetirsiniz.

Not

Kubernetes bazen K8s olarak kısaltılır. 8, K[ubernete]s sözcüğünün K ile s arasındaki sekiz karakteri temsil eder.

Azure Kubernetes Service (AKS) nedir?

AKS Kubernetes kümesindeki birden çok kapsayıcı olarak çoğaltılan sunucuları gösteren diyagram.

AKS, barındırılan Kubernetes ortamınızı yönetir ve Azure'da kapsayıcılı uygulamaları dağıtmayı ve yönetmeyi kolaylaştırır. AKS ortamınız otomatik güncelleştirmeler, kendi kendini onarma ve kolay ölçeklendirme gibi özelliklerle etkinleştirilir. Azure, Kubernetes kümenizin denetim düzlemini ücretsiz olarak yönetir. Kümedeki aracı düğümlerini siz yönetirsiniz ve yalnızca üzerinde düğümlerinizin çalıştırıldığı VM'ler için ödeme yaparsınız.

Kümenizi Azure portalında veya Azure CLI ile oluşturabilir ve yönetebilirsiniz. Kümeyi oluşturduğunuzda, küme oluşturmayı otomatikleştirmek için Resource Manager şablonları vardır. Bu şablonlarla gelişmiş ağ seçenekleri, Microsoft Entra Identity ve kaynak izleme gibi özelliklere erişebilirsiniz. Ardından, birden çok senaryo için küme dağıtımını otomatikleştirmek üzere tetikleyiciler ve olaylar ayarlayabilirsiniz.

AKS ile açık kaynak Kubernetes'in avantajlarından yalnızca Kubernetes kullanmanın gerekebileceği karmaşıklık veya operasyonel ek yük olmadan elde edersiniz.