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 konnectivitygibi 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

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ü havuzlarını 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.

  1. komutunu kullanarak az group create bir Azure kaynak grubu oluşturun.

    az group create --name myResourceGroup --location eastus
    
  2. komutunu kullanarak az aks create tek düğümlü havuza sahip bir AKS kümesi oluşturun.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --vm-set-type VirtualMachineScaleSets \
        --node-count 2 \
        --generate-ssh-keys \
        --load-balancer-sku standard
    

    Kümenin oluşturulması birkaç dakika sürer.

  3. Küme hazır olduğunda komutunu kullanarak az aks get-credentials küme kimlik bilgilerini alın.

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    

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.

  1. 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 myResourceGroup \
        --cluster-name myAKSCluster \
        --name mynodepool \
        --node-count 3
    
  2. 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 myResourceGroup --cluster-name myAKSCluster
    

    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ı Defender özellikli kümelerde desteklenmez.
  • FIPS özellikli düğüm havuzları ARM64 SKU'larında desteklenmez.

ARM64 düğüm havuzu ekleme

  • kullanarak az aks nodepool addmevcut kümenize bir ARM64 düğüm havuzu ekleyin.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name armpool \
        --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 myResourceGroup \
        --cluster-name myAKSCluster \
        --name azlinuxpool \
        --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:

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-idbelirtin.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name mynodepool \
        --node-count 3 \
        --vnet-subnet-id <YOUR_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. kullanan containerdWindows 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 addmevcut kümenize ile containerd 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 ediyor containerd .

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --os-type Windows \
        --name npwcd \
        --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ükseltin az aks nodepool upgrade .

    az aks nodepool upgrade \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name npwd \
        --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ükseltin az aks nodepool upgrade .

    az aks nodepool upgrade \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --kubernetes-version 1.20.7 \
        --aks-custom-headers WindowsContainerRuntime=containerd
    

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 -g myResourceGroup --cluster-name myAKSCluster --name mynodepool --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.