Menentukan image OS VM untuk tugas

Halaman ini menjelaskan cara menentukan image sistem operasi (OS) untuk instance mesin virtual (VM) tempat tugas dijalankan. Jika Anda juga ingin menyesuaikan properti lain dari boot disk tugas, lihat Membuat dan menjalankan tugas yang menggunakan boot disk kustom.

Untuk mempelajari lebih lanjut image OS VM dan image OS VM yang dapat Anda gunakan, baca ringkasan lingkungan VM OS.

Sebelum memulai

Membuat dan menjalankan tugas yang menggunakan image OS VM tertentu

Tentukan image OS VM saat Anda membuat tugas dengan memilih salah satu metode berikut:

  • Gunakan template instance Compute Engine yang menentukan image OS VM. Jika ingin menggunakan template instance VM saat membuat tugas ini, Anda harus menentukan image OS VM di template instance VM. Untuk mengetahui petunjuknya, lihat Menentukan resource tugas menggunakan template instance VM.
  • Gunakan kolom VM OS image. Seperti yang dijelaskan oleh petunjuk berikut, Anda dapat menentukan image OS VM di kolom image menggunakan gcloud CLI atau Batch API.

gcloud

  1. Buat file JSON yang menentukan detail konfigurasi tugas Anda. Untuk menentukan image OS VM untuk tugas, sertakan kolom image.

    Misalnya, untuk membuat tugas skrip dasar yang menggunakan image OS VM tertentu, 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"
                }
              }
            }
          ]
        },
        "logsPolicy": {
        "destination": "CLOUD_LOGGING"
      }
    }
    

    Ganti VM_OS_IMAGE_URI dengan 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.
  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 image. Misalnya, untuk membuat tugas skrip dasar yang menggunakan image OS VM tertentu, 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"
            }
          }
        }
      ]
    },
    "logsPolicy": {
    "destination": "CLOUD_LOGGING"
  }
}

Ganti kode berikut:

  • PROJECT_ID: project ID project Anda.
  • LOCATION: lokasi untuk pekerjaan ini.
  • JOB_NAME: nama untuk pekerjaan ini.
  • 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.

Langkah selanjutnya