Küme için düğüm havuzlarını yönetme (Azure Yerel 22H2 ile AKS)
Şunlar için geçerlidir: Azure Yerel 22H2'de AKS, Windows Server'da AKS
Not
Azure Local 23H2 ü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ı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. Bu makalede AKS Arc'ta bir küme için düğüm havuzları oluşturma ve yönetme gösterilmektedir.
Not
Bu özellik, birden çok düğüm havuzu oluşturma ve yönetme konusunda daha fazla denetim sağlar. Sonuç olarak, oluşturma, güncelleştirme ve silme işlemleri için ayrı komutlar gerekir. Daha önce New-AksHciCluster veya Set-AksHciCluster aracılığıyla yapılan küme işlemleri, bir Windows düğüm havuzu ve bir Linux düğüm havuzu ile küme oluşturma veya ölçeklendirmeye yönelik tek seçenekti. Bu özellik, tek bir düğüm havuzunda işlemleri yürütmek için New-AksHciNodePool, Set-AksHciNodePool, Get-AksHciNodePool ve Remove-AksHciNodePool düğüm havuzu komutlarının kullanılmasını gerektiren düğüm havuzları için ayrı bir işlem kümesi sunar.
Başlamadan önce
1.1.6 sürümünü yüklemenizi öneririz. PowerShell modülü zaten yüklüyse, sürümü bulmak için aşağıdaki komutu çalıştırın:
Get-Command -Module AksHci
PowerShell'i güncelleştirmeniz gerekiyorsa AKS ana bilgisayarını yükseltme başlığındaki yönergeleri izleyin.
AKS kümesi oluşturma
Başlamak için tek düğümlü havuza sahip bir AKS kümesi oluşturun. Aşağıdaki örnek New-AksHciCluster komutunu kullanarak 1 düğüme sahip linuxnodepool adlı bir Linux düğüm havuzuna sahip yeni bir Kubernetes kümesi oluşturur. AKS'nin daha eski bir sürümüyle dağıtılmış bir kümeniz varsa ve eski dağıtımınızı kullanmaya devam etmek istiyorsanız, bu adımı atlayabilirsiniz. Mevcut kümenize daha fazla düğüm havuzu eklemek için yeni düğüm havuzu komutlarını kullanmaya devam edebilirsiniz.
New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1 -osType linux
Not
için New-AksHciCluster
eski parametre kümesi hala desteklenmektedir.
Düğüm havuzu ekleme
Önceki adımda oluşturulan *' adlı mycluster
kümenin tek düğüm havuzu vardır. New-AksHciNodePool komutunu kullanarak mevcut kümeye ikinci bir düğüm havuzu ekleyebilirsiniz. Aşağıdaki örnek, tek düğümlü windowsnodepool adlı bir Windows düğüm havuzu oluşturur. Düğüm havuzunun adının mevcut düğüm havuzuyla aynı ad olmadığından emin olun.
New-AksHciNodePool -clusterName mycluster -name windowsnodepool -count 1 -osType Windows -osSku Windows2022
Düğüm havuzunun yapılandırma bilgilerini alma
Düğüm havuzlarınızın yapılandırma bilgilerini görmek için Get-AksHciNodePool komutunu kullanın.
Get-AksHciNodePool -clusterName mycluster
Örnek çıkış:
ClusterName : mycluster
NodePoolName : linuxnodepool
Version : v1.20.7
OsType : Linux
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
ClusterName : mycluster
NodePoolName : windowsnodepool
Version : v1.20.7
OsType : Windows
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
Belirli bir düğüm havuzunun yapılandırma bilgilerini görmek için Get-AksHciNodePool-name
parametresini kullanın.
Get-AksHciNodePool -clusterName mycluster -name linuxnodepool
Örnek çıkış:
ClusterName : mycluster
NodePoolName : linuxnodepool
Version : v1.20.7
OsType : Linux
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
Get-AksHciNodePool -clusterName mycluster -name windowsnodepool
Örnek çıkış:
ClusterName : mycluster
NodePoolName : windowsnodepool
Version : v1.20.7
OsType : Windows
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
Not
Yeni parametre kümelerini New-AksHciCluster
kullanarak bir küme dağıtıp küme bilgilerini almak için komutunu çalıştırırsanızGet-AksHciCluster
, çıktıdaki ve WindowsNodeCount
alanları LinuxNodeCount
döndürür0
. Her düğüm havuzundaki doğru düğüm sayısını almak için belirtilen küme adıyla komutunu Get-AksHciNodePool
kullanın.
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 Set-AksHciNodePool komutunu kullanın. Aşağıdaki örnek, kümede adlı linuxnodepool
bir düğüm havuzunda düğüm sayısını 3'e mycluster
ölçeklendirir.
Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3
Ölçek denetim düzlemi düğümleri
Denetim düzlemi düğümlerinin yönetimi değişmedi. Oluşturulma, ölçeklendirilmeleri ve kaldırılma yöntemleri aynı kalır. Herhangi bir değer sağlamazsanız, new-akshcicluster komutuyla ve varsayılan controlPlaneNodeCount
controlPlaneVmSize
değerleri sırasıyla 1 ve Standard_A4_V2 olan denetim düzlemi düğümlerini dağıtmaya devam edebilirsiniz.
Uygulamalarınızın iş yükü talebi değiştikçe denetim düzlemi düğümlerini ölçeklendirmeniz gerekebilir. Denetim düzlemi düğümlerini ölçeklendirmek için Set-AksHciCluster komutunu kullanın. Aşağıdaki örnek, önceki adımlarda oluşturulan denetim düzlemi düğümlerini kümede mycluster
3'e ölçeklendirir.
Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3
Düğüm havuzunu silme
Düğüm havuzunu silmeniz gerekiyorsa Remove-AksHciNodePool komutunu kullanın. Aşağıdaki örnek adlı windowsnodepool
düğüm havuzunu kümeden mycluster
kaldırır.
Remove-AksHciNodePool -clusterName mycluster -name windowsnodepool
Düğüm havuzu için renk tonu belirtme
Düğüm havuzu oluştururken bu düğüm havuzuna renk tonları ekleyebilirsiniz. Bir renk tonu eklediğinizde, bu düğüm havuzundaki tüm düğümler de bu taint'i alır. Taint'ler ve toleranslar hakkında daha fazla bilgi için bkz . Kubernetes Taints ve Tolerations.
Düğüm havuzu renk tonlarını ayarlama
Taint ile düğüm havuzu oluşturmak için New-AksHciNodePool kullanın. adını taintnp
belirtin ve renk tonu -taints
için belirtmek sku=gpu:noSchedule
üzere parametresini kullanın.
New-AksHciNodePool -clusterName mycluster -name taintnp -count 1 -osType linux -taints sku=gpu:NoSchedule
Not
Taint yalnızca düğüm havuzu oluşturma sırasında düğüm havuzları için ayarlanabilir.
Düğüm havuzunun belirtilen taint ile başarıyla dağıtıldığından emin olmak için aşağıdaki komutu çalıştırın.
Get-AksHciNodePool -clusterName mycluster -name taintnp
Status : {Phase, Details}
ClusterName : mycluster
NodePoolName : taintnp
Version : v1.20.7-kvapkg.1
OsType : Linux
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
Taints : {sku=gpu:NoSchedule}
Önceki adımda, düğüm havuzunuzu oluştururken sku=gpu:NoSchedule taint'i uyguladınız. Aşağıdaki temel ö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.
adlı nginx-toleration.yaml
bir dosya oluşturun ve aşağıdaki metindeki bilgileri kopyalayı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"
Ardından aşağıdaki komutu kullanarak podu zamanlayın.
kubectl apply -f nginx-toleration.yaml
Pod'un dağıtıldığını doğrulamak için aşağıdaki komutu çalıştırın:
kubectl describe pod mypod
[...]
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 32s default-scheduler Successfully assigned default/mypod to moc-lk4iodl7h2y
Normal Pulling 30s kubelet Pulling image "mcr.microsoft.com/oss/nginx/nginx:1.15.9-alpine"
Normal Pulled 26s kubelet Successfully pulled image "mcr.microsoft.com/oss/nginx/nginx:1.15.9-alpine" in 4.529046457s
Normal Created 26s kubelet Created container mypod