Penskalaan berdasarkan penggunaan CPU


Bentuk penskalaan otomatis yang paling sederhana adalah menskalakan grup instance terkelola (MIG) berdasarkan penggunaan CPU instance-nya.

Anda juga dapat menskalakan MIG secara otomatis berdasarkan kapasitas penyaluran load balancing, Metrik pemantauan, atau jadwal.

Sebelum memulai

  • Tinjau batasan autoscaler.
  • Baca dasar-dasar autoscaler.
  • Siapkan autentikasi, jika Anda belum melakukannya. Autentikasi adalah proses verifikasi identitas Anda untuk akses ke layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine sebagai berikut.

    Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:

    Konsol

    Saat menggunakan Konsol Google Cloud untuk mengakses API dan layanan Google Cloud, Anda tidak perlu menyiapkan autentikasi.

    gcloud

    1. Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init
    2. Menetapkan region dan zona default.

    REST

    Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

      Instal Google Cloud CLI, lalu initialize dengan menjalankan perintah berikut:

      gcloud init

Penskalaan berdasarkan penggunaan CPU

Anda dapat melakukan penskalaan otomatis berdasarkan penggunaan CPU rata-rata dari grup instance terkelola (MIG). Kebijakan ini akan memberi tahu autoscaler untuk mengumpulkan penggunaan CPU instance dalam grup dan menentukan apakah perlu untuk melakukan penskalaan. Anda menetapkan target penggunaan CPU yang harus dipertahankan oleh autoscaler dan autoscaler akan berupaya mempertahankan tingkat penggunaan tersebut.

Autoscaler memperlakukan tingkat penggunaan CPU target sebagai pecahan dari penggunaan rata-rata semua vCPU dari waktu ke waktu dalam grup instance. Jika penggunaan rata-rata total vCPU Anda melebihi target penggunaan, autoscaler akan menambahkan lebih banyak instance VM. Jika penggunaan rata-rata total vCPU Anda kurang dari target penggunaan, autoscaler akan menghapus instance. Misalnya, menetapkan target penggunaan sebesar 0,75 akan memberi tahu autoscaler untuk mempertahankan penggunaan rata-rata sebesar 75% di antara semua vCPU dalam grup instance.

Anda juga dapat melakukan penskalaan berdasarkan perkiraan penggunaan CPU. Untuk mengetahui informasi selengkapnya, dan untuk melihat apakah solusi ini cocok dengan workload Anda, lihat Penskalaan berdasarkan prediksi.

Aktifkan penskalaan otomatis berdasarkan penggunaan CPU

Konsol

  1. Di konsol, buka halaman Grup instance.

    Buka Grup instance

  2. Jika Anda memiliki grup instance, pilih grup tersebut dan klik Edit. Jika Anda tidak memiliki grup instance, klik Buat grup instance.

  3. Jika tidak terdapat konfigurasi penskalaan otomatis, klik Konfigurasikan penskalaan otomatis di bagian Penskalaan Otomatis.

  4. Di bagian Mode penskalaan otomatis, pilih Aktif: tambahkan dan hapus instance ke grup untuk mengaktifkan penskalaan otomatis.

  5. Tentukan jumlah minimum dan maksimum instance yang Anda inginkan untuk dibuat oleh autoscaler dalam grup ini.

  6. Di bagian Metrik penskalaan otomatis, jika metrik Pengunaan CPU yang ada belum tersedia, tambahkan:

    1. Klik Tambahkan metrik.
    2. Di bagian Jenis metrik, pilih penggunaan CPU.
    3. Masukkan Target penggunaan CPU yang diinginkan. Nilai ini diperlakukan sebagai persentase. Misalnya, untuk penggunaan CPU sebesar 75%, masukkan 75.
    4. Di bagian Penskalaan otomatis prediktif, pilih Nonaktif. Untuk mempelajari lebih lanjut penskalaan otomatis prediktif, dan apakah penskalaan tersebut cocok dengan workload Anda, lihat Penskalaan berdasarkan prediksi.
    5. Klik Done.
  7. Anda dapat menggunakan Periode inisialisasi untuk memberi tahu autoscaler waktu yang diperlukan aplikasi untuk diinisialisasi. Menentukan periode inisialisasi yang akurat akan meningkatkan keputusan autoscaler. Misalnya, saat penskalaan otomatis, autoscaler mengabaikan data dari VM yang masih melakukan inisialisasi karena VM tersebut mungkin belum mewakili penggunaan normal aplikasi Anda. Periode inisialisasi default adalah 60 detik.

  8. Klik Simpan.

gcloud

Gunakan sub-perintah set-autoscaling untuk mengaktifkan penskalaan otomatis untuk grup instance terkelola. Misalnya, perintah berikut akan membuat autoscaler yang memiliki target penggunaan CPU sebesar 60%. Bersama dengan parameter --target-cpu-utilization, parameter --max-num-replicas juga diperlukan saat membuat autoscaler:

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
    --max-num-replicas 20 \
    --target-cpu-utilization 0.60 \
    --cool-down-period 90

Anda dapat menggunakan flag --cool-down-period untuk menetapkan periode inisialisasi, yang akan memberi tahu autoscaler waktu yang diperlukan aplikasi untuk diinisialisasi. Menentukan periode inisialisasi yang akurat akan meningkatkan keputusan autoscaler. Misalnya, saat penskalaan otomatis, autoscaler mengabaikan data dari VM yang masih melakukan inisialisasi karena VM tersebut mungkin belum mewakili penggunaan normal aplikasi Anda. Periode inisialisasi default adalah 60 detik.

Secara opsional, Anda dapat mengaktifkan penskalaan otomatis prediktif untuk meningkatkan skala sebelum beban yang diprediksi. Untuk mempelajari apakah penskalaan otomatis prediktif cocok untuk workload Anda, lihat Penskalaan berdasarkan prediksi.

Anda dapat memverifikasi bahwa penskalaan otomatis berhasil diaktifkan menggunakan sub-perintah instance-groups managed describe, yang mendeskripsikan grup instance terkelola yang sesuai dan memberikan informasi tentang setiap fitur penskalaan otomatis untuk grup instance tersebut:

gcloud compute instance-groups managed describe example-managed-instance-group

Untuk mengetahui daftar perintah dan flag gcloud yang tersedia, baca referensi gcloud.

REST

Untuk membuat autoscaler, gunakan metode autoscalers.insert untuk MIG zona atau metode regionAutoscalers.insert untuk MIG regional.

Contoh berikut akan membuat autoscaler untuk MIG zona:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/

Isi permintaan Anda harus berisi kolom name, target, dan autoscalingPolicy. autoscalingPolicy harus menentukan cpuUtilization dan maxNumReplicas.

Anda dapat menggunakan kolom coolDownPeriodSec untuk menetapkan periode inisialisasi, yang akan memberi tahu autoscaler waktu yang diperlukan aplikasi untuk diinisialisasi. Menentukan periode inisialisasi yang akurat akan meningkatkan keputusan autoscaler. Misalnya, saat penskalaan otomatis, autoscaler mengabaikan data dari VM yang masih melakukan inisialisasi karena VM tersebut mungkin belum mewakili penggunaan normal aplikasi Anda. Periode inisialisasi default adalah 60 detik.

Secara opsional, Anda dapat mengaktifkan penskalaan otomatis prediktif untuk meningkatkan skala sebelum beban yang diprediksi. Untuk mempelajari apakah penskalaan otomatis prediktif cocok untuk workload Anda, lihat Penskalaan berdasarkan prediksi.

{
  "name": "example-autoscaler",
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-managed-instance-group",
  "autoscalingPolicy": {
    "maxNumReplicas": 10,
    "cpuUtilization": {
      "utilizationTarget": 0.6
    },
    "coolDownPeriodSec": 90
  }
}

Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan penskalaan otomatis berdasarkan penggunaan CPU, selesaikan tutorial, Menggunakan penskalaan otomatis untuk aplikasi yang sangat skalabel.

Cara autoscaler menangani penggunaan CPU yang berat

Selama periode penggunaan CPU yang berat, jika penggunaan mendekati 100%, autoscaler akan memperkirakan bahwa grup mungkin sudah kelebihan beban. Dalam kasus ini, autoscaler meningkatkan jumlah virtual machine maksimum sebesar 50%.

Langkah selanjutnya