Membuat dan menjalankan tugas yang menggunakan boot disk kustom

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

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 boot disk dan kapan harus mengonfigurasi boot disk, lihat Ringkasan lingkungan VM OS.

Sebelum memulai

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 boot disk kustom yang sudah ada sebelumnya. Jika Anda ingin menggunakan template instance VM saat membuat tugas ini atau menggunakan boot disk kustom yang sudah ada sebelumnya, selesaikan langkah-langkah berikut:

    1. Buat atau identifikasi boot disk kustom.

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

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

      Untuk petunjuk cara membuat template instance VM, baca bagian Membuat template instance dalam dokumentasi Compute Engine.

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

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

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

    Secara khusus, Anda dapat menyesuaikan boot disk dengan mengonfigurasi subkolom image OS VM (image), jenis persistent disk (type), dan/atau ukuran (sizeGb). Batch menetapkan nilai default untuk salah satu subkolom ini yang Anda pilih untuk dihilangkan.

gcloud

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

    Misalnya, untuk membuat tugas skrip dasar yang menggunakan boot disk 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 OS image VM. Gunakan salah satu opsi berikut:

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

        BATCH_OS_PREFIX
        

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

      • Menentukan kelompok gambar. Untuk menggunakan gambar terbaru dari kelompok gambar 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 gambar, yang menyertakan satu atau beberapa gambar tertentu dan mewakili jenis dan versi utama OS. Misalnya, untuk melihat semua kelompok image OS VM dari Batch, lihat daftar image OS VM.
      • Menentukan versi image. Untuk menggunakan versi image OS VM 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, pd-standard, pd-balanced, pd-ssd, atau pd-extreme.

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

  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 pekerjaan ini.
    • LOCATION: lokasi untuk pekerjaan 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 subkolom bootDisk. Misalnya, untuk membuat tugas skrip dasar yang menggunakan boot disk 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 OS image VM. Gunakan salah satu opsi berikut:

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

      BATCH_OS_PREFIX
      

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

    • Menentukan kelompok gambar. Untuk menggunakan gambar terbaru dari kelompok gambar 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 gambar, yang menyertakan satu atau beberapa gambar tertentu dan mewakili jenis dan versi utama OS. Misalnya, untuk melihat semua kelompok image OS VM dari Batch, lihat daftar image OS VM.
    • Menentukan versi image. Untuk menggunakan versi image OS VM 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, pd-standard, pd-balanced, pd-ssd, atau pd-extreme.

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

Langkah selanjutnya