Azure Arc tarafından etkinleştirilen AKS için Kubernetes küme mimarisi ve iş yükleri

Şunlar için geçerlidir: Azure Stack HCI 22H2 üzerinde AKS, Windows Server'da AKS

Azure Stack HCI ve Windows Server üzerinde Azure Kubernetes Service (AKS), Azure Stack HCI tarafından desteklenen kurumsal düzeyde bir Kubernetes kapsayıcı platformudur. Basit bir dağıtım ve yaşam döngüsü yönetimi deneyimine sahip olmak amacıyla Microsoft tarafından desteklenen çekirdek Kubernetes, amaca yönelik olarak oluşturulmuş bir Windows kapsayıcı konağı ve Microsoft tarafından desteklenen bir Linux kapsayıcı konağı içerir.

Bu makalede denetim düzlemi, düğümler ve düğüm havuzları gibi temel Kubernetes altyapı bileşenleri tanıtmaktadır. Podlar, dağıtımlar ve kümeler gibi iş yükü kaynaklarının yanı sıra kaynakları ad alanları halinde gruplandırma da sağlanır.

Kubernetes küme mimarisi

Kubernetes, Azure Arc tarafından etkinleştirilen AKS'nin temel bileşenidir. AKS, Kubernetes kümelerini etkili bir şekilde ve ölçeklenebilirlik göz önünde bulundurarak dağıtmak için önceden tanımlanmış bir dizi yapılandırma kullanır.

Dağıtım işlemi birden çok Linux veya Windows sanal makinesi oluşturur ve Kubernetes kümeleri oluşturmak için bunları birleştirir.

Not

Kümenizde birden çok Küme Paylaşılan Birimi (CSV) çalıştırıyorsanız sistemin güvenilirliğini artırmaya yardımcı olmak için, varsayılan olarak sanal makine verileri kümedeki tüm kullanılabilir CSV'lere otomatik olarak yayılır. Bu, CSV kesintileri durumunda uygulamaların hayatta kalmasını sağlar. Bu yalnızca yeni yüklemeler için geçerlidir (yükseltmeler için geçerli değildir).

Dağıtılan sistem standart Kubernetes iş yüklerini almaya, bu iş yüklerini ölçeklendirmeye, hatta sanal makine sayısını ve küme sayısını gerektiği gibi artırmaya ve azaltmaya hazırdır.

bir Azure Kubernetes Service kümesi aşağıdaki bileşenlere sahiptir:

  • Yönetim kümesi (AKS konağı olarak da bilinir), bir veya daha fazla iş yükü kümesini dağıtmak ve yönetmek için temel düzenleme mekanizmasını ve arabirimini sağlar.
  • İş yükü kümeleri (hedef kümeler olarak da bilinir) kapsayıcılı uygulamaların dağıtıldığı yerdir.

Azure Stack HCI ve Windows Server'da Azure Kubernetes Service teknik mimarisini gösteren çizim.

Arc tarafından etkinleştirilen AKS'yi yönetme

AKS'yi aşağıdaki yönetim seçeneklerini kullanarak yönetebilirsiniz:

  • Windows Admin Center, Kubernetes operatörünün kümelerin yaşam döngüsünü yönetmesi için sezgisel bir kullanıcı arabirimi sunar.
  • PowerShell modülü AKS'yi indirmeyi, yapılandırmayı ve dağıtmayı kolaylaştırır. PowerShell modülü ayrıca diğer iş yükü kümelerinin dağıtılıp yapılandırılmasını ve mevcut kümelerin yeniden yapılandırılmasını destekler.

Yönetim kümesi

Kubernetes kümesi oluşturduğunuzda, otomatik olarak bir yönetim kümesi oluşturulur ve yapılandırılır. Bu yönetim kümesi, iş yüklerinin çalıştığı iş yükü kümelerini sağlamak ve yönetmekle sorumludur. Yönetim kümesi aşağıdaki çekirdek Kubernetes bileşenlerini içerir:

  • API sunucusu: API sunucusu, temel kubernetes API'lerinin nasıl kullanıma sunulduğudur. Bu bileşen Windows Admin Center, PowerShell modülleri veya kubectlgibi yönetim araçlarına yönelik etkileşimi sağlar.
  • Yük dengeleyici: Yük dengeleyici, yönetim kümesinin API sunucusu için yük dengeleme kuralına sahip tek bir ayrılmış Linux VM'dir.

İş yükü kümesi

İş yükü kümesi, Kubernetes denetim düzlemi bileşenlerini ve Linux çalışan düğümlerini çalıştırmak için Linux VM'leri kullanan yüksek oranda kullanılabilir bir Kubernetes dağıtımıdır. Windows Server Çekirdek tabanlı VM'ler, Windows çalışan düğümleri oluşturmak için kullanılır. Bir yönetim kümesi tarafından yönetilen bir veya daha fazla iş yükü kümesi olabilir.

İş yükü kümesi bileşenleri

İş yükü kümesi, aşağıdaki bölümlerde açıklanan birçok bileşene sahiptir.

Kontrol düzlemi

  • API Sunucusu: API sunucusu Kubernetes API'siyle etkileşime izin verir. Bu bileşen Windows Admin Center, PowerShell modülleri veya kubectlgibi yönetim araçlarına yönelik etkileşimi sağlar.
  • Etcd: Etcd, kümenin yaşam döngüsü yönetimi için gereken verileri depolayan dağıtılmış bir anahtar-değer deposudur. Kontrol düzlemi durumunu depolar.

Yük dengeleyici

Yük dengeleyici, yönetim kümesi tarafından dağıtılan iş yükü kümeleri için yük dengeli hizmetler sağlamak üzere Linux ve HAProxy + KeepAlive çalıştıran bir sanal makinedir. Aks, her iş yükü kümesi için en az bir yük dengeleyici sanal makinesi ekler. İş yükü kümesinde oluşturulan türdeki LoadBalancer herhangi bir Kubernetes hizmeti, sonunda VM'de bir yük dengeleme kuralı oluşturur.

Çalışan düğümleri

Uygulamalarınızı ve destek hizmetlerinizi çalıştırmak için bir Kubernetes düğümüne ihtiyacınız vardır. AKS iş yükü kümesinde bir veya daha fazla çalışan düğümü vardır. Çalışan düğümleri, Kubernetes düğüm bileşenlerini çalıştıran ve uygulama iş yükünü oluşturan podları ve hizmetleri barındıran sanal makineler (VM) görevi görür.

Podlar ve dağıtımlar gibi AKS iş yükü kümelerine dağıtılabilir temel Kubernetes iş yükü bileşenleri vardır.

Bakla

Kubernetes, uygulamanızın bir örneğini çalıştırmak için podları kullanır. Pod, uygulamanızın tek bir örneğini temsil eder. Genellikle, podların kapsayıcıyla 1:1 eşlemesi vardır, ancak bir pod birden çok kapsayıcı içerebilen gelişmiş senaryolar vardır. Bu çok kapsayıcılı podlar aynı düğümde birlikte zamanlanır ve kapsayıcıların ilgili kaynakları paylaşmasına olanak sağlar. Daha fazla bilgi için bkz. Kubernetes podları ve Kubernetes pod yaşam döngüsü.

Dağıtımlar

Dağıtım, Kubernetes Dağıtım Denetleyicisi tarafından yönetilen bir veya daha fazla özdeş podu temsil eder. Dağıtım, oluşturulacak çoğaltma sayısını (pod) tanımlar ve Kubernetes zamanlayıcı podların veya düğümlerin sorunlarla karşılaşması durumunda iyi durumdaki düğümlerde ek podların zamanlanmasını sağlar. Daha fazla bilgi için bkz. Kubernetes dağıtımları.

StatefulSets ve DaemonSets

Dağıtım Denetleyicisi, kullanılabilir kaynakları olan kullanılabilir düğümlerde belirli sayıda çoğaltma çalıştırmak için Kubernetes zamanlayıcısını kullanır. Dağıtımları kullanma yaklaşımı durum bilgisi olmayan uygulamalar için yeterli olabilir, ancak kalıcı adlandırma kuralı veya depolama gerektiren uygulamalar için yeterli olmayabilir. Bir kümedeki her düğümde (veya seçili düğümlerde) çoğaltma olmasını gerektiren uygulamalar için Dağıtım Denetleyicisi, çoğaltmaların düğümler arasında nasıl dağıtıldığına bakmaz.

  • StatefulSets: StatefulSet, bir veya daha fazla özdeş pod oluşturulduğu ve yönetildiğinden bir dağıtıma benzer. StatefulSet içindeki çoğaltmalar dağıtıma, ölçeklendirmeye, yükseltmelere ve sonlandırmalara yönelik düzgün ve sıralı bir yaklaşım izler. StatefulSet ile (çoğaltmalar yeniden zamanlandığında) adlandırma kuralı, ağ adları ve depolama kalıcı olur. StatefulSet içindeki çoğaltmalar zamanlanır ve Kubernetes kümesindeki kullanılabilir düğümler arasında çalıştırılır. Kümenizdeki en az bir pod'un bir düğümde çalıştığından emin olmanız gerekiyorsa, bunun yerine bir DaemonSet kullanabilirsiniz. Daha fazla bilgi için bkz. Kubernetes StatefulSets.
  • DaemonSets: Belirli günlük toplama veya izleme gereksinimleri için, belirli bir podu tüm veya seçili düğümlerde çalıştırmanız gerekebilir. DaemonSet yine bir veya daha fazla özdeş pod dağıtmak için kullanılır, ancak DaemonSet denetleyicisi belirtilen her düğümün podun bir örneğini çalıştırmasını sağlar. Daha fazla bilgi için bkz. Kubernetes DaemonSets.

Ad alanları

Podlar ve dağıtımlar gibi Kubernetes kaynakları mantıksal olarak bir ad alanında gruplandırılır. Bu gruplandırmalar, iş yükü kümelerini mantıksal olarak bölmenin ve kaynakları oluşturma, görüntüleme veya yönetme erişimini kısıtlamanın bir yolunu sağlar. Örneğin iş gruplarını ayırmak için ad alanları oluşturabilirsiniz. Kullanıcılar yalnızca kendilerine atanan ad alanları içindeki kaynaklarla etkileşimde bulunabilir. Daha fazla bilgi için bkz. Kubernetes ad alanları.

Arc tarafından etkinleştirilen AKS üzerinde bir Azure Kubernetes Service kümesi oluşturduğunuzda aşağıdaki ad alanları kullanılabilir:

  • default: Podların ve dağıtımların hiçbiri sağlanmazsa varsayılan olarak oluşturulduğu bir ad alanı. Daha küçük ortamlarda, ek mantıksal ayrımlar oluşturmadan uygulamaları doğrudan varsayılan ad alanına dağıtabilirsiniz. Ile olduğu gibi Kubernetes API'siyle kubectl get podsetkileşimde bulunursanız, varsayılan ad alanı belirtilmezse kullanılır.
  • kube-system: DNS ve ara sunucu gibi ağ özellikleri veya Kubernetes panosu gibi temel kaynakların bulunduğu bir ad alanı. Genellikle bu ad alanına kendi uygulamalarınızı dağıtmazsınız.
  • kube-public: Ad alanı genellikle kullanılmaz, ancak kaynakların tüm kümede görünür olması için kullanılabilir ve herhangi bir kullanıcı tarafından görüntülenebilir.

Gizli Diziler

Kubernetes gizli dizileri parolalar, OAuth belirteçleri ve Secure Shell (SSH) anahtarları gibi hassas bilgileri depolamanıza ve yönetmenize olanak tanır. Kubernetes varsayılan olarak gizli dizileri şifrelenmemiş base64 kodlamalı dizeler olarak depolar ve API erişimi olan herkes tarafından düz metin olarak alınabilir. Daha fazla bilgi için bkz. Kubernetes Gizli Dizileri.

Kalıcı birimler

Kalıcı birim, yönetici tarafından sağlanan veya depolama sınıfları kullanılarak dinamik olarak sağlanan bir Kubernetes kümesindeki depolama kaynağıdır. Kalıcı birimleri kullanmak için podlar PersistentVolumeClaim kullanarak erişim ister. Daha fazla bilgi için bkz . Kalıcı Birimler.

Karma işletim sistemi dağıtımları

Belirli bir iş yükü kümesi hem Linux hem de Windows çalışan düğümlerinden oluşuyorsa, iş yükünün sağlanmasını destekleyebilecek bir işletim sisteminde zamanlanması gerekir. Kubernetes, iş yüklerinin hedef işletim sistemine sahip düğümlere ulaştığından emin olmak için iki mekanizma sunar:

  • Düğüm Seçici , pod belirtiminde podların yalnızca işletim sistemiyle eşleşen iyi durumdaki düğümlere zamanlanması kısıtlayan basit bir alandır.
  • Taint'ler ve toleranslar , podların düğümlere istemeden zamanlanmadığından emin olmak için birlikte çalışır. Bir düğüm, pod belirtimindeki bir "tolerans" aracılığıyla taint'ini açıkça tolere etmeyen podları kabul etmeyecek şekilde "kısıtlanabilir".

Daha fazla bilgi için bkz. düğüm seçiciler , renk tonları ve toleranslar.

Sonraki adımlar

Bu makalede, Azure Arc tarafından etkinleştirilen AKS'nin küme mimarisini ve iş yükü kümesi bileşenlerini öğrendiniz. Bu kavramlar hakkında daha fazla bilgi için aşağıdaki makalelere bakın: