Membuat MIG dengan VM GPU


Dokumen ini menjelaskan cara membuat grup instance terkelola (MIG) dengan instance virtual machine (VM) yang telah memasang GPU. Bagian ini menjelaskan cara menambahkan VM GPU sekaligus dalam MIG zonal menggunakan permintaan pengubahan ukuran dan model penyediaan mulai fleksibel. Jika Anda ingin membuat permintaan pengubahan ukuran MIG untuk menggunakan reservasi, lihat hal berikut:

Gunakan permintaan pengubahan ukuran MIG dengan model penyediaan flex-start untuk meningkatkan peluang Anda mendapatkan VM GPU. Dalam permintaan, Anda harus menentukan jumlah VM GPU. Dynamic Workload Scheduler (DWS), mekanisme penjadwal yang mendasarinya, menjadwalkan permintaan pengubahan ukuran yang dibuat di seluruh Compute Engine berdasarkan durasi yang diminta dan ketersediaan resource. Saat resource tersedia, MIG akan membuat VM.

Jika tugas Anda selesai lebih awal dari durasi yang diminta, Anda dapat menghapus VM yang dibuat. Jika tidak, MIG akan menghapus VM di akhir durasi berjalan.

Anda juga dapat membaca skenario dasar lainnya untuk membuat MIG.

Sebelum memulai

  • Untuk memastikan Anda memiliki kuota GPU yang cukup untuk resource yang Anda minta, periksa kuota GPU Anda.
  • Untuk memahami penggunaan kuota, baca artikel VM GPU dan kuota alokasi preemptible.
  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses yang digunakan untuk memverifikasi identitas Anda untuk mengakses Google Cloud layanan dan API. Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

      1. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. REST

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

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .

Batasan

Tinjau batasan untuk membuat permintaan pengubahan ukuran MIG.

Membuat MIG dan menambahkan VM GPU sekaligus

Untuk membuat MIG dan menambahkan VM GPU sekaligus dalam grup, lakukan hal berikut:

  1. Buat template instance, yang diperlukan untuk membuat MIG. MIG membuat setiap VM dalam grup berdasarkan template instance. Dalam template, tentukan konfigurasi untuk VM GPU dan konfigurasi tambahan yang diperlukan untuk menggunakan permintaan pengubahan ukuran.

    Untuk mengetahui informasi selengkapnya tentang template instance, lihat artikel Tentang template instance.

  2. Buat MIG dan permintaan pengubahan ukuran untuk menambahkan VM GPU sekaligus.

Membuat template instance

Buat template instance seperti yang dijelaskan di bagian ini, lalu gunakan template tersebut untuk membuat MIG.

Konsol

  1. Buka halaman Template instance.

    Buka halaman Template instance

  2. Klik Create instance template. Halaman Create an instance template akan terbuka.

  3. Di kolom Name, masukkan nama untuk template instance.

  4. Di bagian Machine configuration, lakukan hal berikut:

    1. Klik tab GPU.

    2. Dalam daftar GPU type, pilih jenis GPU.

    3. Dalam daftar Number of GPU, pilih jumlah GPU.

    4. Di bagian Machine type, pilih jenis mesin.

  5. Di bagian Model penyediaan, lakukan hal berikut:

    1. Dalam daftar VM provisioning model, pilih Flex-start.

    2. Untuk menyetel durasi berjalan VM yang dibuat melalui template instance, di kolom Enter number of hours, masukkan jumlah jam. Nilai harus antara satu jam (1) dan tujuh hari (168).

  6. Opsional: Untuk mengubah jenis atau image boot disk nilai default, di bagian Boot disk, klik Ubah. Kemudian, ikuti petunjuk untuk mengubah disk booting.

  7. Klik Buat.

gcloud

Buat template instance menggunakan perintah beta instance-templates create:

gcloud beta compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --image-project=IMAGE_PROJECT \
    --image-family=IMAGE_FAMILY \
    --instance-termination-action=DELETE \
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=TERMINATE \
    --max-run-duration=RUN_DURATION \
    --provisioning-model=FLEX_START \
    --reservation-affinity=none

Ganti kode berikut:

  • INSTANCE_TEMPLATE_NAME: nama template instance.

  • IMAGE_PROJECT: project gambar yang berisi gambar—misalnya, debian-cloud. Untuk mengetahui informasi selengkapnya tentang project gambar yang didukung, lihat Gambar publik.

  • IMAGE_FAMILY: kelompok image. Tindakan ini menentukan image OS terbaru yang tidak digunakan lagi. Misalnya, jika Anda menentukan debian-12, versi terbaru dalam kelompok image Debian 12 akan digunakan. Untuk mengetahui informasi selengkapnya tentang cara menggunakan kelompok image, lihat Praktik terbaik kelompok image.

  • REGION: region tempat membuat template instance.

  • MACHINE_TYPE: jenis mesin yang mendukung GPU. Jika Anda menentukan jenis mesin N1, sertakan flag --accelerator untuk menentukan jumlah dan jenis GPU yang akan dipasang ke VM Anda.

  • RUN_DURATION: durasi yang Anda inginkan untuk menjalankan VM yang diminta. Anda harus memformat nilai sebagai jumlah hari, jam, menit, atau detik, diikuti dengan d, h, m, atau s. Misalnya, tentukan 30m selama 30 menit atau 1d2h3m4s selama satu hari, dua jam, tiga menit, dan empat detik. Nilainya harus antara 10 menit dan tujuh hari.

REST

Buat template instance dengan membuat permintaan POST ke metode beta.instanceTemplates.insert:

POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "reservationAffinity": {
      "consumeReservationType": "NO_RESERVATION"
    },
    "scheduling": {
      "instanceTerminationAction": "DELETE",
      "maxRunDuration": {
        "seconds": RUN_DURATION
      },
      "onHostMaintenance": "TERMINATE",
      "provisioningModel": "FLEX_START"
    }
  }
}

Ganti kode berikut:

  • PROJECT_ID: ID project tempat Anda ingin membuat template instance.

  • REGION: region tempat membuat template instance.

  • INSTANCE_TEMPLATE_NAME: nama template instance.

  • IMAGE_PROJECT: project gambar yang berisi gambar—misalnya, debian-cloud. Untuk mengetahui informasi selengkapnya tentang project gambar yang didukung, lihat Gambar publik.

  • IMAGE: tentukan salah satu dari berikut ini:

    • Versi tertentu dari image OS—misalnya, debian-12-bookworm-v20240617.

    • Kelompok image, yang harus diformat sebagai family/IMAGE_FAMILY. Tindakan ini menentukan image OS terbaru yang masih digunakan. Misalnya, jika Anda menentukan family/debian-12, versi terbaru dalam kelompok image Debian 12 akan digunakan. Untuk mengetahui informasi selengkapnya tentang penggunaan kelompok image, lihat Praktik terbaik kelompok image.

  • MACHINE_TYPE: jenis mesin yang mendukung GPU. Jika Anda menentukan jenis mesin N1, sertakan kolom guestAccelerators untuk menentukan jumlah dan jenis GPU yang akan dilampirkan ke VM Anda.

  • RUN_DURATION: durasi, dalam detik, yang Anda inginkan untuk VM yang diminta agar berjalan sebelum MIG menghapusnya secara otomatis. Nilai harus antara 600, yaitu 600 detik (10 menit), dan 604800, yaitu 604.800 detik (tujuh hari).

Setelah membuat template instance, Anda dapat melihatnya untuk melihat ID-nya dan meninjau properti instance-nya.

Membuat MIG dan menambahkan VM GPU sekaligus

Buat MIG seperti yang dijelaskan di bagian ini. Untuk membuat permintaan pengubahan ukuran di MIG, Anda tidak boleh mengonfigurasi penskalaan otomatis dan harus menonaktifkan perbaikan.

Konsol

  1. Buka halaman Instance groups.

    Buka Instance groups

  2. Klik Create instance group. Halaman Create instance group akan terbuka.

  3. Di kolom Nama, masukkan nama untuk MIG.

  4. Sebelum memilih template instance, Anda harus menghapus konfigurasi penskalaan otomatis dan menonaktifkan perbaikan sebagai berikut:

    1. Untuk menghapus konfigurasi penskalaan otomatis, lakukan langkah berikut:
      1. Di bagian Penskalaan otomatis, klik daftar Mode penskalaan otomatis, lalu klik Hapus konfigurasi penskalaan otomatis.
      2. Pada dialog konfirmasi, klik Delete.
    2. Untuk menonaktifkan perbaikan, di bagian VM instance lifecycle, klik daftar Default action on failure, lalu pilih No action.
  5. Kembali ke kolom Instance template. Dalam daftar Instance template, pilih template instance yang Anda buat di bagian sebelumnya.

  6. Lakukan salah satu hal berikut:

    • Untuk membuat permintaan pengubahan ukuran dengan MIG, lakukan hal berikut:
      1. Di kolom Number of instances, masukkan jumlah VM yang ingin Anda buat sekaligus.
      2. Centang kotak Use resize request to create VMs all at once.
      3. Opsional: Untuk menentukan durasi berjalan yang berbeda untuk VM daripada yang ditetapkan dalam template instance, di kolom Requested run duration dan daftar Unit, tentukan durasi. Durasi harus antara satu jam dan tujuh hari.
    • Untuk membuat permintaan pengubahan ukuran setelah membuat MIG, di kolom Number of instances, masukkan 0.
  7. Di bagian Lokasi, tentukan apakah Anda ingin membuat MIG tingkat zona atau regional sebagai berikut:

    1. Untuk membuat MIG zona, pilih Single zone. Atau, untuk membuat MIG regional, pilih Beberapa zona.
    2. Pilih Region dan Zona MIG.
    3. Jika Anda membuat MIG regional, lakukan hal berikut:
      1. Di kolom Bentuk distribusi target, pilih Zona tunggal mana pun.
      2. Pada dialog yang muncul, klik Nonaktifkan redistribusi instance.
  8. Klik Buat.

gcloud

  1. Buat MIG zona menggunakan perintah instance-groups managed create:

    gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
       --template=INSTANCE_TEMPLATE_URL \
       --size=0 \
       --zone=ZONE \
       --default-action-on-vm-failure=do_nothing
    
  2. Di MIG, buat permintaan pengubahan ukuran menggunakan perintah instance-groups managed resize-requests create. Tentukan jumlah VM GPU yang Anda inginkan dan durasi yang Anda inginkan untuk menjalankan VM tersebut.

    gcloud compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \
       --resize-request=RESIZE_REQUEST_NAME \
       --resize-by=COUNT \
       --zone=ZONE
    

Ganti kode berikut:

  • INSTANCE_GROUP_NAME: nama MIG.
  • INSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat VM di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:
    • Untuk template instance regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Untuk template instance global: INSTANCE_TEMPLATE_ID
  • ZONE: salah satu zona yang tersedia untuk Compute Engine.
  • RESIZE_REQUEST_NAME: nama permintaan pengubahan ukuran.
  • COUNT: jumlah VM yang akan ditambahkan sekaligus dalam grup.

REST

  1. Buat MIG zona dengan membuat permintaan POST ke metode instanceGroupManagers.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    
    {
     "versions": [
       {
         "instanceTemplate": "INSTANCE_TEMPLATE_URL"
       }
     ],
     "name": "INSTANCE_GROUP_NAME",
     "targetSize": 0,
     "instanceLifecyclePolicy": {
       "defaultActionOnFailure": "DO_NOTHING"
     }
    }
    
  2. Di MIG, buat permintaan pengubahan ukuran dengan membuat permintaan POST ke metode instanceGroupManagerResizeRequests.insert. Di isi permintaan, tentukan jumlah VM GPU yang ingin Anda buat sekaligus dan durasi yang Anda inginkan untuk menjalankan VM tersebut.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
    
    {
     "name": "RESIZE_REQUEST_NAME",
     "resizeBy": COUNT
    }
    

Ganti kode berikut:

  • PROJECT_ID: ID project tempat Anda ingin membuat MIG.
  • INSTANCE_GROUP_NAME: nama MIG.
  • INSTANCE_TEMPLATE_URL: URL template instance yang ingin Anda gunakan untuk membuat VM di MIG. URL dapat berisi ID atau nama template instance. Tentukan salah satu nilai berikut:
    • Untuk template instance regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID
    • Untuk template instance global: INSTANCE_TEMPLATE_ID
  • ZONE: salah satu zona yang tersedia untuk Compute Engine.
  • RESIZE_REQUEST_NAME: nama permintaan pengubahan ukuran.
  • COUNT: jumlah VM yang akan ditambahkan sekaligus dalam grup.

Permintaan pengubahan ukuran yang Anda buat tetap dalam status ACCEPTED hingga MIG membuat semua VM GPU yang diminta. Setelah semua VM GPU dibuat dalam grup, status permintaan akan berubah menjadi SUCCEEDED.

Langkah berikutnya