Dokumen ini menjelaskan cara menetapkan resource VM untuk tugas Batch dengan menentukan template instance VM Compute Engine saat Anda membuat tugas.
Jenis resource VM tempat tugas dijalankan
(subkolom instances[]
) otomatis
ditentukan oleh Batch, kecuali jika Anda menentukannya menggunakan
salah satu metode berikut:
- Gunakan kolom
policy
untuk menentukan resource VM tugas secara langsung, seperti yang ditunjukkan dalam Membuat tugas dasar. - Gunakan kolom
instanceTemplate
untuk menentukan resource VM tugas dengan menentukan template instance VM, seperti yang dijelaskan dalam dokumen ini. Metode ini diperlukan untuk membuat tugas yang menggunakan image VM non-default.
Sebelum memulai
- Jika belum pernah menggunakan Batch, baca Mulai menggunakan Batch dan aktifkan Batch dengan menyelesaikan prasyarat untuk project dan pengguna.
-
Untuk mendapatkan izin yang Anda perlukan guna membuat tugas, minta administrator untuk memberi Anda peran IAM berikut:
-
Batch Job Editor (
roles/batch.jobsEditor
) pada project -
Service Account User (
roles/iam.serviceAccountUser
) pada akun layanan tugas, yang secara default merupakan akun layanan Compute Engine default -
Buat tugas dari template instance VM Compute Engine:
Compute Viewer (
roles/compute.viewer
) pada template instance VM
Untuk mengetahui informasi selengkapnya tentang pemberian peran, lihat Mengelola akses.
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
dan tentukan template instance VM di file konfigurasi JSON tugas.
Misalnya, untuk membuat tugas skrip dasar dari template instance VM:
Buat file JSON di direktori saat ini bernama
hello-world-instance-template.json
dengan 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.create
dan 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
: project 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 Dokumentasi referensi API Batch Go.
Untuk mengautentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Java
Java
Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Batch Java.
Untuk mengautentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Node.js
Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Batch Node.js.
Untuk mengautentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Python
Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Batch Python.
Untuk mengautentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
C++
C++
Untuk mengetahui informasi selengkapnya, lihat Dokumentasi referensi API Batch C++.
Untuk mengautentikasi ke Batch, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, baca Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Langkah selanjutnya
- Jika Anda mengalami masalah saat membuat atau menjalankan tugas, lihat Pemecahan masalah.
- Melihat tugas dan tugas.
- Pelajari opsi penciptaan pekerjaan lainnya.