Azure Arc tarafından etkinleştirilen AKS için Kubernetes küme mimarisi ve iş yükleri
Şunlar için geçerlidir: Azure Yerel 22H2'de AKS, Windows Server'da AKS
Azure Yerel ve Windows Server üzerinde Azure Kubernetes Service (AKS), Azure Local 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.
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.
- kapsayıcılı uygulamaların dağıtıldığı iş yükü kümeleri (hedef kümeler olarak da bilinir).
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ü, diğer iş yükü kümelerini dağıtmayı ve yapılandırmayı ve mevcut kümeleri yeniden yapılandırmayı da 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
kubectl
gibi yönetim araçları için etkileşim 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
kubectl
gibi yönetim araçları için etkileşim 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 destekleyici hizmetleri çalıştırmak için bir Kubernetes düğümüne ihtiyacınız vardır. AKS iş yükü kümesinin 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.
Podlar
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 podların birden çok kapsayıcı içerebileceği 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 izin verir. 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 (pod) sayısını 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 kaynaklara sahip herhangi bir kullanılabilir düğümde 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şturulup yönetilen dağıtıma benzer. StatefulSet içindeki çoğaltmalar dağıtım, ölçeklendirme, yükseltmeler ve sonlandırmalar için 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 düğümlerde 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 gibi Kubernetes API'siyle
kubectl get pods
etkileşime geçtiğiniz zaman, hiçbiri belirtilmediğinde varsayılan ad alanı kullanılır. - kube-system: DNS ve proxy 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: Bir 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. Varsayılan olarak Kubernetes gizli dizileri şifrelenmemiş base64 ile kodlanmış 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 sistemine 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ı için kısıtlayan basit bir alandır.
- Taint'ler ve toleranslar , podların kasıtsız olarak düğümlere 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 "bozuk" olabilir.
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: