Membuat kumpulan simpul untuk kluster di Azure Kubernetes Service (AKS)

Di Azure Kubernetes Service (AKS), simpul dengan konfigurasi yang sama dikelompokkan bersama ke dalam kumpulan simpul. Kumpulan simpul ini berisi VM dasar yang menjalankan aplikasi Anda. Saat membuat kluster AKS, Anda menentukan jumlah awal simpul dan ukurannya (SKU), yang membuat kumpulan simpul sistem.

Untuk mendukung aplikasi yang memiliki permintaan komputasi atau penyimpanan yang berbeda, Anda dapat membuat kumpulan simpul pengguna. Kumpulan simpul sistem melayani tujuan utama untuk menghosting pod sistem penting seperti CoreDNS dan konnectivity. Kumpulan simpul pengguna melayani tujuan utama hosting Pod aplikasi Anda. Misalnya, gunakan lebih banyak kumpulan simpul pengguna untuk menyediakan GPU untuk aplikasi intensif komputasi, atau akses ke penyimpanan SSD berkinerja tinggi. Namun, jika Anda hanya ingin memiliki satu kumpulan di kluster AKS, Anda dapat menjadwalkan pod aplikasi pada kumpulan simpul sistem.

Catatan

Fitur ini memungkinkan kontrol lebih atas pembuatan dan pengelolaan beberapa kumpulan simpul dan memerlukan perintah terpisah untuk operasi buat/perbarui/hapus (CRUD). Sebelumnya, operasi kluster melalui az aks create atau az aks update menggunakan API managedCluster dan merupakan satu-satunya opsi untuk mengubah sarana kontrol Anda dan satu kumpulan simpul. Fitur ini mengekspos operasi terpisah yang ditetapkan untuk kumpulan agen melalui AGENTPool API dan memerlukan penggunaan az aks nodepool set perintah untuk menjalankan operasi pada kumpulan simpul individual.

Artikel ini memperlihatkan kepada Anda cara membuat satu atau beberapa kumpulan simpul di kluster AKS.

Sebelum Anda mulai

Batasan

Batasan berikut berlaku saat Anda membuat kluster AKS yang mendukung beberapa kumpulan simpul:

  • Lihat Kuota, pembatasan komputer virtual, dan ketersediaan wilayah di Azure Kubernetes Service (AKS).
  • Anda dapat menghapus kumpulan simpul sistem jika Anda memiliki kumpulan simpul sistem lain untuk menggantikannya di kluster AKS. Jika tidak, Anda tidak dapat menghapus kumpulan simpul sistem.
  • Kumpulan sistem harus berisi setidaknya satu simpul, dan kumpulan simpul pengguna dapat berisi nol simpul atau lebih.
  • Kluster AKS harus menggunakan load balancer SKU Standar untuk menggunakan beberapa kumpulan simpul. Fitur ini tidak didukung dengan load balancer SKU Dasar.
  • Kluster AKS harus menggunakan Virtual Machine Scale Sets untuk simpul.
  • Nama kumpulan simpul hanya boleh berisi karakter alfanumerik huruf kecil dan harus dimulai dengan huruf kecil.
    • Untuk kumpulan simpul Linux, panjangnya harus antara 1-12 karakter.
    • Untuk kumpulan simpul Windows, panjangnya harus antara 1-6 karakter.
  • Semua kumpulan simpul harus berada di jaringan virtual yang sama.
  • Saat Anda membuat beberapa kumpulan simpul pada waktu pembuatan kluster, versi Kubernetes untuk kumpulan simpul harus cocok dengan versi yang ditetapkan untuk sarana kontrol.

Membuat kluster AKS

Penting

Jika Anda menjalankan satu kumpulan simpul sistem untuk kluster AKS Anda di lingkungan produksi, kami sarankan Anda menggunakan setidaknya tiga sumpul untuk kumpulan simpul tersebut. Jika satu simpul turun, Anda kehilangan sumber daya sarana kontrol dan redundansi disusupi. Anda dapat mengurangi risiko ini dengan memiliki lebih banyak simpul sarana kontrol.

  1. Buat grup sumber daya Azure menggunakan az group create perintah .

    az group create --name myResourceGroup --location eastus
    
  2. Buat kluster AKS dengan kumpulan simpul tunggal menggunakan az aks create perintah .

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --vm-set-type VirtualMachineScaleSets \
        --node-count 2 \
        --generate-ssh-keys \
        --load-balancer-sku standard
    

    Perlu waktu beberapa menit untuk membuat kluster tersebut.

  3. Ketika kluster siap, dapatkan kredensial kluster menggunakan az aks get-credentials perintah .

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
    

Menambahkan kumpulan simpul

Kluster yang dibuat pada langkah sebelumnya memiliki satu kumpulan simpul. Di bagian ini, kami menambahkan kumpulan simpul kedua ke kluster.

  1. Buat kumpulan simpul baru menggunakan az aks nodepool add perintah . Contoh berikut membuat kumpulan simpul bernama mynodepool yang menjalankan tiga simpul:

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name mynodepool \
        --node-count 3
    
  2. Periksa status kumpulan simpul Anda menggunakan az aks node pool list perintah dan tentukan grup sumber daya dan nama kluster Anda.

    az aks nodepool list --resource-group myResourceGroup --cluster-name myAKSCluster
    

    Contoh output berikut menunjukkan mynodepool telah berhasil dibuat dengan tiga simpul. Ketika kluster AKS dibuat pada langkah sebelumnya, nodepool1 default dibuat dengan jumlah simpul 2.

    [
      {
        ...
        "count": 3,
        ...
        "name": "mynodepool",
        "orchestratorVersion": "1.15.7",
        ...
        "vmSize": "Standard_DS2_v2",
        ...
      },
      {
        ...
        "count": 2,
        ...
        "name": "nodepool1",
        "orchestratorVersion": "1.15.7",
        ...
        "vmSize": "Standard_DS2_v2",
        ...
      }
    ]
    

Kumpulan simpul ARM64

Prosesor ARM64 menyediakan komputasi daya rendah untuk beban kerja Kubernetes Anda. Untuk membuat kumpulan simpul ARM64, Anda perlu memilih Komputer Virtual seri Dpsv5, Dplsv5 , atau Epsv5 .

Batasan

  • Kumpulan simpul ARM64 tidak didukung pada kluster yang diaktifkan Defender.
  • Kumpulan simpul yang diaktifkan FIPS tidak didukung dengan SKU ARM64.

Menambahkan kumpulan node ARM64

  • Tambahkan kumpulan simpul ARM64 ke kluster yang ada menggunakan az aks nodepool add.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name armpool \
        --node-count 3 \
        --node-vm-size Standard_D2pds_v5
    

Kumpulan simpul Azure Linux

Host kontainer Azure Linux untuk AKS adalah distribusi Linux sumber terbuka yang tersedia sebagai host kontainer AKS. Ini memberikan keandalan, keamanan, dan konsistensi yang tinggi. Ini hanya mencakup serangkaian paket minimal yang diperlukan untuk menjalankan beban kerja kontainer, yang meningkatkan waktu boot dan performa keseluruhan.

Menambahkan kumpulan simpul Azure Linux

  • Tambahkan kumpulan simpul Azure Linux ke kluster yang ada menggunakan az aks nodepool add perintah dan tentukan --os-sku AzureLinux.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name azlinuxpool \
        --os-sku AzureLinux
    

Memigrasikan simpul Ubuntu ke simpul Azure Linux

Anda dapat memigrasikan simpul Ubuntu yang ada ke Azure Linux menggunakan salah satu metode berikut:

Kumpulan simpul dengan subnet unik

Beban kerja mungkin memerlukan pemisahan node kluster menjadi kumpulan terpisah untuk isolasi logis. Subnet terpisah yang didedikasikan untuk setiap kumpulan simpul dalam kluster dapat membantu mendukung isolasi ini, yang dapat mengatasi persyaratan seperti memiliki ruang alamat jaringan virtual yang tidak bersebelahan untuk dibagi di seluruh kumpulan simpul.

Catatan

Pastikan untuk menggunakan versi Azure CLI atau yang lebih 2.35.0 baru.

Batasan

  • Semua subnet yang ditetapkan ke kumpulan node harus dimiliki oleh jaringan virtual yang sama.
  • Pod sistem harus memiliki akses ke semua simpul dan pod dalam kluster untuk menyediakan fungsionalitas penting, seperti resolusi DNS dan penerowongan log kubectl/exec/port-forward proxy.
  • Jika Anda memperluas VNET setelah membuat kluster, Anda harus memperbarui kluster sebelum menambahkan subnet di luar blok CIDR asli. Meskipun kesalahan AKS-out pada kumpulan agen menambahkan, aks-preview ekstensi Azure CLI (versi 0.5.66 dan yang lebih tinggi) sekarang mendukung az aks update menjalankan perintah hanya dengan argumen yang diperlukan -g <resourceGroup> -n <clusterName> . Perintah ini melakukan operasi pembaruan tanpa membuat perubahan apa pun, yang dapat memulihkan kluster yang macet dalam keadaan gagal.
  • Dalam kluster dengan versi Kubernetes kurang dari 1.23.3, lalu lintas SNAT kube-proxy dari subnet baru, yang dapat menyebabkan Azure Network Policy menjatuhkan paket.
  • Simpul Windows lalu lintas SNAT ke subnet baru hingga kumpulan simpul digambarkan ulang.
  • Load balancer internal default ke salah satu subnet kumpulan simpul.

Menambahkan kumpulan simpul dengan subnet unik

  • Tambahkan kumpulan simpul dengan subnet unik ke dalam kluster yang ada menggunakan az aks nodepool add perintah dan tentukan --vnet-subnet-id.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name mynodepool \
        --node-count 3 \
        --vnet-subnet-id <YOUR_SUBNET_RESOURCE_ID>
    

Kumpulan simpul berkemampuan FIPS

Untuk informasi selengkapnya tentang mengaktifkan Federal Information Process Standard (FIPS) untuk kluster AKS Anda, lihat Mengaktifkan Federal Information Process Standard (FIPS) untuk kumpulan node Azure Kubernetes Service (AKS).

Kumpulan simpul Windows Server dengan containerd

Dimulai di Kubernetes versi 1.20 dan yang lebih tinggi, Anda dapat menentukan containerd sebagai runtime kontainer untuk kumpulan simpul Windows Server 2019. Dimulai dengan Kubernetes 1.23, containerd adalah runtime kontainer default dan hanya untuk Windows.

Penting

Saat menggunakan containerd dengan kumpulan simpul Windows Server 2019:

  • Baik sarana kontrol maupun kumpulan simpul Windows Server 2019 harus menggunakan Kubernetes versi 1.20 atau versi yang lebih tinggi.
  • Saat Anda membuat atau memperbarui kumpulan simpul untuk menjalankan kontainer Windows Server, nilai default untuk --node-vm-size adalah Standard_D2s_v3, yang merupakan ukuran minimum yang direkomendasikan untuk kumpulan simpul Windows Server 2019 sebelum Kubernetes versi 1.20. Ukuran minimum yang disarankan untuk kumpulan simpul Windows Server 2019 menggunakan containerd adalah Standard_D4s_v3. Saat mengatur --node-vm-size parameter, periksa daftar ukuran VM terbatas.
  • Sebaiknya gunakan taint atau label dengan kumpulan simpul Windows Server 2019 yang berjalan containerd dan toleransi atau pemilih simpul dengan penyebaran Anda untuk menjamin beban kerja Anda dijadwalkan dengan benar.

Menambahkan kumpulan node Server Windows dengancontainerd

  • Tambahkan kumpulan simpul Windows Server dengan containerd ke dalam kluster yang ada menggunakan az aks nodepool add.

    Catatan

    Jika Anda tidak menentukan WindowsContainerRuntime=containerd header kustom, kumpulan simpul masih menggunakan containerd sebagai runtime kontainer secara default.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --os-type Windows \
        --name npwcd \
        --node-vm-size Standard_D4s_v3 \
        --kubernetes-version 1.20.5 \
        --aks-custom-headers WindowsContainerRuntime=containerd \
        --node-count 1
    

Tingkatkan kumpulan simpul Windows Server tertentu yang ada ke containerd

  • Tingkatkan kumpulan simpul tertentu dari Docker ke containerd menggunakan az aks nodepool upgrade perintah .

    az aks nodepool upgrade \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name npwd \
        --kubernetes-version 1.20.7 \
        --aks-custom-headers WindowsContainerRuntime=containerd
    

Tingkatkan semua kumpulan simpul Windows Server yang ada ke containerd

  • Tingkatkan semua kumpulan simpul dari Docker ke containerd menggunakan az aks nodepool upgrade perintah .

    az aks nodepool upgrade \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --kubernetes-version 1.20.7 \
        --aks-custom-headers WindowsContainerRuntime=containerd
    

Menghapus kumpulan simpul

Jika Anda tidak lagi memerlukan kumpulan simpul, Anda dapat menghapusnya dan menghapus simpul VM yang mendasar.

Perhatian

Saat Anda menghapus kumpulan node, AKS tidak melakukan penjagaan dan pengurasan, dan tidak ada opsi pemulihan untuk kehilangan data yang mungkin terjadi saat Anda menghapus kumpulan node. Jika Pod tidak dapat dijadwalkan pada kumpulan simpul lain, aplikasi tersebut tidak tersedia. Pastikan Anda tidak menghapus kumpulan simpul saat aplikasi yang digunakan tidak memiliki cadangan data atau kemampuan untuk beroperasi pada kumpulan simpul lain di kluster Anda. Untuk meminimalkan gangguan penjadwalan ulang pod yang saat ini berjalan pada kumpulan simpul yang ingin Anda hapus, lakukan cordon dan pengurasan pada semua simpul di kumpulan simpul sebelum menghapus.

  • Hapus kumpulan simpul menggunakan az aks nodepool delete perintah dan tentukan nama kumpulan simpul.

    az aks nodepool delete -g myResourceGroup --cluster-name myAKSCluster --name mynodepool --no-wait
    

    Dibutuhkan beberapa menit untuk menghapus simpul dan kumpulan simpul.

Langkah berikutnya

Dalam artikel ini, Anda mempelajari cara membuat beberapa kumpulan simpul dalam kluster AKS. Untuk mempelajari tentang cara mengelola beberapa kumpulan simpul, lihat Mengelola beberapa kumpulan simpul untuk kluster di Azure Kubernetes Service (AKS).