Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure CLI veya Azure Resource Manager (ARM) şablonlarını kullanarak Azure Kubernetes Service'te (AKS) düğüm otomatik sağlamayı (NAP) etkinleştirme veya devre dışı bırakma açıklanmaktadır.
Özel sanal ağ (VNet) ve alt ağlarla NAP özellikli bir AKS kümesi oluşturmak istiyorsanız bkz. Özel bir sanal ağda düğüm otomatik sağlama (NAP) kümesi oluşturma.
Başlamadan önce
Başlamadan önce, NAP'nin nasıl çalıştığını, önkoşulları ve sınırlamaları ayrıntılı olarak açıklayan AKS'de düğüm otomatik sağlamaya (NAP) genel bakış makalesini gözden geçirin.
AKS kümesinde düğüm otomatik sağlamayı (NAP) etkinleştirme
Aşağıdaki bölümlerde yeni veya mevcut aks kümesinde NAP'nin nasıl etkinleştirileceği açıklanmaktadır:
Uyarı
Denetim düzlemi ölçümlerini, Azure İzleyici yönetilen hizmetiyle Prometheus eklentisi kullanarak düğüm otomatik sağlamadan gelen günlükleri ve işlemleri görmek için etkinleştirebilirsiniz.
Yeni kümede NAP'yi etkinleştirme
Yeni bir kümede düğüm otomatik sağlamayı etkinleştirmek için
az aks createkomutunu--node-provisioning-modebayrağıAutoolarak ayarlayarak kullanın. Aşağıdaki komut,--network-pluginöğesiniazureolarak,--network-plugin-modeöğesinioverlayolarak ve--network-dataplaneöğesiniciliumolarak ayarlar.az aks create \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --node-provisioning-mode Auto \ --network-plugin azure \ --network-plugin-mode overlay \ --network-dataplane cilium \ --generate-ssh-keys
Dosya adı
nap.jsonolan bir dosya oluşturun veproperties.nodeProvisioningProfile.modealanınıAutoolarak ayarlayarak NAP'i etkinleştiren aşağıdaki ARM şablonu yapılandırmasını ekleyin. (Varsayılan ayar:Manual.){ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "metadata": {}, "parameters": {}, "resources": [ { "type": "Microsoft.ContainerService/managedClusters", "apiVersion": "2025-05-01", "sku": { "name": "Base", "tier": "Standard" }, "name": "napcluster", "location": "uksouth", "identity": { "type": "SystemAssigned" }, "properties": { "networkProfile": { "networkPlugin": "azure", "networkPluginMode": "overlay", "networkPolicy": "cilium", "networkDataplane":"cilium", "loadBalancerSku": "Standard" }, "dnsPrefix": "napcluster", "agentPoolProfiles": [ { "name": "agentpool", "count": 3, "vmSize": "standard_d2s_v3", "osType": "Linux", "mode": "System" } ], "nodeProvisioningProfile": { "mode": "Auto" } } } ] }ARM şablon dosyasının yolunu
--template-filebayrağı ile belirleyerekaz deployment group createkomutunu kullanarak yeni bir kümede düğüm otomatik sağlamayı etkinleştirin.az deployment group create --resource-group $RESOURCE_GROUP --template-file ./nap.json
Mevcut kümede NAP'yi etkinleştirme
Mevcut bir kümede
az aks updatekomutunu,--node-provisioning-modebayrağıAutoolarak ayarlanmış şekilde kullanarak düğüm otomatik sağlama işlemini etkinleştirin.az aks update --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP --node-provisioning-mode Auto
AKS kümesinde düğüm otomatik sağlamayı (NAP) devre dışı bırakma
Önemli
Bir kümede NAP'yi yalnızca aşağıdaki koşullar karşılanırsa devre dışı bırakabilirsiniz:
- Mevcut NAP düğümü yok. Mevcut NAP ile yönetilen düğümleri denetlemek için komutunu kullanabilirsiniz
kubectl get nodes -l karpenter.sh/nodepool. - Mevcut tüm Karpenter
NodePools,spec.limits.cpualanı0olarak ayarlanmıştır. Bu eylem yeni düğümlerin oluşturulmasını engeller, ancak şu anda çalışan düğümleri kesintiye uğratmaz.
Mevcut her Karpenter için
spec.limits.cpualanını0olarakNodePoolayarlayın. Örneğin:apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: default spec: limits: cpu: 0Önemli
NAP'yi devre dışı bırakmadan önce daha önce BIR NAP düğümünde çalışan her pod'un NAP olmayan bir düğüme güvenli bir şekilde geçirildiğinden emin olmak istemiyorsanız, 2. ve 3. adımları atlayabilir ve bunun yerine NAP ile yönetilen her düğüm için komutunu kullanabilirsiniz
kubectl delete node. Ancak bazı podları beklemede bırakabileceğinden ve Pod Disruption Budgets (PDB) ile uyumlu olmadığından bu adımları atlamanızı önermeyiz.komutunu kullanırken
kubectl delete nodeyalnızca NAP ile yönetilen düğümleri silmeye dikkat edin. komutunu kullanarak NAP ile yönetilen düğümlerikubectl get nodes -l karpenter.sh/nodepooltanımlayabilirsiniz.karpenter.azure.com/disable:NoScheduleyabancı maddeyi her Karpenter'a ekleyin. Örneğin:apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: default spec: template: spec: ... taints: - key: karpenter.azure.com/disable effect: NoScheduleBu eylem, NAP ile yönetilen düğümlerdeki iş yüklerini NAP olmayan düğümlere geçirme işlemini başlatır ve PDB'leri ve kesinti sınırlarını uygular. Podlar sığabiliyorsa NAP olmayan düğümlere geçiş yapar. Eğer yeterli sabit boyutlu kapasite yoksa, NAP tarafından yönetilen bazı düğümler kalır.
Yükü NAP ile yönetilen düğümlerden almak için mevcut sabit boyutlu
ManagedClusterAgentPoolsölçeklendirin veya yeni bir sabit boyutluAgentPoolsoluşturun. Bu düğümler kümeye eklendikçe NAP ile yönetilen düğümler boşaltılır ve iş sabit boyutlu düğümlere geçirilir.komutunu kullanarak NAP ile yönetilen tüm düğümleri
kubectl get nodes -l karpenter.sh/nodepoolsilin. NAP ile yönetilen düğümler hala mevcutsa kümede büyük olasılıkla sabit boyutlu kapasite yoktur. Bu durumda, kalan iş yüklerinin geçirilebilmesi için daha fazla düğüm eklemeniz gerekir.
Azure CLI komutunu
Manualolarak ayarlanmış--node-provisioning-modebayrağıyla kullanarak, NAP modunuaz aks updategüncelleştirinManual.az aks update \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --node-provisioning-mode Manual
properties.nodeProvisioningProfile.modealanını ARM şablonunuzdaManualolarak güncelleyin ve yeniden dağıtın.{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "metadata": {}, "parameters": {}, "resources": [ { "type": "Microsoft.ContainerService/managedClusters", "apiVersion": "2025-05-01", "sku": { "name": "Base", "tier": "Standard" }, "name": "napcluster", "location": "uksouth", "identity": { "type": "SystemAssigned" }, "properties": { "networkProfile": { "networkPlugin": "azure", "networkPluginMode": "overlay", "networkPolicy": "cilium", "networkDataplane":"cilium", "loadBalancerSku": "Standard" }, "dnsPrefix": "napcluster", "agentPoolProfiles": [ { "name": "agentpool", "count": 3, "vmSize": "standard_d2s_v3", "osType": "Linux", "mode": "System" } ], "nodeProvisioningProfile": { "mode": "Manual" } } } ] }
Sonraki Adımlar
AKS'de düğüm otomatik sağlama hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
- Özel bir sanal ağda otomatik düğüm sağlamayı kullanma
- AKS'de otomatik düğüm provizyonu için ağı yapılandırma
- AKS'de düğüm otomatik sağlama için düğüm havuzlarını yapılandırma
- AKS'de otomatik düğüm sağlama için kesinti ilkelerini yapılandırma
- AKS'de otomatik düğüm sağlama için düğüm görüntülerini yükseltme