Menentukan OS image VM untuk tugas

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

Untuk mempelajari image OS VM dan image OS VM yang dapat Anda gunakan lebih lanjut, 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 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 image OS VM. Seperti yang dijelaskan dalam petunjuk berikut, Anda dapat menentukan OS image 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 OS image 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.
  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 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 tugas ini.
  • JOB_NAME: nama untuk tugas ini.
  • 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.

Langkah selanjutnya