Küme için düğüm havuzlarını yönetme (Azure Stack HCI 23H2 üzerinde AKS)
Şunlar için geçerlidir: Azure Stack HCI, sürüm 23H2
Not
Azure Stack HCI 22H2 üzerinde AKS'de düğüm havuzlarını yönetme hakkında bilgi için bkz. Düğüm havuzlarını yönetme.
Azure Arc tarafından etkinleştirilen AKS'de, aynı yapılandırmaya ait düğümler düğüm havuzları halinde gruplandırılır. Bu düğüm havuzları, uygulamalarınızı çalıştıran temel vm'leri içerir. Bu makalede AKS Arc'ta bir küme için düğüm havuzları oluşturma ve yönetme gösterilmektedir.
Kubernetes kümesi oluşturma
Başlamak için tek düğümlü havuza sahip bir Kubernetes kümesi oluşturun:
az aksarc create -n <cluster name> -g <resource group> --custom-location <custom location Id> --vnet-ids <vnet id> --generate-ssh-keys --load-balancer-count <load balancer count>
Düğüm havuzu ekleme
komutunu kullanarak az aksarc nodepool add
mevcut kümeye düğüm havuzu ekleyebilirsiniz. Düğüm havuzunun adının mevcut düğüm havuzuyla aynı ad olmadığından emin olun:
az aksarc nodepool add --name <node pool name> -g <resource group> --cluster-name <cluster name> --os-sku <Linux or Windows> --node-count <count> --node-vm-size <vm size>
Düğüm havuzu için yapılandırma bilgilerini alma
Düğüm havuzlarınızın yapılandırmasını görmek için komutunu az aksarc nodepool show
kullanın:
az aksarc nodepool show --cluster-name <cluster name> -n <node pool name> -g <resource group>
Örnek çıktı:
{
"availabilityZones": null,
"count": 1,
"extendedLocation": null,
"id":
"/subscriptions/<subscription>/resourceGroups/edgeci-registration-rr1s46r1710<resource
group>/providers/Microsoft.Kubernetes/connectedClusters/<cluster
name>/providers/Microsoft.HybridContainerService/provisionedClusterInstances/default/agentPools/<nodepoolname>",
"location": "westeurope",
"name": "nodepoolname",
"nodeImageVersion": null,
"osSku": "CBLMariner",
"osType": "Linux",
"provisioningState": "Succeeded",
"resourceGroup": "resourcegroup",
"status": {
"errorMessage": null,
"operationStatus": null,
"readyReplicas": [
{
"count": 1,
"vmSize": "Standard\_A4\_v2"
}
]
},
"systemData": {
…
},
"tags": null,
"type":
"microsoft.hybridcontainerservice/provisionedclusterinstances/agentpools",
"vmSize": "Standard\_A4\_v2"
}
Düğüm havuzuna dağıtılan en fazla pod sayısını belirtme
Küme oluşturma zamanında veya yeni düğüm havuzları oluştururken düğüme dağıtılabilen en fazla pod sayısını yapılandırabilirsiniz. Düğüm havuzlarını oluştururken belirtmezseniz maxPods
, düğüm havuzunuz varsayılan değer olarak en fazla 110 pod ile dağıtılır:
az aksarc nodepool add --cluster-name <cluster name> -n <node pool name> -g <resource group> --max-pods 50 --yes
Düğüm havuzunu ölçeklendirme
Düğüm havuzunda düğüm sayısını artırıp azaltabilirsiniz.
Düğüm havuzundaki düğüm sayısını ölçeklendirmek için komutunu kullanın az aksarc nodepool scale
. Aşağıdaki örnek, adlı nodepool1
bir düğüm havuzunda düğüm sayısını 2'ye ölçeklendirir:
az aksarc nodepool scale --cluster-name <cluster name> -n nodepool1 -g <resource group> --node-count 2 --yes
Düğüm havuzunu silme
Düğüm havuzunu silmeniz gerekiyorsa komutunu kullanın az aksarc nodepool delete
:
az aksarc nodepool delete --cluster-name <cluster name> -n <node pool name> -g <resource group> --yes
Düğüm havuzu için renk tonu veya etiket belirtme
Düğüm havuzu oluşturduğunuzda, havuza renk tonları veya etiketler ekleyebilirsiniz. Bir renk tonu veya etiket eklediğinizde, bu düğüm havuzundaki tüm düğümler de bu taint veya etiketi alır.
Önemli
kullanarak az aksarc nodepool
düğüm havuzunun tamamı için düğümlere renk tonları veya etiketler eklemelisiniz. Bir düğüm havuzundaki tek tek düğümlere renk tonları veya etiketler uygulamak için kullanılması kubectl
önerilmez.
Düğüm havuzu renk tonlarını ayarlama
komutunu kullanarak
az aksarc nodepool add
bir taint ile düğüm havuzu oluşturun. Adıtaintnp
belirtin ve taint için belirtmeksku=gpu:NoSchedule
üzere parametresini kullanın--node-taints
:az aksarc nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name taintnp \ --node-count 1 \ --node-taints sku=gpu:NoSchedule \ --no-wait
komutunu kullanarak düğüm havuzunun
az aksarc nodepool list
durumunu denetleyin:az aksarc nodepool list -g myResourceGroup --cluster-name myAKSCluster
Aşağıdaki örnek çıktı, düğüm havuzunun
taintnp
belirtilennodeTaints
ile düğümler oluşturduğunu gösterir:[ { ... "count": 1, ... "name": "taintnp", ... "provisioningState": "Succeeded", ... "nodeTaints": [ "sku=gpu:NoSchedule" ], ... }, ... ]
Düğümler için zamanlama kurallarını işlemeye yönelik ayrıntılı bilgiler Kubernetes'te görünür. Kubernetes zamanlayıcı, düğümlerde çalıştırılacak iş yüklerini kısıtlamak için renk tonlarını ve toleransları kullanabilir.
- Bir düğüme yalnızca belirli podların zamanlandığını gösteren bir renk tonu uygulanır.
- Daha sonra bir düğümün taint'ini "tolere etmelerini" sağlayan bir poda tolerans uygulanır.
Düğüm havuzu toleranslarını ayarlama
Önceki adımda, düğüm havuzunu oluştururken tint'i uyguladınız sku=gpu:NoSchedule
. Aşağıdaki örnek YAML bildirimi, Kubernetes zamanlayıcısının bu düğüm havuzundaki bir düğümde NGINX podunu çalıştırmasına izin vermek için bir tolerans kullanır:
nginx-toleration.yaml adlı bir dosya oluşturun ve aşağıdaki örnek YAML'yi kopyalayıp yapıştırın:
apiVersion: v1 kind: Pod metadata: name: mypod spec: containers: - image: mcr.microsoft.com/oss/nginx/nginx:1.15.9-alpine name: mypod resources: requests: cpu: 100m memory: 128Mi limits: cpu: 1 memory: 2G tolerations: - key: "sku" operator: "Equal" value: "gpu" effect: "NoSchedule"
Komutunu kullanarak podu zamanlayın
kubectl apply
:kubectl apply -f nginx-toleration.yaml
Pod'un zamanlanması ve NGINX görüntüsünün çekilmesi birkaç saniye sürer.
komutunu kullanarak
kubectl describe pod
durumu denetleyin:kubectl describe pod mypod
Aşağıdaki sıkıştırılmış örnek çıktı, toleransın
sku=gpu:NoSchedule
uygulandığını gösterir. Olaylar bölümünde zamanlayıcı podu düğüme atadımoc-lbeof1gn6x3
:[...] Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s node.kubernetes.io/unreachable:NoExecute op=Exists for 300s sku=gpu:NoSchedule Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 54s default-scheduler Successfully assigned default/mypod to moc-lbeof1gn6x3 Normal Pulling 53s kubelet Pulling image "mcr.microsoft.com/oss/nginx/nginx:1.15.9-alpine" Normal Pulled 48s kubelet Successfully pulled image "mcr.microsoft.com/oss/nginx/nginx:1.15.9-alpine" in 3.025148695s (3.025157609s including waiting) Normal Created 48s kubelet Created container Normal Started 48s kubelet Started container
Yalnızca bu tolerans uygulanmış podlar içindeki
taintnp
düğümlerde zamanlanabilir. Diğer tüm podlar nodepool1 düğüm havuzunda zamanlanır. Daha fazla düğüm havuzu oluşturursanız, bu düğüm kaynaklarında zamanlanacak podları sınırlamak için renk tonlarını ve toleransları kullanabilirsiniz.
Düğüm havuzu etiketlerini ayarlama
Daha fazla bilgi için bkz. Azure Arc özellikli AKS kümesinde etiket kullanma. ::: zone-end
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin