Menskalakan grup node secara otomatis


Jika menggunakan sole-tenant node untuk beban kerja, Anda dapat secara otomatis mengelola ukuran grup node menggunakan autoscaler grup node. Anda dapat mengonfigurasi penskalaan otomatis saat membuat grup node atau setelah membuat grup node. Autoscaler dapat membantu Anda mengelola ukuran grup node tenant tunggal secara otomatis dengan:

  • Meningkatkan ukuran grup node saat kapasitas tidak mencukupi untuk instance virtual machine (VM) lain pada grup node tersebut. Setelah autoscaler meningkatkan ukuran grup node, VM akan dijadwalkan secara transparan.

  • Mengurangi ukuran grup node saat ada node kosong, sehingga Anda tidak perlu membayar sole-tenant node yang tidak digunakan.

Diagram berikut menunjukkan:

  1. Penskala otomatis grup node menyebarkan skala dengan menambahkan node baru ke grup node sebagai respons terhadap deployment VM ke grup node tanpa node kosong.

  2. Penskalaan otomatis grup node dengan menghapus node kosong dari grup node tenant tunggal.

Autoscaler grup node yang mengelola ukuran grup node.

Mode autoscaler

Secara default, autoscaler tidak diaktifkan di grup node. Jika autoscaler tidak diaktifkan, Anda harus mengelola ukuran grup node secara manual. Jika mengaktifkan autoscaler pada grup node, Anda dapat menentukan bahwa autoscaler dapat meningkatkan dan mengurangi ukuran grup node (penyebaran skala dan penurunan skala), atau hanya meningkatkan ukuran grup (hanya penyebaran skala).

Penyebaran skala dan penurunan skala

Dalam mode ini, autoscaler grup node akan meningkatkan (penyebaran skala) dan mengurangi (penurunan skala) ukuran grup node Anda. Untuk mode ini, Anda harus menentukan ukuran maksimum dan ukuran minimum grup node. Autoscaler tidak akan menskalakan ukuran grup node di atas batas maksimum yang ditentukan atau di bawah batas minimum yang ditentukan.

Autoscaler akan meningkatkan skala ukuran grup node saat ada permintaan untuk menjadwalkan VM ke grup node yang tidak memiliki kapasitas untuk VM lain. Sebaliknya, autoscaler akan menurunkan skala ukuran grup node saat ada node kosong di grup node.

Hanya penyebaran skala

Dengan mode ini, autoscaler akan meningkatkan ukuran grup node sebagai respons terhadap permintaan untuk menjadwalkan VM, tetapi tidak menghapus node kosong dari grup node. Google merekomendasikan mode ini untuk workload yang meningkat secara monoton atau workload yang memerlukan afinitas server fisik, seperti workload BYOL, yang memerlukan lisensi untuk berada di server fisik yang sama.

Anda harus menggunakan mode ini jika grup node dikonfigurasi dengan kebijakan pemeliharaan Migrasi dalam grup node.

Rentang ukuran grup node

Saat mengaktifkan autoscaler, Anda dapat menetapkan rentang ukuran grup node dengan menentukan nilai minimum dan maksimum untuk ukuran grup node.

Jika Anda tidak menentukan nilai untuk ukuran minimum, penskalaan otomatis akan menetapkan ukuran minimum ke nol (0). Jika Anda menentukan nilai untuk ukuran minimum, nilai tersebut harus berupa bilangan bulat yang lebih besar dari atau sama dengan 0, dan harus kurang dari atau sama dengan ukuran maksimumnya.

Anda harus menentukan nilai untuk ukuran maksimum grup node. Nilai harus berupa bilangan bulat yang lebih besar dari atau sama dengan 0 dan kurang dari atau sama dengan 100, yang merupakan ukuran maksimum yang diizinkan untuk grup sole-tenant node, dan nilainya harus lebih dari atau sama dengan nilai minimum yang ditentukan.

Untuk mengakomodasi workload yang mungkin melebihi ukuran maksimum 100 untuk grup node, buat beberapa grup node dengan label afinitas yang cocok, misalnya workload:in:my-autoscaled-node-groups. Kemudian, jadwalkan VM menggunakan label afinitas tersebut, dan aktifkan penskalaan otomatis pada setiap grup untuk membuat grup node yang melakukan penskalaan secara dinamis.

Ketersediaan

Anda hanya dapat menggunakan penskala otomatis node tenant tunggal di region yang mendukung node tenant tunggal.

Sebelum memulai

  • 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

Mengaktifkan penskala otomatis grup node

Konfigurasikan penskalaan otomatis pada grup node baru.

gcloud

Contoh di bawah menunjukkan cara menggunakan perintah node-groups create untuk mengaktifkan autoscaler saat Anda membuat grup node. Untuk menambahkan autoscaler ke grup node yang ada, gunakan perintah node-groups update.

gcloud compute sole-tenancy node-groups create group-name \
    --node-template template-name \
    --target-size size \
    --maintenance-policy maintenance-policy \
    --zone zone \
    --autoscaler-mode mode \
    --max-nodes max-nodes \
    --min-nodes min-nodes

Ganti kode berikut:

  • group-name: Nama grup node yang akan dibuat.
  • template-name: Nama template node yang digunakan untuk membuat grup node.
  • size: Menargetkan jumlah node awal pada grup node.
  • maintenance-policy: Menentukan apakah VM dimigrasikan dan apakah VM dimulai ulang selama peristiwa pemeliharaan host. Tetapkan ke salah satu nilai berikut:
    • default: VM langsung melakukan migrasi ke node baru.
    • migrate-within-node-group: VM langsung melakukan migrasi ke node lain di grup node.
    • restart-in-place: VM dimulai ulang pada node yang sama setelah dihentikan karena peristiwa pemeliharaan.
  • zone: Zona tempat untuk membuat grup node.
  • mode: Mode untuk penskala otomatis di grup node ini. Tetapkan ke salah satu nilai berikut:
    • off: Menonaktifkan penskala otomatis.
    • on: Mengaktifkan penurunan skala dan penyebaran skala.
    • only-scale-out: Hanya mengaktifkan penyebaran skala. Anda harus menggunakan mode ini jika grup node Anda dikonfigurasi untuk memulai ulang VM yang dihosting pada server minimal.
  • max-nodes: Ukuran maksimum grup node. Tetapkan ke nilai yang kurang dari atau sama dengan 100 dan lebih besar dari atau sama dengan min-nodes.
  • min-nodes: Ukuran minimum grup node, dan harus berupa nilai bilangan bulat kurang dari atau sama dengan max-nodes. Nilai defaultnya adalah 0.

REST

Contoh berikut menunjukkan cara menggunakan perintah nodeGroups.insert untuk mengaktifkan penghitung skala otomatis saat Anda membuat grup node. Untuk menambahkan autoscaler ke grup node yang ada, gunakan perintah nodeGroups.patch.

POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/nodeGroups?initialNodeCount=initial-node-count

  {
    "name": "group-name",
    "nodeTemplate": "template-name",
    "autoscalingPolicy": {
      "mode": "mode",
      "min_nodes": min-nodes,
      "max_nodes": max-nodes
    }
    "maintenancePolicy": maintenance-policy
  }

Ganti kode berikut:

  • project-id: ID project yang akan ditambahkan grup node dengan autoscaler.
  • zone: Zona tempat untuk membuat grup node baru.
  • initial-node-count: Diperlukan saat membuat grup node. Ini menentukan jumlah node awal dalam grup node. Jika nilai min-nodes lebih besar dari jumlah node awal, ukuran grup node akan ditingkatkan ke nilai min-nodes.
  • group-name: Nama grup node baru.
  • template-name: Nama template node yang digunakan untuk membuat grup node.
  • mode: Mode untuk penskala otomatis di grup node ini. Tetapkan ke salah satu opsi berikut:
    • OFF: Menonaktifkan penskala otomatis.
    • ON: Mengaktifkan penurunan skala dan penyebaran skala.
    • ONLY_SCALE_OUT: Hanya mengaktifkan penyebaran skala. Anda harus menggunakan mode ini jika grup node Anda dikonfigurasi untuk memulai ulang VM yang dihosting pada server minimal.
  • max-nodes: Ukuran maksimum grup node. Tetapkan ke nilai yang kurang dari atau sama dengan 100 dan lebih besar dari atau sama dengan min-nodes.
  • min-nodes: Ukuran minimum grup node, dan harus berupa nilai bilangan bulat kurang dari atau sama dengan max-nodes. Nilai defaultnya adalah 0.
  • maintenance-policy: Menentukan apakah VM dimigrasikan dan apakah VM dimulai ulang selama peristiwa pemeliharaan host. Tetapkan ini ke salah satu nilai berikut:
    • DEFAULT: VM langsung melakukan migrasi ke node baru.
    • MIGRATE_WITHIN_NODE_GROUP: VM langsung melakukan migrasi ke node lain di grup node.
    • RESTART_IN_PLACE: VM dimulai ulang pada node yang sama setelah dihentikan karena peristiwa pemeliharaan.

Memperbarui setelan penskala otomatis

Ubah setelan autoscaler pada grup node dengan memperbarui mode autoscaler atau dengan memperbarui ukuran minimum dan maksimum grup node.

gcloud

Contoh berikut menunjukkan cara menggunakan perintah node-groups update untuk mengubah mode penghitung skala otomatis di grup node.

gcloud compute sole-tenancy node-groups update name \
    --autoscaler-mode mode \
    --max-nodes max-nodes \
    --min-nodes min-nodes

Ganti kode berikut:

  • name: Nama grup node yang akan diubah mode autoscaler-nya.
  • mode: Mode untuk penskala otomatis di grup node ini. Tetapkan ke salah satu opsi berikut:
    • off: Menonaktifkan penskala otomatis.
    • on: Mengaktifkan penurunan skala dan penyebaran skala.
    • only-scale-out: Hanya mengaktifkan penyebaran skala. Anda harus menggunakan mode ini jika grup node dikonfigurasi untuk memulai ulang VM yang dihosting pada server minimal.
  • max-nodes: Ukuran maksimum grup node. Tetapkan ke nilai yang kurang dari atau sama dengan 100 dan lebih besar dari atau sama dengan min-nodes.
  • min-nodes: Ukuran minimum grup node, dan harus berupa nilai bilangan bulat kurang dari atau sama dengan max-nodes. Nilai defaultnya adalah 0.

REST

Contoh berikut menunjukkan cara menggunakan perintah nodeGroups.patch untuk mengubah mode penskala otomatis di grup node.

PATCH https://compute.googleapis.com/compute/beta/projects/project-id/zones/group-zone/nodeGroups/group-name

{
  "nodeTemplate": "template-name",
  "autoscalingPolicy": {
    "mode": "mode",
    "minSize": min-nodes,
    "maxSize": max-nodes
  }
}

Ganti kode berikut:

  • project-id: ID project yang berisi grup node yang akan diubah mode autoscaler-nya.
  • group-zone: Zona yang berisi grup node yang akan diubah mode autoscaler-nya.
  • group-name: Nama grup node yang akan diubah mode autoscaler-nya.
  • template-name: Nama template node tempat grup node dibuat.
  • mode: Mode untuk penskala otomatis di grup node ini. Tetapkan ke salah satu opsi berikut:

    • OFF: Menonaktifkan penskala otomatis.
    • ON: Mengaktifkan penurunan skala dan penyebaran skala.

    • ONLY_SCALE_OUT: Hanya mengaktifkan penyebaran skala. Anda harus menggunakan mode ini jika grup node dikonfigurasi dengan kebijakan pemeliharaan Migrasi dalam grup node.

  • max-nodes: Ukuran maksimum grup node. Tetapkan ke nilai yang kurang dari atau sama dengan 100 dan lebih besar dari atau sama dengan min-nodes.

  • min-nodes: Ukuran minimum grup node, dan harus berupa nilai bilangan bulat kurang dari atau sama dengan max-nodes. Nilai defaultnya adalah 0.

Memperbarui ukuran grup node dengan penskalaan otomatis secara manual

Jika autoscaler diaktifkan, ukuran grup node akan dikelola secara otomatis, tetapi Anda dapat menjadwalkan atau menghapus VM di grup node tersebut untuk memperbarui ukuran grup secara efektif dan manual.

Untuk mengurangi ukuran grup node yang diskalakan otomatis secara manual, hapus VM dari node hingga node kosong. Jika node kosong, autoscaler akan menghapus node kosong, sehingga akan mengurangi ukuran grup node.

Untuk meningkatkan ukuran grup node yang diskalakan otomatis secara manual, tetapkan ukuran minimum grup ke nilai yang lebih besar dari ukuran saat ini. Saat ukuran minimum grup ditetapkan ke nilai yang lebih besar dari ukuran saat ini, autoscaler akan menskalakan ukuran grup ke ukuran minimum yang baru ditentukan.

Jika grup node ditetapkan untuk hanya menyebarkan skala, autoscaler akan otomatis mengelola peningkatan ukuran grup dan menonaktifkan peningkatan ukuran grup manual. Dengan setelan ini, Anda dapat mengurangi ukuran grup dengan menghapus VM dari node hingga node tersebut kosong. Kemudian, Anda dapat menghapus node kosong tersebut.

Nonaktifkan penskala otomatis

Jika Anda tidak perlu lagi menggunakan autoscaler untuk mengelola ukuran grup node secara otomatis, atau jika Anda perlu mengelola ukuran grup node secara manual, nonaktifkan autoscaler.

gcloud

gcloud compute sole-tenancy node-groups update name \
    --autoscaler-mode OFF

Ganti name dengan nama grup node yang kebijakan penskalaan otomatisnya akan dihapus.

REST

Contoh berikut menunjukkan cara menggunakan perintah nodeGroups.patch untuk menonaktifkan penskala otomatis di grup node.

PATCH https://compute.googleapis.com/compute/beta/projects/project-id/zones/group-zone/nodeGroups/group-name

{
  "nodeTemplate": "template-name",
  "autoscalingPolicy": {
    "mode": "mode"
  }
}

Ganti kode berikut:

  • project-id: ID project yang berisi grup node yang akan diubah mode autoscaler-nya.
  • group-zone: Zona yang berisi grup node yang akan diubah mode autoscaler-nya.
  • group-name: Nama grup node yang akan diubah mode autoscaler-nya.
  • template-name: Nama template node tempat grup node dibuat.
  • mode: Mode untuk penskala otomatis di grup node ini. Tetapkan ke OFF untuk menonaktifkan autoscaler di grup node ini.

Melihat aktivitas penskala otomatis

Di konsol Google Cloud, lihat autoscaler yang menyesuaikan ukuran grup node Anda. Konsol Google Cloud menampilkan ukuran grup node saat ini, dan jika penskala otomatis menyesuaikan ukuran grup, Anda juga dapat melihat ukuran target grup node.

Konsol

  1. Di konsol Google Cloud, buka halaman Sole-tenant nodes.

    Buka Sole-tenant nodes

  2. Klik Grup node.

  3. Lihat jumlah node di setiap grup node. Jika Compute Engine menskalakan grup node, Anda juga dapat melihat target jumlah node.

Langkah selanjutnya