Mengonfigurasi beberapa simpul dan mengaktifkan skala-ke-nol dengan menggunakan AKS

Selesai

Azure Kubernetes Service memungkinkan Anda membuat kumpulan simpul yang berbeda untuk mencocokkan beban kerja tertentu dengan simpul yang berjalan di setiap kumpulan simpul. Proses pencocokan beban kerja dengan simpul memungkinkan Anda berencana untuk menghitung konsumsi dan mengoptimalkan biaya.

Solusi pelacakan drone perusahaan Anda diterapkan di Azure Kubernetes Service (AKS) sebagai berbagai aplikasi dan layanan dalam kontainer. Tim Anda mengembangkan layanan pemodelan prediktif baru yang memproses informasi jalur penerbangan dalam kondisi cuaca ekstrem dan menciptakan rute penerbangan yang optimal. Layanan ini memerlukan dukungan komputer virtual (VM) berbasis GPU dan hanya berjalan pada hari-hari tertentu selama seminggu.

Anda ingin mengonfigurasi kumpulan simpul kluster yang didedikasikan untuk memproses informasi jalur penerbangan. Proses ini hanya berjalan selama beberapa jam sehari, dan Anda ingin menggunakan kumpulan simpul berbasis GPU. Namun, Anda ingin membayar simpul hanya ketika Anda menggunakannya.

Mari kita lihat bagaimana kumpulan simpul dan bagaimana AKS menggunakan simpul, lalu pada cara menskalakan jumlah simpul dalam kumpulan simpul.

Apa itu kumpulan simpul?

Kumpulan simpul menjelaskan sekelompok simpul dengan konfigurasi yang sama dalam kluster AKS. Simpul-simpul ini berisi VM yang mendasari dan menjalankan aplikasi Anda. Anda dapat membuat dua jenis kumpulan simpul pada kluster Kubernetes yang dikelola AKS:

  • Kumpulan simpul sistem

  • Kumpulan simpul pengguna

Kumpulan simpul sistem

Kumpulan simpul sistem menghosting pod sistem penting yang membentuk sarana kontrol kluster Anda. Kumpulan simpul sistem memungkinkan penggunaan Linux hanya sebagai OS simpul dan hanya menjalankan beban kerja berbasis Linux. Simpul pada kumpulan simpul sistem dicadangkan untuk beban kerja sistem dan biasanya tidak digunakan untuk menjalankan beban kerja khusus. Setiap kluster AKS harus berisi setidaknya satu kumpulan simpul sistem dengan setidaknya satu simpul, dan Anda harus menentukan ukuran VM yang mendasar untuk simpul.

Kumpulan node pengguna

Kumpulan simpul pengguna mendukung beban kerja Anda, dan Anda dapat menentukan Windows atau Linux sebagai sistem operasi simpul. Anda juga dapat menentukan ukuran VM yang mendasari untuk simpul dan menjalankan beban kerja tertentu. Misalnya, solusi pelacakan drone Anda memiliki layanan pemrosesan batch yang Anda sebarkan ke kumpulan node dengan konfigurasi untuk mesin virtual tujuan umum. Layanan pemodelan prediktif baru memerlukan VM berbasis GPU dengan kapasitas lebih tinggi. Anda memutuskan untuk mengonfigurasi kumpulan simpul terpisah dan mengonfigurasinya untuk menggunakan simpul yang diaktifkan GPU.

Jumlah simpul dalam kumpulan simpul

Anda dapat mengonfigurasi hingga 100 simpul dalam kumpulan simpul. Namun, jumlah simpul yang Anda pilih untuk dikonfigurasi tergantung pada jumlah pod yang berjalan per simpul.

Misalnya, dalam kumpulan simpul sistem, penting untuk mengatur jumlah maksimum pod yang berjalan pada satu simpul menjadi 30. Nilai ini menjamin bahwa ruang yang cukup tersedia untuk menjalankan pod sistem yang penting untuk kesehatan kluster. Ketika jumlah pod melebihi nilai minimum ini, simpul baru diperlukan di kumpulan untuk menjadwalkan beban kerja tambahan. Untuk alasan ini, kumpulan simpul sistem membutuhkan setidaknya satu simpul di kumpulan. Untuk lingkungan produksi, jumlah simpul yang direkomendasikan untuk kumpulan simpul sistem adalah minimal tiga simpul.

Kumpulan node pengguna dirancang untuk menjalankan beban kerja kustom dan tidak memiliki persyaratan 30 pod. Kumpulan simpul pengguna memungkinkan Anda mengatur jumlah simpul untuk kumpulan menjadi nol.

Mengelola permintaan aplikasi dalam kluster AKS

Di AKS, ketika Anda menambah atau mengurangi jumlah sumber daya komputasi dalam kluster Kubernetes, Anda penskalaan. Anda dapat meningkatkan atau menurunkan jumlah instans beban kerja yang perlu dijalankan atau jumlah node tempat beban kerja ini berjalan. Anda dapat menskalakan beban kerja pada kluster yang dikelola AKS dengan salah satu dari dua cara. Opsi pertama adalah menskalakan pod atau simpul secara manual seperlunya. Opsi kedua adalah melalui otomasi, di mana Anda dapat menggunakan horizontal pod autoscaler untuk menskalakan pod dan cluster autoscaler untuk menskalakan node.

Cara menskalakan kumpulan simpul secara manual

Jika Anda menjalankan beban kerja yang dijalankan selama durasi tertentu pada interval tertentu yang diketahui, penskalaan ukuran kumpulan simpul secara manual adalah cara yang baik untuk mengontrol biaya simpul.

Asumsikan bahwa layanan pemodelan prediktif memerlukan kumpulan simpul berbasis GPU dan berjalan selama satu jam setiap hari pada siang hari. Anda dapat mengonfigurasi kumpulan simpul dengan simpul berbasis GPU tertentu dan menskalakan kumpulan simpul ke nol simpul saat Anda tidak menggunakan kluster.

Berikut adalah contoh perintah az aks node pool add yang dapat Anda gunakan untuk membuat kumpulan simpul. Perhatikan parameter --node-vm-size, yang menentukan ukuran VM berbasis GPU Standard_NC6 untuk simpul di kumpulan.

az aks nodepool add \
    --resource-group resourceGroup \
    --cluster-name aksCluster \
    --name gpunodepool \
    --node-count 1 \
    --node-vm-size Standard_NC6 \
    --no-wait

Ketika kumpulan siap, Anda dapat menggunakan perintah az aks nodepool scale untuk menskalakan kumpulan simpul ke nol simpul. Perhatikan bahwa parameter --node-count diatur ke nol. Berikut adalah contoh perintah:

az aks nodepool scale \
    --resource-group resourceGroup \
    --cluster-name aksCluster \
    --name gpunodepool \
    --node-count 0

Cara menskalakan kluster secara otomatis

Diagram yang menunjukkan bagaimana autoscaler kluster menambahkan simpul dan bagaimana autoscaler pod horizontal menambahkan pod.

AKS menggunakan autoscaler kluster Kube untuk menskalakan beban kerja secara otomatis. Kluster dapat menskalakan dengan menggunakan dua opsi:

  • Penskala otomatis pod horizontal

  • Penyesuaian otomatis skala kluster

Mari kita telaah setiap opsi, dimulai dengan pengatur skala pod horizontal.

Penskala otomatis pod horizontal

Gunakan autoscaler pod horizontal Kubernetes untuk memantau permintaan sumber daya pada kluster dan secara otomatis menskalakan jumlah replika beban kerja.

Server Metrik Kubernetes mengumpulkan metrik memori dan prosesor dari pengontrol, simpul, dan kontainer yang berjalan pada kluster AKS. Salah satu cara untuk mengakses informasi ini adalah dengan menggunakan API Metrik. Autoscaler pod horizontal memeriksa API Metrik setiap 30 detik untuk memutuskan apakah aplikasi Anda membutuhkan lebih banyak instans untuk memenuhi permintaan yang diperlukan.

Asumsikan perusahaan Anda juga memiliki layanan pemrosesan batch yang menjadwalkan jalur penerbangan drone. Anda melihat bahwa layanan diberondong dengan permintaan dan terjadi penumpukan pengiriman, menyebabkan keterlambatan dan frustrasi bagi pelanggan. Meningkatkan jumlah replika layanan pemrosesan batch dapat memungkinkan pemrosesan pesanan tepat waktu.

Untuk mengatasi masalah, Anda mengonfigurasi autoscaler pod horizontal untuk meningkatkan jumlah replika layanan saat diperlukan. Ketika jumlah permintaan batch berkurang, itu mengurangi jumlah replika layanan.

Namun, horizontal pod autoscaler hanya menskalakan pod pada simpul yang tersedia di pool node klaster yang telah dikonfigurasi.

Penskala otomatis kluster

Keterbatasan sumber daya dipicu ketika autoscaler horizontal pod tidak bisa menjadwalkan pod tambahan pada simpul yang ada di dalam kumpulan simpul. Anda perlu menggunakan autoscaler kluster untuk mengubah skala jumlah simpul dalam kumpulan simpul kluster di saat terbatas. Autoscaler kluster memeriksa metrik yang ditentukan dan menskalakan jumlah simpul ke atas atau ke bawah berdasarkan sumber daya komputasi yang diperlukan.

Kluster autoscaler digunakan bersamaan dengan autoscaler pod horizontal.

Autoscaler kluster memantau peristiwa peningkatan dan penurunan skala, dan memungkinkan kluster Kubernetes untuk mengubah jumlah node dalam pool node saat permintaan sumber daya berubah.

Anda mengonfigurasi setiap kumpulan simpul dengan aturan skala yang berbeda. Misalnya, Anda mungkin hanya ingin mengonfigurasi satu kumpulan simpul untuk memungkinkan penskalaan otomatis, atau Anda mungkin mengonfigurasi kumpulan simpul untuk menskalakan hanya ke jumlah simpul tertentu.

Penting

Anda kehilangan kemampuan untuk menskalakan jumlah simpul menjadi nol ketika Anda mengaktifkan autoscaler kluster pada kumpulan simpul. Sebagai gantinya, Anda dapat mengatur jumlah min ke nol untuk menghemat sumber daya kluster.

Periksa pengetahuan Anda

1.

Misalkan solusi perangkat lunak Anda memiliki tiga komponen penting. Komponen pertama adalah aplikasi web. Yang kedua adalah layanan yang memproses pesanan online. Yang ketiga adalah layanan penyajian dan analisis video yang hanya berjalan sesuai kebutuhan dan yang memerlukan VM berbasis GPU. Untuk mengoptimalkan biaya, berapa banyak kumpulan simpul yang akan Anda sebarkan di kluster Azure Kubernetes Service (AKS) untuk mengelola solusi?

2.

Lengkapi pernyataan berikut. Autoscaler kluster Kubernetes menyesuaikan skala...