Kubernetes mimarisi iki katmanı temel alır: Denetim düzlemi ve düğüm havuzlarındaki bir veya daha fazla düğüm. Bu makalede Amazon Elastic Kubernetes Service (Amazon EKS) ve Azure Kubernetes Service 'in (AKS) aracı veya çalışan düğümlerini nasıl yönettiği açıklanır ve karşılaştırılmaktadır.
Not
Bu makale, Amazon EKS'yi bilen profesyonellerin Azure Kubernetes Service'i (AKS) anlamasına yardımcı olan bir dizi makalenin parçasıdır.
Hem Amazon EKS hem de AKS'de, bulut platformu denetim düzlemi katmanını sağlar ve yönetir ve müşteri düğüm katmanını yönetir. Aşağıdaki diyagramda AKS Kubernetes mimarisindeki denetim düzlemi ile düğümler arasındaki ilişki gösterilmektedir.
Amazon EKS yönetilen düğüm grupları
Amazon EKS yönetilen düğüm grupları, Amazon EKS kümeleri için Amazon Elastic Compute Cloud (EC2) çalışan düğümlerinin sağlama ve yaşam döngüsü yönetimini otomatikleştirir. Amazon Web Services (AWS) kullanıcıları eksctl komut satırı yardımcı programını kullanarak EKS kümeleri için düğüm oluşturabilir, güncelleştirebilir veya sonlandırabilir. Düğüm güncelleştirmeleri ve sonlandırmaları, uygulamaların kullanılabilir durumda kaldığından emin olmak için düğümleri otomatik olarak kordon ve boşaltma.
Her yönetilen düğüm, Amazon EKS'nin çalıştırıp denetlediği bir Amazon EC2 Otomatik Ölçeklendirme grubunun parçası olarak sağlanır. Kubernetes kümesi otomatik ölçeklendiricisi, podlar başarısız olduğunda veya diğer düğümlere yeniden zamanlandığında kümedeki çalışan düğümlerinin sayısını otomatik olarak ayarlar. Her düğüm grubu, bir bölge içindeki birden çok Kullanılabilirlik Alanları çalışacak şekilde yapılandırılabilir.
Amazon EKS yönetilen düğümleri hakkında daha fazla bilgi için bkz . Yönetilen düğüm grubu oluşturma ve Yönetilen düğüm grubunu güncelleştirme.
Kubernetes podlarını AWS Fargate üzerinde de çalıştırabilirsiniz. Fargate, kapsayıcılar için isteğe bağlı, doğru boyutlu işlem kapasitesi sağlar. Fargate'i Amazon EKS ile kullanma hakkında daha fazla bilgi için bkz . AWS Fargate.
AKS düğümleri ve düğüm havuzları
AKS kümesi oluşturma, çekirdek Kubernetes hizmetleri ve uygulama iş yükü düzenlemesi sağlayan bir denetim düzlemi oluşturur ve yapılandırılır. Azure platformu, AKS denetim düzlemini yönetilen bir Azure kaynağı olarak hiçbir ücret ödemeden sağlar. Denetim düzlemi ve kaynakları yalnızca kümeyi oluşturduğunuz bölgede bulunur.
Aracı düğümleri veya çalışan düğümleri olarak da adlandırılan düğümler, iş yüklerini ve uygulamaları barındırıyor. AKS'de müşteriler AKS kümesine bağlı aracı düğümlerini tam olarak yönetir ve bu düğümler için ödeme gerçekleştirir.
Uygulamaları ve destekleyici hizmetleri çalıştırmak için AKS kümesinin en az bir düğüme ihtiyacı vardır: Kubernetes düğüm bileşenlerini ve kapsayıcı çalışma zamanını çalıştırmak için bir Azure sanal makinesi (VM). Her AKS kümesi en az bir düğüme sahip en az bir sistem düğümü havuzu içermelidir.
AKS, aynı yapılandırmadaki düğümleri AKS iş yüklerini çalıştıran VM'lerin düğüm havuzlarında gruplandırıyor. Sistem düğümü havuzları, CoreDNS gibi kritik sistem podlarını barındırmanın birincil amacına hizmet eder. Kullanıcı düğümü havuzları, iş yükü podlarını barındırmanın birincil amacına hizmet eder. AKS kümenizde, örneğin geliştirme ortamında yalnızca bir düğüm havuzu olmasını istiyorsanız, sistem düğümü havuzunda uygulama podları zamanlayabilirsiniz.
Gürültülü komşu sorununu önlemek veya farklı işlem veya depolama taleplerine sahip uygulamaları desteklemek için farklı düğümlerdeki farklı iş yüklerini ayrıştırmak için birden çok kullanıcı düğümü havuzu da oluşturabilirsiniz.
Bir sistem veya kullanıcı düğümü havuzunun her aracı düğümü, Azure Sanal Makine Ölçek Kümeleri kapsamında sağlanan ve AKS kümesi tarafından yönetilen bir VM'dir. Daha fazla bilgi için bkz . Düğümler ve düğüm havuzları.
AKS kümesi oluştururken veya var olan bir AKS kümesine yeni düğümler ve düğüm havuzları eklerken çalışan düğümleri için başlangıç sayısını ve boyutunu tanımlayabilirsiniz. VM boyutu belirtmezseniz, Windows düğüm havuzları için varsayılan boyut Standard_D2s_v3 ve Linux düğüm havuzları için Standard_DS2_v2.
Önemli
Düğüm içi çağrılarda ve platform hizmetleriyle iletişimde daha iyi gecikme süresi sağlamak için Hızlandırılmış Ağ'ı destekleyen bir VM serisi seçin.
Düğüm havuzu oluşturma
Azure portalını, Azure CLI'yı, AKS REST API'yi veya Bicep, Azure Resource Manager şablonları veya Terraform gibi kod olarak altyapı (IaC) araçlarını kullanarak yeni veya mevcut bir AKS kümesine düğüm havuzu ekleyebilirsiniz. Mevcut AKS kümesine düğüm havuzları ekleme hakkında daha fazla bilgi için bkz . Azure Kubernetes Service'te (AKS) bir küme için birden çok düğüm havuzu oluşturma ve yönetme.
Yeni bir düğüm havuzu oluşturduğunuzda, ilişkili sanal makine ölçek kümesi AKS kümesi için tüm altyapı kaynaklarını içeren bir Azure kaynak grubu olan düğüm kaynak grubunda oluşturulur. Bu kaynaklar Kubernetes düğümlerini, sanal ağ kaynaklarını, yönetilen kimlikleri ve depolamayı içerir.
Varsayılan olarak, düğüm kaynak grubunun gibi MC_<resourcegroupname>_<clustername>_<location>
bir adı vardır. AKS, kümeyi silerken düğüm kaynak grubunu otomatik olarak siler, bu nedenle bu kaynak grubunu yalnızca kümenin yaşam döngüsünü paylaşan kaynaklar için kullanmanız gerekir.
Düğüm havuzu ekleme
Aşağıdaki kod örneği, azure CLI az aks nodepool add komutunu kullanarak kaynak grubunda adlı mevcut AKS kümesine üç düğümlü adlı mynodepool
myAKSCluster
myResourceGroup
bir düğüm havuzu ekler.
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--node-vm-size Standard_D8ds_v4 \
--name mynodepool \
--node-count 3
Spot düğüm havuzları
Spot düğüm havuzu, spot sanal makine ölçek kümesi tarafından desteklenen bir düğüm havuzudur. AKS kümenizle düğümler için spot sanal makinelerin kullanılması, önemli bir maliyet tasarrufu ile unutilized Azure kapasitesinden yararlanır. Kullanılabilir unutulmuş kapasite miktarı düğüm boyutu, bölge ve günün saati gibi birçok faktöre göre değişir.
Bir spot düğüm havuzu dağıtırken, kullanılabilir kapasite varsa Azure spot düğümleri ayırır. Ancak spot düğümler için hizmet düzeyi sözleşmesi (SLA) yoktur. Spot düğüm havuzunu destekleyen bir spot ölçek kümesi tek bir hata etki alanında dağıtılır ve yüksek kullanılabilirlik garantisi sağlamaz. Azure kapasiteye yeniden ihtiyaç duyduğunda, Azure altyapısı spot düğümleri çıkartır ve çıkarmadan önce en fazla 30 saniyelik bir bildirim alırsınız. Spot düğüm havuzunun kümenin varsayılan düğüm havuzu olmadığını unutmayın. Spot düğüm havuzu yalnızca ikincil havuz için kullanılabilir.
Spot düğümler kesintileri, erken sonlandırmaları veya çıkarmaları işleyebilen iş yüklerine yöneliktir. Örneğin, toplu işleme işleri, geliştirme ve test ortamları ve büyük işlem iş yükleri spot düğüm havuzunda zamanlama için iyi adaylardır. Daha fazla ayrıntı için spot örneğinin sınırlamalarına bakın.
Aşağıdaki az aks nodepool add
komut, otomatik ölçeklendirmenin etkinleştirildiği mevcut bir kümeye spot düğüm havuzu ekler.
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name myspotnodepool \
--node-vm-size Standard_D8ds_v4 \
--priority Spot \
--eviction-policy Delete \
--spot-max-price -1 \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 3 \
--no-wait
Spot düğüm havuzları hakkında daha fazla bilgi için bkz . Azure Kubernetes Service (AKS) kümesine spot düğüm havuzu ekleme.
Kısa ömürlü işletim sistemi diskleri
Varsayılan olarak Azure, VM'nin başka bir konağa yeniden yerleştirilmesi gerekiyorsa veri kaybını önlemek için VM işletim sistemi (OS) diskini otomatik olarak Azure Depolama'ya çoğaltır. Ancak kapsayıcılar yerel durumu kalıcı hale getirmek için tasarlanmadığından, işletim sistemi diskini depolamada tutmak AKS için sınırlı değer sunar. Yavaş düğüm sağlama ve daha yüksek okuma/yazma gecikme süresi gibi bazı dezavantajlar vardır.
Buna karşılık kısa ömürlü işletim sistemi diskleri, geçici disk gibi yalnızca konak makinede depolanır ve daha düşük okuma/yazma gecikme süresi ile daha hızlı düğüm ölçeklendirme ve küme yükseltmeleri sağlar. Geçici bir disk gibi, sanal makine fiyatına kısa ömürlü bir işletim sistemi diski de dahil edilir, bu nedenle ek depolama maliyetine neden olmazsınız.
Önemli
İşletim sistemi için açıkça yönetilen diskler istemezseniz AKS, belirli bir düğüm havuzu yapılandırması için mümkünse kısa ömürlü bir işletim sistemi olarak varsayılan olarak kullanılır.
Kısa ömürlü işletim sistemi kullanmak için işletim sistemi diskinin VM önbelleğine sığması gerekir. Azure VM belgeleri, GÇ aktarım hızının yanında vm önbellek boyutunun gibibayt cinsinden (GiB) önbellek boyutu olarak parantez içinde olduğunu gösterir.
Örneğin, VARSAYıLAN 100 GB işletim sistemi disk boyutuna sahip AKS varsayılan Standard_DS2_v2 VM boyutu kısa ömürlü işletim sistemini destekler, ancak yalnızca 86 GB önbellek boyutuna sahiptir. Aksini açıkça belirtmezseniz, bu yapılandırma varsayılan olarak yönetilen disktir. Bu boyut için kısa ömürlü işletim sistemi isteğinde bulunursanız doğrulama hatası alırsınız.
60 GB işletim sistemi diski olan aynı Standard_DS2_v2 VM'yi isterseniz, varsayılan olarak kısa ömürlü işletim sistemi alırsınız. İstenen 60 GB işletim sistemi boyutu en fazla 86 GB önbellek boyutundan daha küçük.
100 GB işletim sistemi diski olan Standard_D8s_v3 kısa ömürlü işletim sistemini destekler ve 200 GB önbellek alanına sahiptir. Kullanıcı işletim sistemi disk türünü belirtmezse, düğüm havuzu varsayılan olarak kısa ömürlü işletim sistemi alır.
Aşağıdaki az aks nodepool add
komut, kısa ömürlü işletim sistemi diskiyle var olan bir kümeye yeni düğüm havuzunun nasıl ekleneceğini gösterir. parametresi işletim --node-osdisk-type
sistemi disk türünü olarak Ephemeral
ayarlar ve --node-osdisk-size
parametresi işletim sistemi disk boyutunu tanımlar.
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynewnodepool \
--node-vm-size Standard_D8ds_v4 \
--node-osdisk-type Ephemeral \
--node-osdisk-size 48
Kısa ömürlü işletim sistemi diskleri hakkında daha fazla bilgi için bkz . Kısa ömürlü işletim sistemi.
Sanal düğümler
Aks kümesindeki uygulama iş yüklerinin ölçeğini hızla genişletmek için sanal düğümleri kullanabilirsiniz. Sanal düğümler size hızlı pod sağlama sağlar ve yürütme süresi için yalnızca saniye başına ödeme alırsınız. Daha fazla pod çoğaltması çalıştırmak için küme otomatik ölçeklendiricisinin yeni çalışan düğümlerini dağıtmasını beklemeniz gerekmez. Sanal düğümler yalnızca Linux podları ve düğümleriyle desteklenir. AKS için sanal düğümler eklentisi, açık kaynak Sanal Kubelet projesini temel alır.
Sanal düğüm işlevselliği Azure Container Instances'a bağlıdır. Sanal düğümler hakkında daha fazla bilgi için bkz . Sanal düğümleri kullanmak üzere Azure Kubernetes Services (AKS) kümesi oluşturma ve yapılandırma.
Renk tonları, etiketler ve etiketler
Düğüm havuzu oluşturduğunuzda kubernetes renk tonları ve etiketleri ile Azure etiketlerini bu düğüm havuzuna ekleyebilirsiniz. Taint, etiket veya etiket eklediğinizde, bu düğüm havuzundaki tüm düğümler bu taint, etiket veya etiketi alır.
Taint ile düğüm havuzu oluşturmak için parametresiyle --node-taints
komutunu kullanabilirsinizaz aks nodepool add
. Düğüm havuzundaki düğümleri etiketlemek için parametresini --labels
kullanabilir ve aşağıdaki kodda gösterildiği gibi bir etiket listesi belirtebilirsiniz:
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--node-vm-size Standard_NC6 \
--node-taints sku=gpu:NoSchedule \
--labels dept=IT costcenter=9999
Daha fazla bilgi için bkz . Düğüm havuzu için renk tonu, etiket veya etiket belirtme.
Ayrılmış sistem etiketleri
Amazon EKS, gibi eks.amazonaws.com/capacityType
yönetilen bir düğüm grubundaki tüm düğümlere kapasite türünü belirten otomatik Kubernetes etiketleri ekler. AKS ayrıca aracı düğümlerine otomatik olarak sistem etiketleri ekler.
Aşağıdaki ön ekler AKS kullanımı için ayrılmıştır ve herhangi bir düğüm için kullanılamaz:
kubernetes.azure.com/
kubernetes.io/
Diğer ayrılmış ön ekler için bkz . Kubernetes iyi bilinen etiketler, ek açıklamalar ve renk tonları.
Aşağıdaki tabloda AKS kullanımı için ayrılmış olan ve hiçbir düğüm için kullanılamayabilecek etiketler listeleniyor. Tabloda, Sanal düğüm kullanım sütunu etiketin sanal düğümlerde desteklenip desteklenmediğini belirtir.
Sanal düğüm kullanımı sütununda:
- Yok, konağın değiştirilmesini gerektireceğinden özelliğin sanal düğümlere uygulanmadığı anlamına gelir.
- Aynı , bir sanal düğüm havuzu için beklenen değerlerin standart düğüm havuzuyla aynı olduğu anlamına gelir.
- Sanal düğüm podları temel alınan herhangi bir VM'yi kullanıma sunmadığından Sanal, VM SKU değerlerinin yerini alır.
- Sanal düğüm sürümü , sanal Kubelet-ACI bağlayıcı sürümünün geçerli sürümünü ifade eder.
- Sanal düğüm alt ağı adı , sanal düğüm podlarını Azure Container Instances'a dağıtan alt ağdır.
- Sanal düğüm sanal ağı , sanal düğüm alt ağını içeren sanal ağdır.
Etiket | Değer | Örnek, seçenekler | Sanal düğüm kullanımı |
---|---|---|---|
kubernetes.azure.com/agentpool |
<agent pool name> |
nodepool1 |
Aynısı |
kubernetes.io/arch |
amd64 |
runtime.GOARCH |
Yok |
kubernetes.io/os |
<OS Type> |
Linux veya Windows |
Linux |
node.kubernetes.io/instance-type |
<VM size> |
Standard_NC6 |
Virtual |
topology.kubernetes.io/region |
<Azure region> |
westus2 |
Aynısı |
topology.kubernetes.io/zone |
<Azure zone> |
0 |
Aynısı |
kubernetes.azure.com/cluster |
<MC_RgName> |
MC_aks_myAKSCluster_westus2 |
Aynısı |
kubernetes.azure.com/mode |
<mode> |
User veya System |
User |
kubernetes.azure.com/role |
agent |
Agent |
Aynısı |
kubernetes.azure.com/scalesetpriority |
<scale set priority> |
Spot veya Regular |
Yok |
kubernetes.io/hostname |
<hostname> |
aks-nodepool-00000000-vmss000000 |
Aynısı |
kubernetes.azure.com/storageprofile |
<OS disk storage profile> |
Managed |
Yok |
kubernetes.azure.com/storagetier |
<OS disk storage tier> |
Premium_LRS |
Yok |
kubernetes.azure.com/instance-sku |
<SKU family> |
Standard_N |
Virtual |
kubernetes.azure.com/node-image-version |
<VHD version> |
AKSUbuntu-1804-2020.03.05 |
Sanal düğüm sürümü |
kubernetes.azure.com/subnet |
<nodepool subnet name> |
subnetName |
Sanal düğüm alt ağ adı |
kubernetes.azure.com/vnet |
<nodepool virtual network name> |
vnetName |
Sanal düğüm sanal ağı |
kubernetes.azure.com/ppg |
<nodepool ppg name> |
ppgName |
Yok |
kubernetes.azure.com/encrypted-set |
<nodepool encrypted-set name> |
encrypted-set-name |
Yok |
kubernetes.azure.com/accelerator |
<accelerator> |
Nvidia |
Yok |
kubernetes.azure.com/fips_enabled |
<fips enabled> |
True |
Yok |
kubernetes.azure.com/os-sku |
<os/sku> |
Bkz. İşletim sistemi SKU'su oluşturma veya güncelleştirme | Linux SKU'su |
Windows düğüm havuzları
AKS, Azure kapsayıcı ağ arabirimi (CNI) ağ eklentisi aracılığıyla Windows Server kapsayıcı düğümü havuzları oluşturmayı ve kullanmayı destekler. Gerekli alt ağ aralıklarını ve ağ konularını planlamak için bkz . Azure CNI ağını yapılandırma.
Aşağıdaki az aks nodepool add
komut, Windows Server kapsayıcılarını çalıştıran bir düğüm havuzu ekler.
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mywindowsnodepool \
--node-vm-size Standard_D8ds_v4 \
--os-type Windows \
--node-count 1
Yukarıdaki komut AKS kümesi sanal ağında varsayılan alt ağı kullanır. Windows düğüm havuzuyla AKS kümesi oluşturma hakkında daha fazla bilgi için bkz . AKS'de Windows Server kapsayıcısı oluşturma.
Düğüm havuzuyla ilgili dikkat edilmesi gerekenler
Düğüm havuzları ve birden çok düğüm havuzu oluşturup yönetirken aşağıdaki önemli noktalar ve sınırlamalar geçerlidir:
Kotalar, VM boyutu kısıtlamaları ve bölge kullanılabilirliği AKS düğüm havuzları için geçerlidir.
Sistem havuzları en az bir düğüm içermelidir. AKS kümesindeki yerini alacak başka bir sistem düğümü havuzunuz varsa sistem düğümü havuzunu silebilirsiniz. Kullanıcı düğümü havuzları sıfır veya daha fazla düğüm içerebilir.
Düğüm havuzunu oluşturduktan sonra vm boyutunu değiştiremezsiniz.
Birden çok düğüm havuzu için AKS kümesinin Standart SKU yük dengeleyicileri kullanması gerekir. Temel SKU yük dengeleyiciler birden çok düğüm havuzunu desteklemez.
Tüm küme düğümü havuzları aynı sanal ağda ve herhangi bir düğüm havuzuna atanan tüm alt ağlar aynı sanal ağda olmalıdır.
Küme oluşturma zamanında birden çok düğüm havuzu oluşturursanız, tüm düğüm havuzları için Kubernetes sürümleri denetim düzlemi sürümüyle eşleşmelidir. Düğüm başına havuz işlemlerini kullanarak küme sağlandıktan sonra sürümleri güncelleştirebilirsiniz.
Düğüm havuzu ölçeklendirme
Uygulama iş yükünüz değiştikçe, düğüm havuzundaki düğüm sayısını değiştirmeniz gerekebilir. az aks nodepool scale komutunu kullanarak düğüm sayısını el ile artırıp azaltabilirsiniz. Aşağıdaki örnek, içindeki düğüm mynodepool
sayısını beşe ölçeklendirir:
az aks nodepool scale \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--node-count 5
Küme otomatik ölçeklendiricisini kullanarak düğüm havuzlarını otomatik olarak ölçeklendirme
AKS, küme otomatik ölçeklendiricisi ile düğüm havuzlarını otomatik olarak ölçeklendirmeyi destekler. Bu özelliği her düğüm havuzunda etkinleştirir ve en az ve en fazla düğüm sayısını tanımlarsınız.
Aşağıdaki az aks nodepool add
komut, mevcut kümeye adlı mynodepool
yeni bir düğüm havuzu ekler. --enable-cluster-autoscaler
parametresi, yeni düğüm havuzunda küme otomatik ölçeklendiricisini etkinleştirir ve --min-count
ve --max-count
parametreleri havuzdaki en az ve en fazla düğüm sayısını belirtir.
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynewnodepool \
--node-vm-size Standard_D8ds_v4 \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 5
Aşağıdaki az aks nodepool update komutu, düğüm havuzu için mynewnodepool
en az düğüm sayısını bir ile üç arasında güncelleştirir.
az aks nodepool update \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynewnodepool \
--update-cluster-autoscaler \
--min-count 1 \
--max-count 3
parametresini geçirerek ile küme otomatik ölçeklendiricisini az aks nodepool update
--disable-cluster-autoscaler
devre dışı bırakabilirsiniz.
az aks nodepool update \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--disable-cluster-autoscaler
Mevcut bir kümede küme otomatik ölçeklendiricisini yeniden etkinleştirmek için , ve --min-count
--max-count
parametrelerini belirterek --enable-cluster-autoscaler
kullanınaz aks nodepool update
.
Tek düğüm havuzları için küme otomatik ölçeklendiricisini kullanma hakkında daha fazla bilgi için bkz . Azure Kubernetes Service 'te (AKS) uygulama taleplerini karşılamak için kümeyi otomatik olarak ölçeklendirme.
Güncelleştirmeler ve yükseltmeler
Azure, güvenilirliği, performansı ve güvenliği geliştirmek için VM barındırma platformunu düzenli aralıklarla güncelleştirir. Bu güncelleştirmeler, barındırma ortamında yazılım bileşenlerine düzeltme eki uygulamadan ağ bileşenlerini yükseltmeye veya donanımın yetkisini alma işlemlerine kadar değişir. Azure'ın VM'leri nasıl güncelleştirdiğini hakkında daha fazla bilgi için bkz . Azure'da sanal makineler için bakım.
Vm barındırma altyapısı güncelleştirmeleri genellikle mevcut AKS kümelerinin aracı düğümleri gibi barındırılan VM'leri etkilemez. Barındırılan VM'leri etkileyen güncelleştirmeler için Azure, konağı güncelleştirirken VM'yi duraklatarak veya VM'yi zaten güncelleştirilmiş bir konağa dinamik olarak geçirerek yeniden başlatma gerektiren durumları en aza indirir.
Bir güncelleştirme yeniden başlatma gerektiriyorsa, Azure size uygun olduğunda güncelleştirmeyi başlatabilmeniz için bildirim ve zaman penceresi sağlar. Güncelleştirme acil olmadığı sürece konak makineleri için kendi kendine bakım penceresi genellikle 35 gündür.
Vm'leri güncelleştirmek ve Azure CLI, PowerShell veya Azure portalı ile planlı bakım bildirimlerini yönetmek için Planlı Bakım'ı kullanabilirsiniz. Planlı Bakım, Küme Otomatik Yükseltmesi kullanıp kullanmadığınızı algılar ve bakım pencereniz sırasında yükseltmeleri otomatik olarak zamanlar. Planlı Bakım hakkında daha fazla bilgi için az aks maintenanceconfiguration komutuna ve Azure Kubernetes Service (AKS) kümeniz için bakım pencerelerini zamanlamak için Planlı Bakım kullanma bölümüne bakın.
Kubernetes yükseltmeleri
AKS kümesi yaşam döngüsünün bir bölümü düzenli aralıklarla en son Kubernetes sürümüne yükseltiliyor. En son güvenlik sürümlerini ve özelliklerini almak için yükseltmeleri uygulamak önemlidir. Mevcut düğüm havuzu VM'lerinin Kubernetes sürümünü yükseltmek için düğümleri bağlayıp boşaltmanız ve bunları güncelleştirilmiş bir Kubernetes disk görüntüsünü temel alan yeni düğümlerle değiştirmeniz gerekir.
Varsayılan olarak AKS, yükseltmeleri ek bir düğümle yük olacak şekilde yapılandırıyor. Ayarlar için max-surge
bir varsayılan değer, mevcut uygulamaları kordonlamadan veya boşaltmadan önce eski sürüme sahip düğümleri değiştirmek için ek bir düğüm oluşturarak iş yükü kesintisini en aza indirir. Yükseltme hızı ile yükseltme kesintisi max-surge
arasında denge sağlamak için düğüm havuzu başına değeri özelleştirebilirsiniz. Değerin max-surge
artırılması yükseltme işlemini daha hızlı tamamlar, ancak için max-surge
büyük bir değer yükseltme işlemi sırasında kesintilere neden olabilir.
Örneğin , %100 değeri, max-surge
düğüm sayısını iki katına çıkararak mümkün olan en hızlı yükseltme işlemini sağlar, ancak düğüm havuzundaki tüm düğümlerin aynı anda boşaltılmasına da neden olur. Test için bu yüksek değeri kullanmak isteyebilirsiniz, ancak üretim düğümü havuzları max-surge
için %33 ayarı daha iyidir.
AKS, için max-surge
hem tamsayı hem de yüzde değerlerini kabul eder. gibi 5
bir tamsayı, aşırı gerilime neden olacak beş ek düğümü gösterir. için max-surge
yüzde değerleri, en yakın düğüm sayısına yuvarlanmış en az 1%
ve en fazla 100%
olabilir. değeri 50%
, havuzdaki geçerli düğüm sayısının yarısının bir artış değerini gösterir.
Yükseltme sırasında değer, düğüm havuzundaki max-surge
düğüm sayısına eşit en az 1
ve en yüksek değer olabilir. Daha büyük değerler ayarlayabilirsiniz, ancak için max-surge
kullanılan en fazla düğüm sayısı havuzdaki düğüm sayısından yüksek olmaz.
Önemli
Yükseltme işlemleri için düğüm yükseltmeleri için istenen max-surge
sayı için yeterli abonelik kotası gerekir. Örneğin, her biri dört düğümlü beş düğüm havuzu olan bir kümenin toplam 20 düğümü vardır. Her düğüm havuzunun max-surge
değeri %50 ise, yükseltmeyi tamamlamak için 10 düğüm veya iki düğüm ile beş havuz arasında ek işlem ve IP kotası gerekir.
Azure Container Networking Interface (CNI) kullanıyorsanız, aks için CNI gereksinimlerini karşılamak için alt ağda yeterli IP'ye sahip olduğunuzdan da emin olun.
Düğüm havuzlarını yükseltme
Kullanılabilir yükseltmeleri görmek için az aks get-upgrades komutunu kullanın.
az aks get-upgrades --resource-group <myResourceGroup> --name <myAKSCluster>
Düğüm havuzlarının durumunu görmek için az aks nodepool list komutunu kullanın.
az aks nodepool list -g <myResourceGroup> --cluster-name <myAKSCluster>
Aşağıdaki komut, tek düğüm havuzunu yükseltmek için az aks nodepool upgrade komutunu kullanır.
az aks nodepool upgrade \
--resource-group <myResourceGroup> \
--cluster-name <myAKSCluster> \
--name <mynodepool> \
--kubernetes-version <KUBERNETES_VERSION>
Küme denetim düzlemi ve düğüm havuzları için Kubernetes sürümünü yükseltme hakkında daha fazla bilgi için bkz:
- Azure Kubernetes Service (AKS) düğüm görüntüsünü yükseltme
- Birden çok düğüm havuzuyla küme denetim düzlemi yükseltme
Yükseltme hususları
Aks kümesinde Kubernetes sürümünü yükseltmeye yönelik bu en iyi yöntemleri ve dikkat edilmesi gerekenleri not edin.
Bir AKS kümesindeki tüm düğüm havuzlarını aynı Kubernetes sürümüne yükseltmek en iyisidir. Varsayılan davranışı
az aks upgrade
tüm düğüm havuzlarını ve denetim düzlemini yükselter.El ile yükseltin veya kümenizde bir otomatik yükseltme kanalı ayarlayın. VM'lere düzeltme eki uygulamak için Planlı Bakım'ı kullanırsanız, otomatik yükseltmeler de belirttiğiniz bakım penceresi sırasında başlar. Daha fazla bilgi için bkz.Azure Kubernetes Service (AKS) kümesini yükseltme.
az aks upgrade
bayrağına--control-plane-only
sahip komut yalnızca küme denetim düzlemini yükselter ve kümedeki ilişkili düğüm havuzlarından hiçbirini değiştirmez. Tek tek düğüm havuzlarını yükseltmek için, komutta hedef düğüm havuzunu ve Kubernetes sürümünüaz aks nodepool upgrade
belirtin.AKS küme yükseltmesi düğümlerinizde zamanlanamaz yapma ve boşaltma işlemlerini tetikler. Kullanılabilir işlem kotanız düşükse yükseltme başarısız olabilir. Kotanızı artırma hakkında daha fazla bilgi için bkz . Bölgesel vCPU kotalarını artırma.
max-surge
Bir tamsayı veya yüzde değeri kullanarak parametreyi gereksinimlerinize göre yapılandırın. Üretim düğümü havuzları için %33 ayarını kullanınmax-surge
. Daha fazla bilgi için bkz . Düğüm dalgalanması yükseltmesini özelleştirme.CNI ağı kullanan bir AKS kümesini yükseltirken, alt ağın ayarların oluşturduğu ek düğümler
max-surge
için yeterli kullanılabilir özel IP adresi olduğundan emin olun. Daha fazla bilgi için bkz . Azure Kubernetes Service'te (AKS) Azure CNI ağını yapılandırma.Küme düğümü havuzlarınız bir bölge içinde birden çok Kullanılabilirlik Alanları yayılabiliyorsa, yükseltme işlemi geçici olarak dengesiz bir bölge yapılandırmasına neden olabilir. Daha fazla bilgi için bkz. Birden çok Kullanılabilirlik Alanları yayılan düğüm havuzları için önemli noktalar.
Düğüm sanal ağları
Yeni bir küme oluşturduğunuzda veya var olan bir kümeye yeni düğüm havuzu eklediğinizde, aracı düğümlerini dağıtacağınız küme sanal ağı içindeki bir alt ağın kaynak kimliğini belirtirsiniz. İş yükü, mantıksal yalıtım için küme düğümlerinin ayrı düğüm havuzlarına bölünmesini gerektirebilir. Bu yalıtımı, her birinin ayrı bir düğüm havuzuna ayrılmış ayrı alt ağlarla gerçekleştirebilirsiniz. Düğüm havuzu VM'lerinin her biri ilişkili alt ağlarından özel bir IP adresi alır.
AKS iki ağ eklentisini destekler:
Kubenet , Linux için temel, basit bir ağ eklentisidir. ile
kubenet
düğümler Azure Sanal Ağ alt ağından özel bir IP adresi alır. Podlar, mantıksal olarak farklı bir adres alanından BIR IP adresi alır. Ağ adresi çevirisi (NAT), podların kaynak trafiğin IP adresini düğümün birincil IP adresine çevirerek Azure sanal ağındaki kaynaklara ulaşmasını sağlar. Bu yaklaşım, podlar için ağ alanınızda ayırmanız gereken IP adresi sayısını azaltır.Azure Container Networking Interface (CNI), her poda doğrudan çağrı ve erişim için bir IP adresi verir. Bu IP adresleri ağ alanınız genelinde benzersiz olmalıdır. Her düğümün desteklediği en fazla pod sayısı için bir yapılandırma parametresi vardır. Düğüm başına eşdeğer IP adresi sayısı bu düğüm için ayrılır. Bu yaklaşım önceden planlama gerektirir ve ip adresi tükenmesine veya uygulama talepleri arttıkça daha büyük bir alt ağda kümeleri yeniden oluşturma gereksinimine yol açabilir.
Azure CNI kullanan bir kümeye yeni bir küme oluşturduğunuzda veya yeni bir düğüm havuzu eklediğinizde, biri düğümler ve biri podlar için olmak üzere iki ayrı alt ağın kaynak kimliğini belirtebilirsiniz. Daha fazla bilgi için bkz . IP'lerin dinamik olarak ayrılması ve gelişmiş alt ağ desteği.
Dinamik IP ayırma
Azure CNI kullanan podlar, barındırma düğümü havuzunun alt ağından özel IP adresleri alır. Azure CNI dinamik IP ayırma, alt ağı barındıran düğüm havuzundan ayrı bir alt ağdan podlara özel IP adresleri ayırabilir. Bu özellik aşağıdaki avantajları sağlar:
Pod alt ağı, IP'leri podlara dinamik olarak ayırır. Dinamik ayırma, her düğüm için IP'lerin statik olarak ayrılmasını sağlayan geleneksel CNI çözümüne kıyasla daha iyi IP kullanımı sağlar.
Düğüm ve pod alt ağlarını bağımsız olarak ölçeklendirebilir ve paylaşabilirsiniz. Tek bir pod alt ağını birden çok düğüm havuzu veya aynı sanal ağa dağıtılan kümeler arasında paylaşabilirsiniz. Düğüm havuzu için ayrı bir pod alt ağı da yapılandırabilirsiniz.
Podların sanal ağ özel IP'leri olduğundan, sanal ağdaki diğer küme podlarına ve kaynaklarına doğrudan bağlantıları vardır. Bu özellik, çok büyük kümeler için daha iyi performansı destekler.
Podların ayrı bir alt ağı varsa, düğüm ilkelerinden farklı podlar için sanal ağ ilkeleri yapılandırabilirsiniz. Ayrı ilkeler, düğümler için değil yalnızca podlar için İnternet bağlantısına izin verme, NAT Ağ Geçidi kullanarak düğüm havuzundaki pod için kaynak IP'yi düzeltme ve düğüm havuzları arasındaki trafiği filtrelemek için Ağ Güvenlik Grupları'nı (NSG) kullanma gibi birçok yararlı senaryoya olanak tanır.
Hem Ağ İlkesi hem de Calico Kubernetes ağ ilkeleri dinamik IP ayırma ile çalışır.
Katkıda Bulunanlar
Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.
Asıl yazarlar:
- Paolo Salvatori | Baş Sistem Mühendisi
Diğer katkıda bulunanlar:
- Laura Nicolas | Kıdemli Yazılım Mühendisi
- Chad Kittel | Baş Yazılım Mühendisi
- Ed Fiyatı | Üst Düzey İçerik Programı Yöneticisi
- Theano Petersen | Teknik Yazar
Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.
Sonraki adımlar
- Amazon EKS uzmanları için AKS
- Kubernetes kimlik ve erişim yönetimi
- Kubernetes izleme ve günlüğe kaydetme
- Kubernetes'e güvenli ağ erişimi
- Kubernetes kümesi için depolama seçenekleri
- Kubernetes için maliyet yönetimi
- Küme idaresi
- Azure Kubernetes Service (AKS) çözüm yolculuğu
- Azure Kubernetes Services (AKS) 2. gün işlem kılavuzu
- Uç işlem seçeneğinde bir Kubernetes seçin
- Azure Kubernetes Service için GitOps
İlgili kaynaklar
- AKS kümesi en iyi yöntemleri
- Genel DNS Bölgesi ile Özel AKS kümesi oluşturma
- Terraform ve Azure DevOps kullanarak özel bir Azure Kubernetes Service kümesi oluşturma
- Azure NAT Gateway ve Azure Uygulaması lication Gateway ile genel veya özel bir Azure Kubernetes Service kümesi oluşturma
- Özel AKS Kümesi ile Özel Uç Noktaları Kullanma
- Application Gateway Giriş Denetleyicisi ile Azure Kubernetes Service kümesi oluşturma
- Kubernetes'e giriş
- Azure'da Kubernetes'e giriş
- Azure Kubernetes Service'i (AKS) uygulama
- Kubernetes'te uygulama geliştirme ve dağıtma
- Azure Kubernetes Service'te (AKS) işlem maliyetlerini iyileştirme