Dokumen ini menjelaskan cara menggunakan Streaming gambar untuk menarik gambar penampung ke dalam tugas penampung Batch.
Streaming gambar memungkinkan tugas Batch diinisialisasi tanpa menunggu image container selesai didownload, yang memberikan manfaat berikut:
- Mengurangi latensi saat mengambil image berukuran besar
- Waktu yang lebih cepat untuk memulai eksekusi tugas
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 diperlukan untuk 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 adalah akun layanan Compute Engine default
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 (
Jika Anda belum melakukannya, aktifkan Container File System API dengan menjalankan perintah berikut:
gcloud services enable containerfilesystem.googleapis.com
- Jika image container Anda dilindungi oleh Kontrol Layanan VPC, update perimeter layanan Anda agar menyertakan
containerfilesystem.googleapis.com
.
Batasan
Streaming Batch Image memiliki batasan berikut:
- Batch hanya mendukung Streaming image untuk image container yang disimpan di Artifact Registry. Jika saat ini Anda menggunakan Container Registry untuk mengelola image container, Anda dapat beralih ke Artifact Registry.
- Anda harus menjalankan VM tugas Batch di lokasi yang sama dengan tempat Anda menyimpan image container di Artifact Registry.
- Container yang menggunakan manifes image Docker versi 2, skema 1 tidak didukung.
- Saat Anda menggunakan Streaming gambar,
penampung yang dapat dijalankan
hanya mendukung kolom berikut:
imageUri
commands
entrypoint
volumes
enableImageStreaming
- Gambar penampung dengan lapisan kosong atau lapisan duplikat tidak didukung.
Membuat tugas yang menggunakan Streaming gambar
Buat tugas penampung Batch yang menggunakan streaming Image dengan melakukan hal berikut:
Gunakan Google Cloud CLI atau REST API untuk membuat tugas container.
Guna mengaktifkan streaming Image untuk container yang dapat dijalankan, tetapkan
kolom enableImageStreaming
ke true
dan tetapkan kolom imageUri
ke image
yang disimpan di
lokasi Artifact Registry
yang berisi lokasi VM tugas.
"container": {
...
"enableImageStreaming": true
}
Misalnya, tugas yang menggunakan Streaming gambar akan memiliki file konfigurasi JSON yang mirip dengan berikut ini:
{
"taskGroups": [
{
"taskCount": "1",
"taskCountPerNode": "1",
"taskSpec": {
"runnables": [
{
"container": {
"imageUri": "LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY/IMAGE:TAG",
"enableImageStreaming": true
}
}
]
}
}
],
"allocationPolicy": {
"instances": [
{
"policy": {
"machineType": "e2-standard-4"
}
}
]
},
"logsPolicy": {
"destination": "CLOUD_LOGGING"
}
}
Ganti nilai berikut:
LOCATION
: lokasi regional atau multi-regional dari repositori tempat gambar disimpan, misalnyaus-east1
atauus
. Lokasi container harus sama dengan lokasi VM tugas Batch.PROJECT-ID
: project yang berisi image penampung. Jika project ID Anda berisi titik dua (:
), lihat Project cakupan domain.REPOSITORY
: nama repositori tempat gambar disimpan.IMAGE
: nama image container.TAG
: tag yang diterapkan pada gambar.
Langkah selanjutnya
- Jika Anda mengalami masalah saat membuat atau menjalankan tugas, lihat Pemecahan masalah.
- Melihat tugas dan tugas.
- Pelajari opsi pembuatan lowongan lebih lanjut.