Mengelola kumpulan simpul untuk kluster (AKS di Azure Local 22H2)
Berlaku untuk: AKS di Azure Local 22H2, AKS di Windows Server
Catatan
Untuk informasi tentang mengelola kumpulan simpul di AKS di Azure Local 23H2, lihat Mengelola kumpulan simpul.
Di AKS yang diaktifkan oleh Azure Arc, simpul konfigurasi yang sama dikelompokkan bersama ke dalam kumpulan simpul. Kumpulan simpul ini berisi VM dasar yang menjalankan aplikasi Anda. Artikel ini memperlihatkan kepada Anda cara membuat dan mengelola kumpulan simpul untuk kluster di AKS Arc.
Catatan
Fitur ini memungkinkan kontrol yang lebih besar atas cara membuat dan mengelola beberapa kumpulan simpul. Akibatnya, perintah terpisah diperlukan untuk operasi buat, perbarui, dan hapus. Sebelumnya, operasi kluster melalui New-AksHciCluster atau Set-AksHciCluster adalah satu-satunya opsi untuk membuat atau menskalakan kluster dengan satu kumpulan simpul Windows dan satu kumpulan simpul Linux. Fitur ini menawarkan set operasi terpisah untuk kumpulan node yang memerlukan penggunaan perintah kumpulan node New-AksHciNodePool, Set-AksHciNodePool, Get-AksHciNodePool, dan Remove-AksHciNodePool untuk menjalankan operasi pada kumpulan node individual.
Sebelum Anda mulai
Kami menyarankan agar Anda menginstal versi 1.1.6. Jika Anda sudah menginstal modul PowerShell, jalankan perintah berikut untuk menemukan versi:
Get-Command -Module AksHci
Jika Anda perlu memperbarui PowerShell, ikuti instruksi di Meningkatkan host AKS.
Membuat kluster AKS
Untuk memulai, buat kluster AKS dengan satu kumpulan simpul. Contoh berikut menggunakan perintah New-AksHciCluster untuk membuat kluster Kubernetes baru dengan satu kumpulan simpul Linux bernama linuxnodepool, yang memiliki 1 simpul. Jika Anda sudah memiliki kluster yang disebarkan dengan versi AKS yang lebih lama, dan Anda ingin terus menggunakan penyebaran lama, Anda dapat melewati langkah ini. Anda masih dapat menggunakan set perintah kumpulan node baru untuk menambahkan lebih banyak kumpulan node ke kluster yang ada.
New-AksHciCluster -name mycluster -nodePoolName linuxnodepool -nodeCount 1 -osType linux
Catatan
Parameter lama yang ditetapkan untuk New-AksHciCluster
masih didukung.
Menambahkan kumpulan simpul
Kluster bernama mycluster
*', yang dibuat pada langkah sebelumnya, memiliki kumpulan simpul tunggal. Anda dapat menambahkan kumpulan node kedua ke kluster yang ada menggunakan perintah New-AksHciNodePool. Contoh berikut membuat kumpulan simpul Windows bernama windowsnodepool dengan satu simpul. Pastikan bahwa nama kumpulan simpul bukan nama yang sama dengan kumpulan simpul yang ada.
New-AksHciNodePool -clusterName mycluster -name windowsnodepool -count 1 -osType Windows -osSku Windows2022
Mendapatkan informasi konfigurasi kumpulan node
Untuk melihat informasi konfigurasi kumpulan node Anda, gunakan perintah Get-AksHciNodePool.
Get-AksHciNodePool -clusterName mycluster
Contoh output:
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
Untuk melihat informasi konfigurasi dari satu kumpulan simpul tertentu, gunakan -name
parameter di Get-AksHciNodePool.
Get-AksHciNodePool -clusterName mycluster -name linuxnodepool
Contoh output:
ClusterName : mycluster
NodePoolName : linuxnodepool
Version : v1.20.7
OsType : Linux
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
Get-AksHciNodePool -clusterName mycluster -name windowsnodepool
Contoh output:
ClusterName : mycluster
NodePoolName : windowsnodepool
Version : v1.20.7
OsType : Windows
NodeCount : 1
VmSize : Standard_K8S3_v1
Phase : Deployed
Catatan
Jika Anda menggunakan set parameter baru di New-AksHciCluster
untuk menyebarkan kluster lalu menjalankan Get-AksHciCluster
untuk mendapatkan informasi kluster, bidang WindowsNodeCount
dan LinuxNodeCount
pada output akan mengembalikan 0
. Untuk mendapatkan jumlah simpul yang akurat di setiap kumpulan simpul, gunakan perintah Get-AksHciNodePool
dengan nama kluster yang ditentukan.
Menskalakan kumpulan node
Anda dapat menambah atau mengurangi skala jumlah node ke dalam suatu kumpulan node.
Untuk menskalakan jumlah node dalam kumpulan node, gunakan perintah Set-AksHciNodePool. Contoh berikut menskalakan jumlah simpul menjadi 3 dalam kumpulan simpul bernama linuxnodepool
dalam mycluster
kluster.
Set-AksHciNodePool -clusterName mycluster -name linuxnodepool -count 3
Menskalakan node sarana kontrol
Manajemen simpul sarana kontrol tidak berubah. Cara pembuatan, penskalaan, dan penghapusannya tetap sama. Anda masih akan menyebarkan simpul sarana kontrol dengan perintah New-AksHciCluster dengan parameter controlPlaneNodeCount
dan controlPlaneVmSize
dengan nilai default masing-masing 1 dan Standard_A4_V2, jika Anda tidak memberikan nilai apa pun.
Anda mungkin perlu menskalakan node sarana kontrol seiring perubahan permintaan beban kerja aplikasi Anda. Untuk menskalakan node sarana kontrol, gunakan perintah Set-AksHciCluster. Contoh berikut menskalakan simpul sarana kontrol ke 3 dalam mycluster
kluster, yang dibuat di langkah-langkah sebelumnya.
Set-AksHciCluster -name mycluster -controlPlaneNodeCount 3
Menghapus kumpulan simpul
Jika Anda perlu menghapus kumpulan node, gunakan perintah Remove-AksHciNodePool. Contoh berikut menghapus kumpulan simpul bernama windowsnodepool
dari mycluster
kluster.
Remove-AksHciNodePool -clusterName mycluster -name windowsnodepool
Menentukan taint untuk kumpulan node
Saat membuat kumpulan node, Anda dapat menambahkan taint ke kumpulan node tersebut. Ketika Anda menambahkan taint, semua node dalam kumpulan node itu juga akan mendapatkan taint tersebut. Untuk informasi selengkapnya tentang taint dan toleransi, lihat Taint dan Toleransi Kubernetes.
Mengatur taint kumpulan node
Untuk membuat kumpulan node dengan taint, gunakan perintah New-AksHciNodePool. Tentukan nama taintnp
, dan gunakan -taints
parameter untuk menentukan sku=gpu:noSchedule
taint.
New-AksHciNodePool -clusterName mycluster -name taintnp -count 1 -osType linux -taints sku=gpu:NoSchedule
Catatan
Taint hanya dapat diatur untuk kumpulan simpul selama pembuatan kumpulan simpul.
Jalankan perintah berikut untuk memastikan kumpulan simpul berhasil disebarkan dengan taint yang ditentukan.
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}
Pada langkah sebelumnya, Anda menerapkan taint sku=gpu:NoSchedule saat Anda membuat kumpulan simpul. Contoh dasar berikut dari manifes YAML menggunakan toleration untuk memungkinkan penjadwal Kubernetes menjalankan Pod NGINX pada sebuah simpul di kumpulan simpul tersebut.
Buat file bernama nginx-toleration.yaml
, dan salin informasi dalam teks berikut.
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"
Kemudian, jadwalkan pod menggunakan perintah berikut.
kubectl apply -f nginx-toleration.yaml
Untuk memverifikasi bahwa pod telah disebarkan, jalankan perintah berikut:
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