Image Builder adalah alat penyesuaian image sistem operasi (OS) deklaratif yang berjalan dalam Google Cloud project Anda menggunakan Cloud Build. Alat ini mengotomatiskan proses pembuatan, penyesuaian, dan validasi image OS untuk membantu memverifikasi bahwa image tersebut melakukan booting dengan benar dan mengikuti persyaratan konfigurasi Anda sebelum Anda memublikasikannya untuk workload produksi.
Manfaat utama
Dengan mengotomatiskan siklus proses image OS kustom di dalam Google Cloud, Image Builder membantu Anda mengelola infrastruktur dan memvalidasi persyaratan konfigurasi. Image Builder menyediakan fitur berikut untuk build image OS kustom Anda:
- Mengotomatiskan pembuatan image OS: Membuat dan mempertahankan image OS kustom menggunakan resep YAML deklaratif dan otomatis alur kerja Cloud Build, tanpa memerlukan skrip kustom atau alat eksternal. Karena Image Builder berjalan dalam Cloud Build, Anda dapat menggunakan pemicu Cloud Build untuk otomatis meluncurkan build image pada peristiwa repositori (seperti Git push atau tag), menyiapkan jadwal berulang (misalnya, build mingguan untuk patch keamanan), atau merespons pesan Pub/Sub (untuk memicu build secara terprogram dari alur kerja atau webhook eksternal).
- Memvalidasi image sebelum memublikasikan: Memverifikasi image sebelum memublikasikannya. Pemeriksaan yang disediakan Google memvalidasi bahwa image perantara melakukan booting, mendukung Booting Aman (jika berlaku), memuat driver jaringan yang diperlukan, dan menjalankan agen tamu yang sehat.
- Melacak eksekusi skrip: Melacak kode yang berjalan selama pipeline build Anda. Image Builder otomatis mencatat hash SHA-256 kriptografi dari skrip penyesuaian inline Anda di dalam log build untuk mempertahankan jejak audit.
- Hanya membayar resource yang digunakan: Layanan Image Builder tersedia tanpa biaya tambahan. Anda hanya dikenai biaya untuk resource komputasi, penyimpanan, dan build yang mendasarinya yang digunakan saat pipeline Anda berjalan.
Cara kerja Image Builder
Image Builder berjalan di dalam project Google Cloud Anda menggunakan container pengatur Cloud Build. Proses build image terdiri dari fase berikut:
- Validasi dan persiapan: Container pengatur memeriksa sintaksis YAML dan memverifikasi bahwa semua API yang diperlukan diaktifkan dan izin keamanan Identity and Access Management (IAM) target aktif.
- Persiapan ruang kerja dan disk: Container pengatur mengarsipkan direktori ruang kerja Cloud Build (
/workspace) yang berisi kode sumber dan konfigurasi Anda ke dalam file tar terkompresi (.tar.gz) dan mengupload file tar ini ke bucket workdir Cloud Storage yang ditentukan dalam konfigurasi build Anda. Container pengatur kemudian menggunakan sistem file penyedia penyesuaian yang dikompilasi secara statis untuk membuat image Compute Engine sementara, yang menentukan disk data sekunder yang terpasang ke VM pekerja Anda. - Eksekusi VM pekerja: Container pengatur meluncurkan instance VM pekerja sementara menggunakan image sumber yang ditentukan sebagai disk booting dan memasang disk data sekunder yang berisi penyedia penyesuaian.
Properti hardware VM pekerja, jaringan VPC, subnetwork, dan penetapan IP eksternal—baik IP publik sementara atau tanpa IP eksternal—ditentukan oleh setelan
infrastructureConfigdalam fileimagebuilder.yamlAnda. - Penyesuaian: Skrip startup memasang disk data dan memulai penyedia penyesuaian pada worker VM. Penyedia mendownload arsip ruang kerja dan menerapkan penyesuaian yang Anda deklarasikan, seperti menjalankan skrip shell, menyalin file, atau mengompilasi driver. Penyedia juga melakukan sanitasi keamanan untuk membersihkan kunci SSH, ID mesin unik, dan histori log. Kemudian, penyedia akan menghentikan instance.
- Validasi (pengujian): Container orchestrator membuat OS image pengujian sementara dari boot disk yang disesuaikan dan menyediakan VM pengujian sementara menggunakan konfigurasi jaringan dan infrastruktur dalam file
imagebuilder.yamlAnda untuk menjalankan pemeriksaan validasi yang ditentukan sistem berikut:- Verifikasi driver Intel IDPF: Memverifikasi bahwa instance yang didukung memuat driver jaringan Intel Infrastructure Data Path Function (
idpf) dan bukan driver tampilan atau penggantian generik. - Verifikasi agen tamu dan jaringan: Mengonfirmasi bahwa layanan agen tamu aktif, setidaknya satu antarmuka jaringan non-loopback aktif, dan nama sesuai dengan konvensi (
eth*atauen*). - Verifikasi Booting Aman: Memastikan Booting Aman UEFI aktif dan sistem menerapkan verifikasi kernel tamu.
- Verifikasi penangguhan atau melanjutkan: Menangguhkan VM pengujian menggunakan Compute Engine API dan memverifikasi bahwa konektivitas jaringan dipulihkan setelah melanjutkan tanpa melakukan reboot sistem.
- Verifikasi driver Intel IDPF: Memverifikasi bahwa instance yang didukung memuat driver jaringan Intel Infrastructure Data Path Function (
- Rilis: Jika semua pemeriksaan validasi lulus, container pengatur akan menyiapkan image akhir:
- Jika Artifact Registry dikonfigurasi: Container pengatur mengekspor disk booting yang disesuaikan sebagai file tar ke repositori generik Artifact Registry dan membuat image Compute Engine produksi akhir menggunakan URI Artifact Registry sebagai sumbernya.
- Jika Artifact Registry tidak dikonfigurasi: Container pengatur membuat image Compute Engine langsung di project Anda menggunakan disk booting yang disesuaikan.
Pertimbangan harga dan kuota
Layanan Image Builder tersedia tanpa biaya tambahan. Namun, Google Cloud biaya untuk resource standar yang disediakan selama fase build, pengujian, dan rilis:
- Compute Engine: biaya untuk VM pekerja, VM pengujian, dan Persistent Disk terpasang.
- Cloud Build: biaya untuk menit runtime container pengatur.
- Cloud Storage: biaya untuk arsip ruang kerja, ekspor log, dan aset perantara.
- Artifact Registry: biaya untuk menyimpan file tar image yang diekspor, jika dikonfigurasi.
- Image kustom: biaya untuk menyimpan image pengujian, debug, dan produksi perantara.
Untuk mengetahui informasi mendetail tentang biaya resource, lihat dokumentasi harga untuk Compute Engine, Cloud Build, Cloud Storage, Artifact Registry, dan penyimpanan image kustom.
Persyaratan kuota
Pastikan project Anda memiliki kuota CPU Compute Engine dan Persistent Disk yang memadai di zona tempat Anda menjalankan build. Kuota yang tidak mencukupi di zona target akan menyebabkan pipeline gagal selama penyediaan VM.
Langkah berikutnya
- Menyiapkan lingkungan Anda untuk Image Builder.
- Membuat dan mengelola pipeline menggunakan konsol.
- Membuat dan mengelola pipeline secara terprogram.