Membuat dan menjalankan tugas yang menggunakan disk booting kustom

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

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

Untuk mempelajari disk booting lebih lanjut 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 diperlukan untuk membuat tugas, minta administrator 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 disk booting kustom

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

  • Gunakan template instance Compute Engine yang menentukan disk booting 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. Membuat atau mengidentifikasi disk booting kustom.

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

    2. Buat atau identifikasi template instance VM yang menyertakan disk booting 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 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 dalam petunjuk berikut, Anda dapat menentukan disk booting kustom baru menggunakan kolom disk booting (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 disk persisten (type), dan/atau ukuran (sizeGb). Batch menetapkan nilai default untuk subkolom mana pun yang Anda pilih untuk dihilangkan.

gcloud

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

    Misalnya, untuk membuat tugas skrip dasar yang menggunakan disk booting 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 dari OS Batch 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 OS Debian Batch.

      • 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 menyertakan satu atau beberapa image tertentu dan mewakili jenis serta versi utama OS. Misalnya, untuk melihat semua kelompok image OS VM dari Batch, lihat daftar image OS VM.
      • Tentukan 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 OS image VM dari Batch, lihat daftar OS image VM.
    • BOOT_DISK_TYPE: jenis disk boot disk, baik 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 booting.

  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 subkolom bootDisk. Misalnya, untuk membuat tugas skrip dasar yang menggunakan disk booting 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 dari OS Batch 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 OS Debian Batch.

    • 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 menyertakan satu atau beberapa image tertentu dan mewakili jenis serta versi utama OS. Misalnya, untuk melihat semua kelompok image OS VM dari Batch, lihat daftar image OS VM.
    • Tentukan 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 OS image VM dari Batch, lihat daftar OS image VM.
  • BOOT_DISK_TYPE: jenis disk boot disk, baik 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 booting.

Langkah selanjutnya