Dokumen ini menjelaskan cara menentukan resource VM untuk tugas Batch dengan menentukan template instance VM Compute Engine saat Anda membuat tugas.
Jenis resource VM yang digunakan tugas untuk berjalan ditentukan secara otomatis oleh Batch, kecuali jika Anda menentukannya menggunakan salah satu metode berikut:
- Menentukan resource VM tugas secara langsung menggunakan kolom
instances[].policy. Metode ini ditunjukkan dalam sebagian besar dokumentasi Batch. Menentukan resource VM tugas melalui template menggunakan kolom
instances[].instanceTemplate. Metode ini dijelaskan dalam dokumen ini.Penggunaan template diperlukan untuk menentukan opsi VM yang tidak menyediakan kolom tugas untuk Batch. Penggunaan template juga dapat memudahkan jika Anda ingin menentukan resource VM yang sama untuk beberapa tugas.
Sebelum memulai
- Jika belum pernah menggunakan Batch, baca Mulai menggunakan Batch dan aktifkan Batch dengan menyelesaikan prasyarat untuk project dan pengguna.
- Buat template instance atau identifikasi template instance yang ada.
-
Untuk mendapatkan izin yang Anda perlukan untuk membuat tugas, minta administrator untuk memberi Anda peran IAM berikut:
- Batch Job Editor (
roles/batch.jobsEditor) di project - Pengguna Akun Layanan (
roles/iam.serviceAccountUser) di akun layanan tugas, yang secara default adalah akun layanan Compute Engine default -
Membuat tugas dari template instance VM Compute Engine:
Compute Viewer (
roles/compute.viewer) di template instance VM
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses ke project, folder, dan organisasi.
Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.
- Batch Job Editor (
Membuat tugas menggunakan template instance VM Compute Engine
Bagian ini memberikan contoh cara membuat tugas skrip dasar dari template instance VM yang ada. Anda dapat membuat tugas dari template instance VM menggunakan gcloud CLI, Batch API, Go, Java, Node.js, Python, atau C++.
gcloud
Untuk membuat tugas dari template instance VM menggunakan
gcloud CLI, gunakan perintah gcloud batch jobs submit command
dan tentukan template instance VM dalam file konfigurasi JSON tugas.
Misalnya, untuk membuat tugas skrip dasar dari template instance VM:
Buat file JSON di direktori saat ini yang bernama
hello-world-instance-template.jsondengan konten berikut:{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "echo Hello world! This is task ${BATCH_TASK_INDEX}. This job has a total of ${BATCH_TASK_COUNT} tasks." } } ], "computeResource": { "cpuMilli": 2000, "memoryMib": 16 }, "maxRetryCount": 2, "maxRunDuration": "3600s" }, "taskCount": 4, "parallelism": 2 } ], "allocationPolicy": { "instances": [ { "installGpuDrivers": INSTALL_GPU_DRIVERS, "instanceTemplate": "INSTANCE_TEMPLATE_NAME" } ] }, "labels": { "department": "finance", "env": "testing" }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }Ganti kode berikut:
INSTALL_GPU_DRIVERS: Opsional. Jika ditetapkan ketrue, Batch akan mengambil driver yang diperlukan untuk jenis GPU yang Anda tentukan dalam template instance VM Compute Engine, dan Batch akan menginstalnya untuk Anda. Untuk mengetahui informasi selengkapnya, lihat cara membuat tugas yang menggunakan GPU.INSTANCE_TEMPLATE_NAME: nama template instance VM Compute Engine yang ada. Pelajari cara membuat dan mencantumkan template instance.
Jalankan perintah berikut:
gcloud batch jobs submit example-template-job \ --location us-central1 \ --config hello-world-instance-template.json
API
Untuk membuat tugas dasar menggunakan Batch API, gunakan metode
jobs.createdan tentukan template instance VM di kolom allocationPolicy.
Misalnya, untuk membuat tugas skrip dasar dari template instance VM, gunakan permintaan berikut:
POST https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/jobs?job_id=example-script-job
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello world! This is task ${BATCH_TASK_INDEX}. This job has a total of ${BATCH_TASK_COUNT} tasks."
}
}
],
"computeResource": {
"cpuMilli": 2000,
"memoryMib": 16
},
"maxRetryCount": 2,
"maxRunDuration": "3600s"
},
"taskCount": 4,
"parallelism": 2
}
],
"allocationPolicy": {
"instances": [
{
"installGpuDrivers": INSTALL_GPU_DRIVERS,
"instanceTemplate": "INSTANCE_TEMPLATE_NAME"
}
]
},
"labels": {
"department": "finance",
"env": "testing"
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Ganti kode berikut:
PROJECT_ID: ID project Anda.INSTALL_GPU_DRIVERS: Opsional. Jika ditetapkan ketrue, Batch akan mengambil driver yang diperlukan untuk jenis GPU yang Anda tentukan dalam template instance VM Compute Engine, dan Batch akan menginstalnya untuk Anda. Untuk mengetahui informasi selengkapnya, lihat cara membuat tugas yang menggunakan GPU.INSTANCE_TEMPLATE_NAME: nama template instance VM Compute Engine yang ada. Pelajari cara membuat dan mencantumkan template instance.
Go
Go
Untuk mengetahui informasi selengkapnya, lihat Batch Go API dokumentasi referensi.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Java
Untuk mengetahui informasi selengkapnya, lihat Batch Java API dokumentasi referensi.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Node.js
Untuk mengetahui informasi selengkapnya, lihat dokumentasi referensi Batch Node.js API.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Python
Untuk mengetahui informasi selengkapnya, lihat Batch Python API dokumentasi referensi.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C++
C++
Untuk mengetahui informasi selengkapnya, lihat Batch C++ API dokumentasi referensi.
Untuk melakukan autentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah berikutnya
- Jika Anda mengalami masalah saat membuat atau menjalankan tugas, lihat Pemecahan masalah.
- Lihat tugas.
- Pelajari opsi pembuatan tugas lainnya.