Küme için düğüm havuzlarını yönetme (Azure Stack HCI 22H2 üzerinde AKS)
Şunlar için geçerlidir: Azure Stack HCI 22H2 üzerinde AKS, Windows Server'da AKS
Not
Azure Stack HCI 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ı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.
Not
Bu özellik, birden çok düğüm havuzu oluşturma ve yönetme üzerinde 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şturmak veya ölçeklendirmek için 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 örnekte New-AksHciCluster komutu kullanılarak 1 düğüme sahip linuxnodepool adlı bir Linux düğüm havuzuna sahip yeni bir Kubernetes kümesi oluşturulur. AKS'nin daha eski bir sürümüyle dağıtılmış bir kümeniz zaten 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 bir 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 çıktı:
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 içindeki parametresini kullanın-name
.
Get-AksHciNodePool -clusterName mycluster -name linuxnodepool
Örnek çıktı:
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 çıktı:
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ız Get-AksHciCluster
, alanlar WindowsNodeCount
ve LinuxNodeCount
çıktıda döndürür 0
. 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ümedeki adlı linuxnodepool
düğüm havuzunda düğüm sayısını 3'e mycluster
ölçeklendirir.
Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3
Denetim düzlemi düğümlerini ölçeklendirme
Denetim düzlemi düğümlerinin yönetimi değişmedi. Bunların oluşturulma, ölçeklendirilip kaldırılma şekli aynı kalır.
New-AksHciCluster komutuyla denetim düzlemi düğümlerini controlPlaneNodeCount
parametrelerle ve controlPlaneVmSize
hiçbir değer sağlamazsanız sırasıyla 1 ve Standard_A4_V2 varsayılan değerleriyle 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 kümede mycluster
denetim düzlemi düğümlerini 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 içeren bir düğüm havuzu oluşturmak için New-AksHciNodePool kullanın. adını taintnp
belirtin ve taint için belirtmek sku=gpu:noSchedule
üzere parametresini kullanın-taints
.
New-AksHciNodePool -clusterName mycluster -name taintnp -count 1 -osType linux -taints sku=gpu:NoSchedule
Not
Bir renk tonu yalnızca düğüm havuzu oluşturma sırasında düğüm havuzları için ayarlanabilir.
Düğüm havuzunun belirtilen renk tonuyla 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
Çıkış
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 pod'u 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