Membuat dan menjalankan tugas yang menggunakan disk booting kustom

Halaman ini menjelaskan cara menyesuaikan persistent disk yang digunakan untuk mem-boot setiap instance virtual machine (VM) tempat tugas berjalan.

Secara khusus, Anda dapat menyesuaikan ukuran, jenis, dan/atau image sistem operasi (OS) VM untuk boot disk. Jika Anda hanya ingin menyesuaikan image OS VM, lihat Menentukan image OS VM untuk tugas.

Untuk mempelajari lebih lanjut disk booting dan kapan harus mengonfigurasi disk booting, lihat Ringkasan lingkungan OS VM.

Sebelum memulai

  1. Jika belum pernah menggunakan Batch, baca Mulai menggunakan Batch dan aktifkan Batch dengan menyelesaikan prasyarat untuk project dan pengguna.
  2. Untuk mendapatkan izin yang Anda perlukan untuk membuat tugas, minta administrator Anda untuk memberi Anda peran IAM berikut:

    Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

    Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Membuat dan menjalankan tugas yang menggunakan boot disk kustom

Tentukan boot disk kustom saat Anda membuat tugas dengan memilih salah satu metode berikut:

  • Gunakan template instance Compute Engine yang menentukan disk boot kustom yang sudah ada. Jika Anda ingin menggunakan template instance VM saat membuat tugas ini atau menggunakan boot disk kustom yang sudah ada, selesaikan langkah-langkah berikut:

    1. Buat atau identifikasi boot disk kustom.

      Untuk persyaratan disk booting untuk Batch, lihat dokumen ini dan lihat Ringkasan lingkungan OS VM. Untuk mengetahui petunjuk cara membuat boot disk, lihat Membuat boot disk yang disesuaikan dalam dokumentasi Compute Engine.

    2. Buat atau identifikasi template instance VM yang menyertakan disk boot kustom ini.

      Untuk mengetahui petunjuk cara membuat template instance VM, lihat Membuat template instance dalam dokumentasi Compute Engine.

    3. Buat dan jalankan tugas yang menyertakan template instance VM ini.

      Untuk mengetahui petunjuk tentang cara membuat dan menjalankan tugas, lihat bagian Menentukan resource tugas menggunakan template instance VM.

  • Gunakan kolom boot disk untuk menentukan boot disk kustom baru. Seperti yang dijelaskan dalam petunjuk berikut, Anda dapat menentukan disk boot kustom baru menggunakan kolom disk boot (bootDisk) saat Anda membuat dan menjalankan tugas menggunakan gcloud CLI atau Batch API.

    Secara khusus, Anda dapat menyesuaikan boot disk dengan mengonfigurasi sub-field image OS VM (image), jenis persistent disk (type), dan/atau ukuran (sizeGb). Batch menetapkan nilai default untuk setiap sub-kolom yang Anda pilih untuk dihilangkan.

gcloud

  1. Buat file JSON yang menentukan detail konfigurasi tugas Anda. Untuk menentukan disk boot kustom baru bagi VM tugas, sertakan kolom dan sub-kolom bootDisk.

    Misalnya, untuk membuat tugas skrip dasar yang menggunakan disk boot kustom baru, buat file JSON dengan konten berikut:

    {
        "taskGroups": [
            {
                "taskSpec": {
                    "runnables": [
                        {
                            "script": {
                                "text": "echo Hello world from task ${BATCH_TASK_INDEX}."
                            }
                        }
                    ]
                },
                "taskCount": 3,
                "parallelism": 1
            }
        ],
        "allocationPolicy": {
          "instances": [
            {
              "policy": {
                "bootDisk": {
                  "image": "VM_OS_IMAGE_URI",
                  "type": "BOOT_DISK_TYPE",
                  "sizeGb": BOOT_DISK_SIZE
                }
              }
            }
          ]
        },
        "logsPolicy": {
        "destination": "CLOUD_LOGGING"
      }
    }
    

    Ganti kode berikut:

    • VM_OS_IMAGE_URI: nama resource relatif dari image OS VM. Gunakan salah satu opsi berikut:

      • Tentukan awalan Batch OS. Untuk menggunakan image terbaru Batch OS tertentu, gunakan format berikut:

        BATCH_OS_PREFIX
        

        Ganti BATCH_OS_PREFIX dengan salah satu awalan image OS VM Batch—misalnya, batch-debian adalah awalan untuk Batch Debian OS.

      • Tentukan kelompok image. Untuk menggunakan image terbaru dari kelompok image tertentu, gunakan format berikut:

        projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
        

        Ganti kode berikut:

        • IMAGE_PROJECT_ID: Project ID project yang berisi image. Misalnya, untuk semua image Batch, tentukan batch-custom-image.
        • IMAGE_FAMILY: kelompok image, yang mencakup satu atau beberapa image tertentu dan merepresentasikan jenis serta versi utama OS. Misalnya, untuk melihat semua kelompok image OS VM dari Batch, lihat daftar image OS VM.
      • Tentukan versi gambar. Untuk menggunakan image OS VM versi tertentu, gunakan format berikut:

        projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
        

        Ganti kode berikut:

        • IMAGE_PROJECT_ID: Project ID project yang berisi image. Misalnya, untuk semua image Batch, tentukan batch-custom-image.
        • IMAGE_NAME: nama image, yang mewakili versi tertentu dari image OS VM. Misalnya, untuk melihat semua versi image OS VM dari Batch, lihat daftar image OS VM.
    • BOOT_DISK_TYPE: jenis disk dari boot disk, yaitu pd-standard, pd-balanced, pd-ssd, atau pd-extreme. Jenis disk default untuk boot disk adalah pd-balanced.

    • BOOT_DISK_SIZE: ukuran persistent boot disk baru dalam GB. Nilai ini harus mematuhi semua persyaratan ukuran disk boot.

  2. Untuk membuat tugas, jalankan perintah gcloud batch jobs submit berikut:

    gcloud batch jobs submit JOB_NAME \
        --location LOCATION \
        --config JSON_CONFIGURATION_FILE
    

    Ganti kode berikut:

    • JOB_NAME: nama untuk tugas ini.
    • LOCATION: lokasi untuk tugas ini.
    • JSON_CONFIGURATION_FILE: jalur ke file JSON dengan detail konfigurasi tugas.

API

Untuk membuat tugas menggunakan Batch API, gunakan metode jobs.create dan tentukan detail konfigurasi tugas Anda. Untuk menentukan image OS VM untuk tugas, sertakan kolom dan sub-kolom bootDisk. Misalnya, untuk membuat tugas skrip dasar yang menggunakan disk boot kustom baru, buat permintaan POST berikut:

POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs?job_id=JOB_NAME

{
    "taskGroups": [
        {
            "taskSpec": {
                "runnables": [
                    {
                        "script": {
                            "text": "echo Hello world from task ${BATCH_TASK_INDEX}."
                        }
                    }
                ]
            },
            "taskCount": 3,
            "parallelism": 1
        }
    ],
    "allocationPolicy": {
      "instances": [
        {
          "policy": {
            "bootDisk": {
              "image": "VM_OS_IMAGE_URI",
              "type": "BOOT_DISK_TYPE",
              "sizeGb": BOOT_DISK_SIZE
            }
          }
        }
      ]
    },
    "logsPolicy": {
    "destination": "CLOUD_LOGGING"
  }
}

Ganti kode berikut:

  • VM_OS_IMAGE_URI: nama resource relatif dari image OS VM. Gunakan salah satu opsi berikut:

    • Tentukan awalan Batch OS. Untuk menggunakan image terbaru Batch OS tertentu, gunakan format berikut:

      BATCH_OS_PREFIX
      

      Ganti BATCH_OS_PREFIX dengan salah satu awalan image OS VM Batch—misalnya, batch-debian adalah awalan untuk Batch Debian OS.

    • Tentukan kelompok image. Untuk menggunakan image terbaru dari kelompok image tertentu, gunakan format berikut:

      projects/IMAGE_PROJECT_ID/global/images/family/IMAGE_FAMILY
      

      Ganti kode berikut:

      • IMAGE_PROJECT_ID: Project ID project yang berisi image. Misalnya, untuk semua image Batch, tentukan batch-custom-image.
      • IMAGE_FAMILY: kelompok image, yang mencakup satu atau beberapa image tertentu dan merepresentasikan jenis serta versi utama OS. Misalnya, untuk melihat semua kelompok image OS VM dari Batch, lihat daftar image OS VM.
    • Tentukan versi gambar. Untuk menggunakan image OS VM versi tertentu, gunakan format berikut:

      projects/IMAGE_PROJECT_ID/global/images/IMAGE_NAME
      

      Ganti kode berikut:

      • IMAGE_PROJECT_ID: Project ID project yang berisi image. Misalnya, untuk semua image Batch, tentukan batch-custom-image.
      • IMAGE_NAME: nama image, yang mewakili versi tertentu dari image OS VM. Misalnya, untuk melihat semua versi image OS VM dari Batch, lihat daftar image OS VM.
  • BOOT_DISK_TYPE: jenis disk dari boot disk, yaitu pd-standard, pd-balanced, pd-ssd, atau pd-extreme. Jenis disk default untuk boot disk adalah pd-balanced.

  • BOOT_DISK_SIZE: ukuran persistent boot disk baru dalam GB. Nilai ini harus mematuhi semua persyaratan ukuran disk boot.

Langkah berikutnya