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 ke 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 disebarkan pada Azure Kubernetes Service (AKS) sebagai banyak aplikasi dan layanan dalam kontainer. Tim Anda mengembangkan layanan pemodelan prediktif baru yang memproses informasi jalur penerbangan dalam kondisi cuaca ekstrem dan membuat 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 saat Anda menggunakannya.

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

Apa yang dimaksud dengan kumpulan simpul?

Kumpulan simpul mendeskripsikan sekelompok simpul dengan konfigurasi yang sama di kluster AKS. Simpul ini berisi VM yang mendasari yang menjalankan aplikasi Anda. Anda dapat membuat dua jenis kumpulan simpul di 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 dalam kumpulan simpul sistem dicadangkan untuk beban kerja sistem dan biasanya tidak digunakan untuk menjalankan beban kerja kustom. Setiap kluster AKS harus berisi setidaknya satu kumpulan simpul sistem dengan setidaknya satu simpul dan Anda harus menentukan ukuran VM yang mendasari untuk simpul.

Kumpulan simpul 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 simpul dengan konfigurasi untuk VM tujuan umum. Layanan pemodelan prediktif baru memerlukan VM berbasis GPU berkapasitas lebih tinggi. Anda memutuskan untuk mengonfigurasi kumpulan simpul terpisah dan mengonfigurasinya untuk menggunakan simpul yang mendukung GPU.

Jumlah simpul dalam kumpulan simpul

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

Misalnya, dalam kumpulan simpul sistem, penting untuk menetapkan jumlah maksimum pod yang berjalan pada satu simpul menjadi 30. Nilai ini menjamin tersedianya ruang yang cukup untuk menjalankan pod sistem yang penting bagi 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 memerlukan setidaknya satu simpul di kumpulan. Untuk lingkungan produksi, jumlah simpul yang direkomendasikan untuk kumpulan simpul sistem adalah minimal tiga simpul.

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

Mengelola permintaan aplikasi di kluster AKS

Di AKS, ketika Anda menambah atau mengurangi jumlah sumber daya komputasi dalam kluster Kubernetes, Anda akan menskalakan. Anda dapat menskalakan jumlah instans beban kerja yang perlu dijalankan atau jumlah simpul 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 sesuai kebutuhan. Opsi kedua adalah melalui otomatisasi, di mana Anda dapat menggunakan autoscaler pod horizontal untuk menskalakan pod dan autoscaler kluster untuk menskalakan simpul.

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 dalam 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 menjadi nol simpul. Perhatikan bahwa parameter --node-count diatur ke nol. Berikut contoh perintahnya:

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

Cara menskalakan kluster secara otomatis

Diagram that shows how the cluster autoscaler adds nodes and how the horizontal pod autoscaler adds pods.

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

  • Penskala otomatis pod horizontal

  • Penskala otomatis kluster

Mari kita lihat setiap opsi, dimulai dengan penskala otomatis pod horizontal.

Autoscaler pod horizontal

Gunakan penskala otomatis 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 di 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 dibalur dengan permintaan dan membangun backlog 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, penskala otomatis pod horizontal hanya menskalakan pod pada simpul yang tersedia di kumpulan simpul kluster yang dikonfigurasi.

Autoscaler kluster

Batasan sumber daya dipicu ketika autoscaler pod horizontal tidak dapat menjadwalkan pod lain pada simpul yang ada dalam kumpulan simpul. Anda perlu menggunakan autoscaler kluster untuk menskalakan jumlah simpul dalam kumpulan simpul kluster dalam waktu batasan. Penskala otomatis kluster memeriksa metrik yang ditentukan dan menaikkan atau menurunkan jumlah simpul berdasarkan sumber daya komputasi yang diperlukan.

Penskala otomatis kluster digunakan bersama dengan penskala otomatis pod horizontal.

Penskala otomatis kluster memantau peristiwa peningkatan maupun penurunan skala dan memungkinkan kluster Kubernetes mengubah jumlah simpul dalam kumpulan simpul saat sumber daya menuntut perubahan.

Anda akan 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 ke nol saat Anda mengaktifkan penskala otomatis kluster pada kumpulan simpul. Sebagai gantinya, Anda dapat mengatur jumlah min ke nol untuk menghemat sumber daya kluster.

Uji 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 rendering video dan layanan analisis yang hanya berjalan sesuai kebutuhan dan yang membutuhkan VM berbasis GPU. Untuk mengoptimalkan biaya, berapa jumlah kumpulan simpul yang akan Anda sebarkan di kluster Azure Kubernetes Service (AKS) untuk mengelola solusinya?

2.

Lengkapi pernyataan berikut. Penskala otomatis kluster Kubernetes menskalakan...