Menggunakan kumpulan simpul Virtual Machines di Azure Kubernetes Service (AKS)

Dalam artikel ini, Anda akan mempelajari tentang jenis kumpulan simpul Komputer Virtual baru untuk AKS.

Dengan sekumpulan simpul Mesin Virtual, AKS secara langsung mengelola penyediaan dan bootstrapping setiap simpul. Untuk pool node Virtual Machine Scale Sets, AKS mengelola model dari Virtual Machine Scale Sets dan menggunakannya untuk mencapai konsistensi di seluruh node dalam pool node tersebut. Kumpulan simpul Virtual Machines memungkinkan Anda mengatur kluster dengan komputer virtual yang paling sesuai dengan beban kerja individual Anda.

Gambaran Umum

Cara kerjanya

Kumpulan simpul terdiri dari sekumpulan komputer virtual (VM), di mana ukuran komputer virtual yang berbeda ditunjuk untuk mendukung berbagai jenis beban kerja. Ukuran komputer virtual ini, disebut sebagai SKU, dikategorikan ke dalam berbagai keluarga yang dioptimalkan untuk tujuan tertentu. Untuk informasi selengkapnya, lihat VM SKU. Dengan kumpulan node Mesin Virtual, Anda dapat melakukan penskalaan manual multi-SKU, atau penskalaan otomatis SKU tunggal.

Untuk mengaktifkan penskalaan beberapa ukuran komputer virtual, jenis kumpulan simpul Komputer Virtual menggunakan ScaleProfile yang berisi konfigurasi yang menunjukkan bagaimana kumpulan simpul dapat menskalakan, khususnya daftar ukuran komputer virtual yang diinginkan dan jumlah setiap ukuran. ManualScaleProfile adalah profil skala yang menentukan satu ukuran komputer virtual yang diinginkan dan jumlah total jenis tersebut dalam kumpulan simpul. Hanya satu ukuran komputer virtual yang diizinkan dalam .ManualScaleProfile Anda perlu membuat ManualScaleProfile yang terpisah untuk setiap ukuran mesin virtual dalam kumpulan node Anda. Saat membuat kumpulan simpul Mesin Virtual baru, Anda menambahkan profil skala awal secara manual untuk ukuran mesin virtual menggunakan bidang vm-size dan menyertakan node-count. Anda juga dapat menambahkan lebih banyak profil skala manual dengan mengikuti instruksi untuk menambahkan profil skala manual.

Kumpulan node Mesin Virtual juga memungkinkan Auto mode, yang berarti kumpulan node dapat menggunakan pengukur otomatis kluster. Setiap kumpulan simpul Komputer Virtual dalam Auto mode hanya dapat menggunakan satu ukuran Komputer Virtual pada satu waktu.

Catatan

Saat membuat kumpulan simpul Komputer Virtual baru, Anda dapat memiliki beberapa profil skala, dan Anda memerlukan setidaknya satu profil skala manual di kumpulan simpul Anda. Saat mengaktifkan pengaturan skala otomatis kluster dengan kelompok node Mesin Virtual, Anda harus menghapus semua kecuali satu profil skala yang digunakan kelompok node untuk proses penskalaan.

Kelebihan

Keuntungan dari jenis kumpulan simpul Komputer Virtual meliputi:

  • Fleksibilitas: Spesifikasi node dapat diperbarui untuk beradaptasi dengan beban kerja dan kebutuhan Anda saat ini.
  • Kontrol yang disempurnakan: Kontrol tingkat node tunggal memungkinkan menentukan dan mencampur node dari spesifikasi yang berbeda untuk menghilangkan batasan pada satu model dan meningkatkan konsistensi.
  • Efisiensi: Anda dapat mengurangi penggunaan simpul untuk kluster Anda, menyederhanakan persyaratan operasional Anda.

Kumpulan simpul Komputer Virtual memberikan pengalaman yang lebih baik untuk beban kerja dinamis dan persyaratan ketersediaan tinggi. Kumpulan simpul Komputer Virtual memungkinkan Anda menyiapkan beberapa komputer virtual keluarga serupa dalam satu kumpulan simpul. Beban kerja Anda secara otomatis dijadwalkan pada sumber daya yang tersedia yang Anda konfigurasikan.

Perbandingan fitur

Tabel berikut menyoroti bagaimana kumpulan simpul Mesin Virtual dibandingkan dengan kumpulan simpul Standar Set Skala.

Jenis kumpulan simpul Kemampuan
Kumpulan simpul Komputer Virtual Anda dapat menambahkan, menghapus, atau memperbarui simpul di kumpulan simpul. Jenis komputer virtual dapat berupa komputer virtual dengan jenis keluarga yang sama (misalnya, seri D, Seri A, dll.). Kumpulan node Mesin Virtual juga memungkinkan penskalaan manual multi-SKU.
Kumpulan simpul berbasis Set Skala Komputer Virtual Anda dapat menambahkan atau menghapus simpul dengan ukuran yang sama dan mengetikkan kumpulan simpul. Jika Anda menambahkan ukuran komputer virtual baru ke kluster, Anda perlu membuat kumpulan simpul baru.

Pengalaman penskalaan komputasi mana yang harus saya pilih di AKS?

Tergantung pada kebutuhan beban kerja Anda, ada beberapa pengalaman penskalaan komputasi yang perlu dipertimbangkan. Lihat kasus penggunaan untuk masing-masing:

  • Provisi otomatis simpul: terbaik untuk penskalaan otomatis multi-SKU = kumpulan simpul Mesin Virtual: terbaik untuk penskalaan manual multi-SKU dan mendukung penskalaan otomatis SKU tunggal.
  • Set Skala Mesin Virtual: mendukung penskalaan manual SKU tunggal dan penskalaan otomatis SKU tunggal.

Batasan

  • Ukuran VM yang ditentukan dalam kumpulan harus berjenis yang sama. Misalnya, komputer virtual GPU dan non-GPU atau x86 dan ARM64 tidak dapat berada di kumpulan simpul yang sama.
  • InifiniBand tidak tersedia.
  • Rekam jepret kumpulan simpul tidak didukung.
  • Semua ukuran VM yang dipilih dalam kumpulan simpul harus berasal dari keluarga komputer virtual serupa. Misalnya, Anda tidak dapat mencampur jenis komputer virtual Seri N dengan jenis komputer virtual Seri D di kumpulan simpul yang sama.
  • Kumpulan simpul Komputer Virtual memungkinkan hingga lima ukuran komputer virtual yang berbeda per kumpulan simpul.
  • Saat menggunakan autoscaler cluster, hanya diizinkan satu profil skala. Untuk mengaktifkan autoscaler kluster di kumpulan node mesin virtual dengan beberapa profil penskalaan, hapus semua kecuali satu profil penskalaan.

Prasyarat

  • Langganan Azure. Jika Anda tidak memilikinya, Anda dapat membuat akun gratis.
  • Azure CLI versi 2.73.0 atau yang lebih baru diinstal dan dikonfigurasi. Jalankan az --version untuk mencari tahu versinya. Untuk informasi selengkapnya tentang menginstal atau memutakhirkan Azure CLI, lihat Menginstal Azure CLI
  • Fitur ini memerlukan kubernetes versi 1.27 atau yang lebih tinggi. Untuk meningkatkan versi kubernetes Anda, lihat Meningkatkan kluster AKS

Penting

Persyaratan jaringan virtual kustom: Jika Anda menyebarkan kumpulan simpul Komputer Virtual ke jaringan virtual kustom, kluster harus menggunakan identitas terkelola yang ditetapkan pengguna dengan setidaknya izin Kontributor Jaringan pada subnet target. Tidak seperti kumpulan simpul Virtual Machine Scale Set, kumpulan simpul Komputer Virtual hanya mengandalkan identitas kluster untuk operasi gabungan subnet dan tidak menggunakan token pihak pertama. Kluster yang menggunakan identitas terkelola yang dikelola oleh sistem gagal dalam validasi preflight saat membuat atau memperbarui kumpulan node Mesin Virtual pada jaringan virtual kustom, mengembalikan kesalahan InvalidParameter. Untuk informasi selengkapnya tentang mengonfigurasi identitas terkelola yang ditetapkan pengguna untuk kluster Anda, lihat Menggunakan identitas terkelola di AKS.

Membuat kluster AKS dengan kumpulan simpul Komputer Virtual

Catatan

Hanya satu ukuran VM yang diizinkan dalam profil skala, dan batas maksimumnya adalah lima profil skala VM secara keseluruhan untuk kumpulan simpul Komputer Virtual.

Buat kluster AKS dengan kumpulan node Mesin Virtual menggunakan perintah az aks create dengan bendera yang disetel menggunakan --vm-set-type ke "VirtualMachines".

Contoh berikut membuat kluster bernama myAKSCluster dengan kumpulan simpul Komputer Virtual yang berisi dua simpul, menghasilkan kunci SSH, mengatur SKU load balancer ke standar, dan mengatur versi Kubernetes ke 1.31.0:

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --vm-set-type "VirtualMachines" \
    --vm-sizes "Standard_D4s_v3"
    --node-count 2 \
    --kubernetes-version 1.31.0

Membuat kluster AKS dengan kumpulan simpul Virtual Machines di jaringan virtual kustom

Saat Anda menyebarkan kumpulan simpul Komputer Virtual ke jaringan virtual kustom, sebelum membuat kluster, Anda harus membuat identitas terkelola yang ditetapkan pengguna dan memberinya izin Kontributor Jaringan di jaringan virtual.

  1. Buat jaringan virtual dan subnet.

    az network vnet create \
        --resource-group myResourceGroup \
        --name myVnet \
        --address-prefixes 10.1.0.0/16 \
        --subnet-name mySubnet \
        --subnet-prefix 10.1.0.0/24
    
  2. Dapatkan ID sumber daya subnet.

    SUBNET_ID=$(az network vnet subnet show \
        --resource-group myResourceGroup \
        --vnet-name myVnet \
        --name mySubnet \
        --query id \
        --output tsv)
    
  3. Buat identitas terkelola yang ditetapkan oleh pengguna.

    az identity create \
        --name myAKSIdentity \
        --resource-group myResourceGroup
    
  4. Dapatkan ID utama dan ID sumber daya identitas terkelola.

    IDENTITY_PRINCIPAL_ID=$(az identity show \
        --name myAKSIdentity \
        --resource-group myResourceGroup \
        --query principalId \
        --output tsv)
    
    IDENTITY_RESOURCE_ID=$(az identity show \
        --name myAKSIdentity \
        --resource-group myResourceGroup \
        --query id \
        --output tsv)
    
  5. Tetapkan peran Kontributor Jaringan ke identitas terkelola di jaringan virtual.

    VNET_ID=$(az network vnet show \
        --resource-group myResourceGroup \
        --name myVnet \
        --query id \
        --output tsv)
    
    az role assignment create \
        --assignee $IDENTITY_PRINCIPAL_ID \
        --role "Network Contributor" \
        --scope $VNET_ID
    

    Diperlukan waktu hingga 60 menit untuk menyebarluaskan izin yang diberikan ke identitas terkelola kluster Anda. Gunakan perintah berikut untuk memeriksa status.

  6. Buat kluster AKS dengan kumpulan simpul Komputer Virtual di jaringan virtual kustom Anda.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --vm-set-type "VirtualMachines" \
        --vm-sizes "Standard_D4s_v3" \
        --node-count 2 \
        --vnet-subnet-id $SUBNET_ID \
        --assign-identity $IDENTITY_RESOURCE_ID
    

Membuat kluster dengan Windows diaktifkan dan kumpulan simpul Windows Virtual Machine

Kumpulan simpul Komputer Virtual tersedia di kluster yang diaktifkan Windows. Contoh berikut membuat kluster bernama myAKSCluster dengan kumpulan simpul Komputer Virtual. Langkah-langkah ini membuat kumpulan sistem Linux pada awalnya.

  1. Buat nama pengguna untuk digunakan sebagai informasi masuk admin untuk simpul Windows Server pada kluster Anda. Perintah berikut memintamu untuk memasukkan nama pengguna dan mengaturnya ke WINDOWS_USERNAME untuk digunakan dalam perintah selanjutnya.

    echo "Please enter the username to use as administrator credentials for Windows Server nodes on your cluster: " && read WINDOWS_USERNAME
    
  2. Buat kata sandi untuk nama pengguna administrator yang Anda buat di langkah sebelumnya. Kata sandi harus minimal 14 karakter dan memenuhi persyaratan kompleksitas kata sandi Windows Server.

    echo "Please enter the password to use as administrator credentials for Windows Server nodes on your cluster: " && read WINDOWS_PASSWORD
    
  3. Buat kluster AKS dengan Windows diaktifkan dan kumpulan node tipe Mesin Virtual menggunakan perintah az aks create dengan flag --vm-set-type diatur ke "VirtualMachines".

    az aks create \
       --resource-group myResourceGroup \
       --name myAKSCluster \
       --node-count 2 \
       --enable-addons monitoring \
       --generate-ssh-keys \
       --windows-admin-username $WINDOWS_USERNAME \
       --windows-admin-password $WINDOWS_PASSWORD \
       --vm-set-type "VirtualMachines" \
       --network-plugin azure
    
  4. Tambahkan kumpulan node Mesin Virtual ke kluster yang menggunakan Windows yang ada menggunakan perintah az aks nodepool add dengan bendera --vm-set-type diatur ke "VirtualMachines". Contoh berikut menambahkan kumpulan simpul Komputer Virtual bernama npwin ke kluster myAKSCluster :

    az aks nodepool add
       --resource-group myResourceGroup \
       --cluster-name myAKSCluster \
       --os-type Windows \
       --name npwin \
       --vm-sizes "Standard_D2s_V3" \
       --node-count 1
       --vm-set-type "VirtualMachines"
    

Menambahkan kumpulan simpul Komputer Virtual ke kluster yang ada

Tambahkan kumpulan simpul Mesin Virtual ke kluster yang ada menggunakan perintah az aks nodepool add dengan flag --vm-set-type disetel ke "VirtualMachines".

Contoh berikut menambahkan kumpulan simpul Komputer Virtual bernama myvmpool ke kluster myAKSCluster . Kumpulan simpul membuat ManualScaleProfile dengan --vm-sizes diatur ke Standard_D4s_v3 dan --node-count 3:

az aks nodepool add \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myvmpool \
    --vm-set-type "VirtualMachines" \
    --vm-sizes "Standard_D4s_v3" \
    --node-count 3

Menambahkan profil skala manual ke kumpulan simpul

Tambahkan profil skala manual ke kumpulan node menggunakan az aks nodepool manual-scale add dengan parameter --vm-sizes diatur ke "Standard_D2s_v3" dan node-count yang diatur ke 2.

Contoh berikut menambahkan profil skala manual ke kumpulan simpul myvmpool di kluster myAKSCluster. Kumpulan simpul mencakup dua simpul dengan SKU VM dari Standard_D2s_v3:

az aks nodepool manual-scale add \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myvmpool \
    --vm-sizes "Standard_D2s_v3" \
    --node-count 2

Memperbarui profil skala manual yang ada

Perbarui profil skala manual yang ada di kumpulan simpul menggunakan perintah az aks nodepool manual-scale update dengan pengaturan --vm-sizes ke "Standard_D2s_v3".

Catatan

--current-vm-sizes Gunakan parameter untuk menentukan ukuran kumpulan simpul yang ada yang ingin Anda perbarui. Anda dapat memperbarui --vm-sizes dan/atau --node-count. Saat menggunakan alat lain atau REST API, Anda perlu mengisi bidang agentPoolProfiles.virtualMachinesProfile.scale secara lengkap saat memperbarui profil skala kumpulan simpul.

Contoh berikut memperbarui profil skala manual kumpulan simpul myvmpool di kluster myAKSCluster. Perintah memperbarui jumlah simpul menjadi lima dan mengubah SKU VM dari Standard_D4s_v3 ke Standard_D8s_v3:

az aks nodepool manual-scale update \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myvmpool \
    --current-vm-sizes "Standard_D4s_v3" \
    --vm-sizes "Standard_D8s_v3" \
    --node-count 5

Menghapus profil skala manual

Hapus profil skala manual yang ada menggunakan az aks nodepool manual-scale delete perintah .

Catatan

Parameter --current-vm-sizes menentukan ukuran kumpulan simpul yang ada yang akan dihapus. Saat menggunakan alat lain atau REST API untuk memperbarui profil skala kumpulan simpul, masukkan bidang agentPoolProfiles.virtualMachinesProfile.scale yang lengkap.

Contoh berikut menghapus profil skala manual untuk Standard_D8s_v3 SKU VM di kumpulan simpul myvmpool .

az aks nodepool manual-scale delete \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myvmpool \
    --current-vm-sizes "Standard_D8s_v3"

Penskala otomatis kluster dengan Kumpulan Simpul Komputer Virtual (pratinjau)

Kumpulan simpul Komputer Virtual mendukung autoscaler kluster. Ini dapat diaktifkan menggunakan bendera --enable-cluster-autoscaler selama pembuatan kluster, sambil menambahkan kumpulan simpul baru, atau dalam memperbarui kumpulan simpul manual yang ada.

Saat menggunakan autoscaler kluster dengan kumpulan simpul Komputer Virtual,

  • Menaikkan skala: autoscaler merespons tekanan pod yang tertunda, dan menaikkan jumlah node pada kumpulan node yang memiliki jenis SKU tunggal yang sama dalam kumpulan node tersebut.
  • Mengurangi skala: autoscaler memilih simpul tertentu berdasarkan pemanfaatan simpul tersebut. Anda dapat mengonfigurasi scale-down-utilization-thresholduntuk mengatur kapan autoscaling kluster memicu tindakan penskalaan. Lihat dokumentasi autoscaler kluster untuk informasi lebih lanjut tentang konfigurasi penskalaan otomatis.

Batasan

  • Fitur ini hanya tersedia di cloud publik.
  • Node GPU saat ini tidak didukung.

Persyaratan

  • Untuk mengaktifkan autoscaler kluster dengan kumpulan simpul Komputer Virtual, kumpulan simpul hanya boleh menggunakan satu ukuran VM. Semua profil skala manual lainnya harus dihapus sebelum mengaktifkan autoscaler kluster.

Menginstal ekstensi aks-preview

Penting

Fitur pratinjau AKS tersedia atas dasar layanan mandiri dan pendaftaran sukarela. Pratinjau disediakan "apa adanya" dan "sebagaimana tersedia," dan pratinjau tersebut dikecualikan dari perjanjian tingkat layanan (SLA) serta garansi terbatas. Pratinjau AKS sebagian didukung oleh dukungan pelanggan berdasarkan upaya terbaik yang dapat dilakukan. Dengan demikian, fitur-fitur ini tidak dimaksudkan untuk penggunaan produksi. Untuk informasi lebih lanjut, lihat artikel dukungan berikut ini:

    # Install the aks-preview extension
    az extension add --name aks-preview
    
    # Update the aks-preview extension
    az extension update --name aks-preview

Daftarkan bendera fitur

Daftarkan fitur bendera pratinjau menggunakan perintah az feature register :

    az feature register --namespace Microsoft.ContainerService --name VMsAgentPoolAutoscalePreview

Membuat kluster AKS dengan pool node Virtual Machines dan cluster autoscaler diaktifkan

  • Buat kluster AKS dengan kumpulan node menggunakan perintah az aks create dengan opsi --vm-set-type diatur ke "VirtualMachines" dan opsi --enable-cluster-autoscaler.

Contoh berikut membuat kluster bernama myAKSCluster dengan kumpulan simpul Komputer Virtual dengan ukuran kumpulan simpul "Standard_D4s_v3" jumlah simpul minimum 2, jumlah simpul maksimum 5, dan mengatur versi Kubernetes ke 1.32.5:

az aks create \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --vm-set-type "VirtualMachines" \
    --node-vm-size "Standard_D4s_v3" 
    --min-count 2 \
    --max-count 5 \
    --kubernetes-version 1.32.5

Menambahkan kumpulan simpul Virtual Machines dengan autoscaler kluster diaktifkan ke kluster yang ada

  • Buat kumpulan node Mesin Virtual menggunakan perintah az aks nodepool add dengan bendera --vm-set-type diatur ke "VirtualMachines" dan dengan bendera --enable-cluster-autoscaler.

Contoh berikut menambahkan kumpulan simpul Komputer Virtual myvmpool dengan autoscaler kluster diaktifkan ke kluster bernama myAKSCluster menggunakan ukuran komputer virtual "Standard_D4s_v3", dan jumlah simpul minimum 2 dan jumlah maks 5:

az aks nodepool add \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myvmpool \
    --vm-set-type "VirtualMachines" \
    --node-vm-size "Standard_D4s_v3" \
    --enable-cluster-autoscaler
    --min-count 2 \
    --max-count 5 \

Memperbarui pengaturan autoscaler kluster untuk kumpulan simpul Komputer Virtual dengan autoscaler kluster diaktifkan

  • Perbarui pengaturan jumlah simpul kluster autoscaler untuk kumpulan simpul Mesin Virtual menggunakan az aks nodepool update perintah dengan bendera --vm-set-type diatur ke "VirtualMachines" dan bendera --update-cluster-autoscaler.

Contoh berikut memperbarui pengaturan untuk kumpulan simpul Komputer Virtual myvmpool dalam kluster bernama myAKSCluster menggunakan ukuran komputer virtual "Standard_D4s_v3":

az aks nodepool update \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myvmpool \
    --update-cluster-autoscaler \
    --node-vm-size "Standard_D4s_v3" \
    --min-count 2 \
    --max-count 5

Memperbarui kumpulan simpul Virtual Machines dari mode manual ke autoscaler kluster diaktifkan

Catatan

Memperbarui kumpulan simpul Virtual Machines mode manual ke otomatis hanya diperbolehkan ketika kumpulan simpul hanya memiliki satu profil skala manual.

Jika kumpulan simpul Komputer Virtual Anda memiliki beberapa profil skala manual, Anda harus menghapus semua profil skala manual kecuali untuk ukuran yang dipilih yang Anda inginkan untuk tujuan penskalaan otomatis. Lihat contoh berikut yang menghapus profil skala manual pada kumpulan node "myvmpool" untuk ukuran VM Standard_D8s_v3:

az aks nodepool manual-scale delete \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myvmpool \
    --current-vm-sizes "Standard_D8s_v3"

Contoh berikut memperbarui kumpulan simpul Komputer Virtual myvmpool di kluster bernama myAKSCluster dari Manual mode ke Auto mode:

az aks nodepool update \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myvmpool \
    --enable-cluster-autoscaler \
    --min-count 2 \
    --max-count 5

Menonaktifkan autoscaler kluster di kumpulan simpul Komputer Virtual

Anda dapat menonaktifkan cluster autoscaler, atau mengubah mode kluster dari Auto ke Manual.

Contoh berikut memperbarui kumpulan simpul VIrtual Machines myvmpool di kluster bernama myAKSCluster dari Manual mode ke Auto mode:

az aks nodepool update \
    --resource-group myResourceGroup \
    --cluster-name myAKSCluster \
    --name myvmpool \
    --disable-cluster-autoscaler

Langkah berikutnya

Dalam artikel ini, Anda mempelajari cara menggunakan kumpulan simpul Komputer Virtual di AKS. Untuk mempelajari selengkapnya tentang kumpulan simpul di AKS, lihat Membuat kumpulan simpul.