Azure Kubernetes Service'te (AKS) küme için düğüm havuzları oluşturma
Azure Kubernetes Service'te (AKS), aynı yapılandırmadaki düğümler birlikte düğüm havuzları halinde gruplandırılır. Bu düğüm havuzları, uygulamalarınızı çalıştıran temel vm'leri içerir. AKS kümesi oluşturduğunuzda, bir sistem düğümü havuzu oluşturan ilk düğüm sayısını ve bunların boyutunu (SKU) tanımlarsınız.
Farklı işlem veya depolama taleplerine sahip uygulamaları desteklemek için kullanıcı düğümü havuzları oluşturabilirsiniz. Sistem düğümü havuzları CoreDNS ve konnectivity
gibi kritik sistem podlarını barındırmanın birincil amacına hizmet eder. Kullanıcı düğümü havuzları, uygulama podlarınızı barındırmanın birincil amacına hizmet eder. Örneğin, işlem yoğunluklu uygulamalar için GPU'lar sağlamak veya yüksek performanslı SSD depolamaya erişim sağlamak için daha fazla kullanıcı düğümü havuzu kullanın. Ancak AKS kümenizde yalnızca bir havuz olmasını istiyorsanız sistem düğümü havuzlarında uygulama podları zamanlayabilirsiniz.
Not
Bu özellik, birden çok düğüm havuzu oluşturma ve yönetme üzerinde daha fazla denetim sağlar ve oluşturma/güncelleştirme/silme (CRUD) işlemleri için ayrı komutlar gerektirir. Daha önce managedCluster API'si aracılığıyla az aks create
yapılan veya az aks update
kullanılan küme işlemleri, denetim düzleminizi ve tek düğüm havuzunuzu değiştirmek için tek seçenekti. Bu özellik, agentPool API aracılığıyla aracı havuzları için ayrı bir işlem kümesi sunar ve tek bir düğüm havuzunda işlemleri yürütmek için komut kümesinin az aks nodepool
kullanılmasını gerektirir.
Bu makalede AKS kümesinde bir veya daha fazla düğüm havuzunun nasıl oluşturulacağı gösterilmektedir.
Başlamadan önce
- Azure CLI sürüm 2.2.0 veya üzerinin yüklü ve yapılandırılmış olması gerekir. Sürümü bulmak için
az --version
komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme. - Depolama yapılandırmanızı planlamak için Azure Kubernetes Service'teki uygulamalar için Depolama seçenekleri'ni gözden geçirin.
Sınırlamalar
Birden çok düğüm havuzunu destekleyen AKS kümeleri oluşturduğunuzda aşağıdaki sınırlamalar geçerlidir:
- Bkz. Azure Kubernetes Service'te (AKS) kotalar, sanal makine boyutu kısıtlamaları ve bölge kullanılabilirliği.
- AKS kümesindeki yerini alacak başka bir sistem düğümü havuzunuz varsa sistem düğümü havuzunu silebilirsiniz. Aksi takdirde, sistem düğümü havuzunu silemezsiniz.
- Sistem havuzları en az bir düğüm içermelidir ve kullanıcı düğümü havuzları sıfır veya daha fazla düğüm içerebilir.
- AKS kümesinin birden çok düğüm havuzu kullanmak için Standart SKU yük dengeleyiciyi kullanması gerekir. Bu özellik Temel SKU yük dengeleyicilerde desteklenmez.
- AKS kümesi düğümler için Sanal Makine Ölçek Kümeleri kullanmalıdır.
- Düğüm havuzunun adı yalnızca küçük harfli alfasayısal karakterler içerebilir ve küçük harfle başlamalıdır.
- Linux düğüm havuzları için uzunluk 1-12 karakter arasında olmalıdır.
- Windows düğüm havuzları için uzunluk 1-6 karakter arasında olmalıdır.
- Tüm düğüm havuzlarının aynı sanal ağda bulunması gerekir.
- Küme oluşturma zamanında birden çok düğüm havuzu oluşturduğunuzda, düğüm havuzları için Kubernetes sürümleri denetim düzlemi için ayarlanan sürümle eşleşmelidir.
AKS kümesi oluşturma
Önemli
AKS kümeniz için bir üretim ortamında tek bir sistem düğümü havuzu çalıştırıyorsanız, düğüm havuzu için en az üç düğüm kullanmanızı öneririz. Bir düğüm devre dışı kalırsa denetim düzlemi kaynaklarını kaybedersiniz ve yedeklilik tehlikeye girer. Daha fazla denetim düzlemi düğümüne sahip olarak bu riski azaltabilirsiniz.
komutunu kullanarak
az group create
bir Azure kaynak grubu oluşturun.az group create --name $RESOURCE_GROUP_NAME --location $LOCATION
komutunu kullanarak
az aks create
tek düğümlü havuza sahip bir AKS kümesi oluşturun.az aks create \ --resource-group $RESOURCE_GROUP_NAME \ --name $CLUSTER_NAME \ --vm-set-type VirtualMachineScaleSets \ --node-count 2 \ --location $LOCATION \ --load-balancer-sku standard \ --generate-ssh-keys
Kümenin oluşturulması birkaç dakika sürer.
Küme hazır olduğunda komutunu kullanarak
az aks get-credentials
küme kimlik bilgilerini alın.az aks get-credentials --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME
Düğüm havuzu ekleme
Önceki adımda oluşturulan kümenin tek düğüm havuzu vardır. Bu bölümde kümeye ikinci bir düğüm havuzu ekleyeceğiz.
komutunu kullanarak
az aks nodepool add
yeni bir düğüm havuzu oluşturun. Aşağıdaki örnek, üç düğüm çalıştıran mynodepool adlı bir düğüm havuzu oluşturur:az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $NODE_POOL_NAME \ --node-count 3
komutunu kullanarak
az aks node pool list
düğüm havuzlarınızın durumunu denetleyin ve kaynak grubunuzu ve küme adınızı belirtin.az aks nodepool list --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME
Aşağıdaki örnek çıktıda mynodepool'un üç düğümle başarıyla oluşturulduğu gösterilmektedir. Önceki adımda AKS kümesi oluşturulduğunda, düğüm sayısı 2 olan bir varsayılan nodepool1 oluşturuldu.
[ { ... "count": 3, ... "name": "mynodepool", "orchestratorVersion": "1.15.7", ... "vmSize": "Standard_DS2_v2", ... }, { ... "count": 2, ... "name": "nodepool1", "orchestratorVersion": "1.15.7", ... "vmSize": "Standard_DS2_v2", ... } ]
ARM64 düğüm havuzları
ARM64 işlemci, Kubernetes iş yükleriniz için düşük güçte işlem sağlar. ARM64 düğüm havuzu oluşturmak için bir Dpsv5, Dplsv5 veya Epsv5 serisi Sanal Makine seçmeniz gerekir.
Sınırlamalar
- ARM64 düğüm havuzları, Kubernetes sürümü 1.29.0'dan küçük olan Defender özellikli kümelerde desteklenmez.
- FIPS özellikli düğüm havuzları ARM64 SKU'larında desteklenmez.
- Windows düğüm havuzları ARM64 SKU'larında desteklenmez.
ARM64 düğüm havuzu ekleme
kullanarak
az aks nodepool add
mevcut kümenize bir ARM64 düğüm havuzu ekleyin.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $ARM_NODE_POOL_NAME \ --node-count 3 \ --node-vm-size Standard_D2pds_v5
Azure Linux düğüm havuzları
AKS için Azure Linux kapsayıcı konağı, AKS kapsayıcı konağı olarak kullanılabilen açık kaynaklı bir Linux dağıtımıdır. Yüksek güvenilirlik, güvenlik ve tutarlılık sağlar. Yalnızca kapsayıcı iş yüklerini çalıştırmak için gereken ve önyükleme sürelerini ve genel performansı geliştiren en düşük paket kümesini içerir.
Azure Linux düğüm havuzu ekleme
komutunu kullanarak
az aks nodepool add
mevcut kümenize bir Azure Linux düğüm havuzu ekleyin ve belirtin--os-sku AzureLinux
.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $AZ_LINUX_NODE_POOL_NAME \ --os-sku AzureLinux
Ubuntu düğümlerini Azure Linux düğümlerine geçirme
Aşağıdaki yöntemlerden birini kullanarak mevcut Ubuntu düğümlerinizi Azure Linux'a geçirebilirsiniz:
- Mevcut düğüm havuzlarını kaldırın ve yeni Azure Linux düğüm havuzları ekleyin.
- Yerinde işletim sistemi SKU geçişi.
Benzersiz alt ağlara sahip düğüm havuzları
bir iş yükü, mantıksal yalıtım için küme düğümlerinin ayrı havuzlara bölünmesini gerektirebilir. Kümedeki her düğüm havuzuna ayrılmış ayrı alt ağlar, düğüm havuzları arasında bölmek için bitişik olmayan sanal ağ adres alanına sahip olma gibi gereksinimleri karşılayan bu yalıtımı desteklemeye yardımcı olabilir.
Not
Azure CLI sürümünü 2.35.0
veya üstünü kullandığınızdan emin olun.
Sınırlamalar
- Düğüm havuzlarına atanan tüm alt ağlar aynı sanal ağa ait olmalıdır.
- Sistem podlarının, DNS çözümlemesi ve kubectl logs/exec/port-forward ara sunucusu tünel oluşturma gibi kritik işlevler sağlamak için kümedeki tüm düğümlere ve podlara erişimi olmalıdır.
- Kümeyi oluşturduktan sonra sanal ağınızı genişletirseniz, özgün CIDR bloğunun dışında bir alt ağ eklemeden önce kümenizi güncelleştirmeniz gerekir. Aracı havuzundaki AKS hataları eklense de,
aks-preview
Azure CLI uzantısı (sürüm 0.5.66 ve üzeri) artık yalnızca gerekli-g <resourceGroup> -n <clusterName>
bağımsız değişkenlerle komutu çalıştırmayıaz aks update
destekliyor. Bu komut herhangi bir değişiklik yapmadan bir güncelleştirme işlemi gerçekleştirir ve bu işlem başarısız durumda takılmış bir kümeyi kurtarabilir. - Kubernetes sürümü 1.23.3'ten küçük kümelerde, yeni alt ağlardan gelen kube-proxy SNATs trafiği, Azure Ağ İlkesi'nin paketleri bırakmasına neden olabilir.
- Windows, düğüm havuzu yeniden tasarlanana kadar yeni alt ağlara SNAT trafiğini düğümler.
- İç yük dengeleyiciler varsayılan olarak düğüm havuzu alt ağlarından birine ayarlanır.
Benzersiz bir alt ağ ile düğüm havuzu ekleme
komutunu kullanarak
az aks nodepool add
mevcut kümenize benzersiz bir alt ağa sahip bir düğüm havuzu ekleyin ve öğesini--vnet-subnet-id
belirtin.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $NODE_POOL_NAME \ --node-count 3 \ --vnet-subnet-id $SUBNET_RESOURCE_ID
FIPS özellikli düğüm havuzları
AKS kümeniz için Federal Bilgi İşlem Standardı'nı (FIPS) etkinleştirme hakkında daha fazla bilgi için bkz . Azure Kubernetes Service (AKS) düğüm havuzları için Federal Bilgi İşlem Standardı'nı (FIPS) etkinleştirme.
ile Windows Server düğüm havuzları containerd
Kubernetes sürüm 1.20 ve üzeri sürümden başlayarak, Windows Server 2019 düğüm havuzları için kapsayıcı çalışma zamanı olarak belirtebilirsiniz containerd
. Kubernetes 1.23'den başlayarak, containerd
Windows için varsayılan ve tek kapsayıcı çalışma zamanıdır.
Önemli
Windows Server 2019 düğüm havuzlarıyla kullanırken containerd
:
- Hem denetim düzlemi hem de Windows Server 2019 düğüm havuzları Kubernetes sürüm 1.20 veya üzerini kullanmalıdır.
- Windows Server kapsayıcılarını çalıştırmak için
--node-vm-size
bir düğüm havuzu oluşturduğunuzda veya güncelleştirdiğinizde için varsayılan değer Standard_D2s_v3'dır. Bu, Kubernetes sürüm 1.20'nin öncesinde Windows Server 2019 düğüm havuzları için önerilen en düşük boyuttu. kullanancontainerd
Windows Server 2019 düğüm havuzları için önerilen en düşük boyut Standard_D4s_v3. parametresini--node-vm-size
ayarlarken, kısıtlanmış VM boyutlarının listesini denetleyin. - İş yüklerinizin doğru zamanlandığından emin olmak için windows Server 2019 düğüm havuzlarınızın çalıştırıldığı
containerd
, toleransların veya düğüm seçicilerin dağıtımlarınızla birlikte kullanılması önerilir.
ile Bir Windows Server düğüm havuzu ekleme containerd
kullanarak
az aks nodepool add
mevcut kümenize ilecontainerd
bir Windows Server düğüm havuzu ekleyin.Not
Özel üst bilgi belirtmezseniz
WindowsContainerRuntime=containerd
, düğüm havuzu varsayılan olarak kapsayıcı çalışma zamanı olarak kullanmaya devam ediyorcontainerd
.az aks nodepool add \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --os-type Windows \ --name $CONTAINER_D_NODE_POOL_NAME \ --node-vm-size Standard_D4s_v3 \ --kubernetes-version 1.20.5 \ --aks-custom-headers WindowsContainerRuntime=containerd \ --node-count 1
Var olan belirli bir Windows Server düğüm havuzunu containerd
Komutunu kullanarak docker'dan
containerd
belirli bir düğüm havuzunu yükseltinaz aks nodepool upgrade
.az aks nodepool upgrade \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --name $CONTAINER_D_NODE_POOL_NAME \ --kubernetes-version 1.20.7 \ --aks-custom-headers WindowsContainerRuntime=containerd
Tüm mevcut Windows Server düğüm havuzlarını containerd
komutunu kullanarak docker'dan tüm düğüm havuzlarını
containerd
yükseltinaz aks nodepool upgrade
.az aks nodepool upgrade \ --resource-group $RESOURCE_GROUP_NAME \ --cluster-name $CLUSTER_NAME \ --kubernetes-version 1.20.7 \ --aks-custom-headers WindowsContainerRuntime=containerd
Kısa ömürlü işletim sistemi disklerine sahip düğüm havuzları
bayrağı olarak ayarlanmış
Ephemeral
komutunu--node-osdisk-type
kullanarakaz aks nodepool add
mevcut bir kümeye Kısa ömürlü işletim sistemi diskleri kullanan bir düğüm havuzu ekleyin.Not
- Komutuyla
az aks create
bayrağını kullanarak--node-osdisk-type
küme oluşturma sırasında Kısa Ömürlü işletim sistemi diskleri belirtebilirsiniz. - Ağa bağlı işletim sistemi diskleriyle düğüm havuzları oluşturmak istiyorsanız, belirterek
--node-osdisk-type Managed
bunu yapabilirsiniz.
az aks nodepool add --name $EPHEMERAL_NODE_POOL_NAME --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME -s Standard_DS3_v2 --node-osdisk-type Ephemeral
- Komutuyla
Önemli
Kısa ömürlü işletim sistemi ile VM'leri ve örnek görüntülerini VM önbelleğinin boyutuna kadar dağıtabilirsiniz. AKS'deki varsayılan düğüm işletim sistemi disk yapılandırması 128 GB kullanır, bu da önbelleği 128 GB'tan büyük bir VM boyutuna ihtiyacınız olduğu anlamına gelir. Varsayılan Standard_DS2_v2 önbellek boyutu 86 GB'tır ve bu boyut yeterince büyük değildir. Standard_DS3_v2 VM SKU'sunun önbellek boyutu 172 GB'tır ve bu da yeterince büyüktür. ayrıca kullanarak --node-osdisk-size
işletim sistemi diskinin varsayılan boyutunu küçültebilirsiniz, ancak AKS görüntüleri için minimum boyutun 30 GB olduğunu unutmayın.
Düğüm havuzunu silme
Artık düğüm havuzuna ihtiyacınız yoksa, bunu silebilir ve temel alınan VM düğümlerini kaldırabilirsiniz.
Dikkat
Düğüm havuzunu sildiğinizde AKS, kordon ve boşaltma gerçekleştirmez ve düğüm havuzunu sildiğinizde oluşabilecek veri kaybı için kurtarma seçeneği yoktur. Podlar diğer düğüm havuzlarında zamanlanamazsa, bu uygulamalar kullanılamaz duruma gelir. Kullanımdaki uygulamalarda veri yedeklemeleri veya kümenizdeki diğer düğüm havuzlarında çalıştırılabilmesi olmadığında düğüm havuzunu silmediğinizden emin olun. Silmek istediğiniz düğüm havuzunda çalışmakta olan yeniden zamanlanmış podların kesintisini en aza indirmek için, silmeden önce düğüm havuzundaki tüm düğümlerde bir kordon ve boşaltma gerçekleştirin.
komutunu kullanarak
az aks nodepool delete
bir düğüm havuzunu silin ve düğüm havuzu adını belirtin.az aks nodepool delete --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --no-wait
Düğümleri ve düğüm havuzunu silmek birkaç dakika sürer.
Sonraki adımlar
Bu makalede, AKS kümesinde birden çok düğüm havuzu oluşturmayı öğrendiniz. Birden çok düğüm havuzunu yönetme hakkında bilgi edinmek için bkz . Azure Kubernetes Service'te (AKS) bir küme için birden çok düğüm havuzunu yönetme.
Azure Kubernetes Service