Dokumen ini memberikan praktik terbaik untuk menggunakan kelompok image guna mengelola versi image sistem operasi (OS) yang terus berkembang di Compute Engine. Kelompok image memungkinkan Anda mengelompokkan image terkait, sehingga alat otomatisasi Anda dapat mereferensikan versi terbaru sekaligus mempertahankan kemampuan untuk melakukan roll back.
Sebelum memulai
-
Siapkan autentikasi jika Anda belum melakukannya.
Autentikasi memverifikasi identitas Anda untuk mengakses layanan Google Cloud dan API. Untuk menjalankan
kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke
Compute Engine dengan memilih salah satu opsi berikut:
Pilih tab untuk melihat bagaimana Anda berencana menggunakan contoh di halaman ini:
gcloud
-
Instal Google Cloud CLI. Setelah penginstalan, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
- Tetapkan region dan zona default.
REST
Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.
Instal Google Cloud CLI.
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud .
Kelompok image publik
Compute Engine menyediakan kelompok image
untuk membantu Anda memastikan bahwa sistem otomatisasi Anda dapat mereferensikan image terbaru.
Sebagai administrator, Anda dapat mengelompokkan sekumpulan gambar sebagai kelompok gambar. Kemudian, pengguna image hanya perlu melacak nama kelompok image, bukan nama image yang tepat. Karena nama image harus unik, pipeline build image sering kali membuat nama image dengan informasi yang dienkode di dalamnya, seperti nama aplikasi, tanggal, dan versi, misalnya, my-application-v3-20210101.
Di alat otomatisasi, Anda dapat merujuk nama kelompok gambar, bukan memperbarui nama gambar secara berkala. Dengan menggunakan kelompok image, Anda akan selalu mengakses image terbaru dalam kelompok tersebut, misalnya, my-application.
Image publik dikelompokkan ke dalam kelompok image. Kelompok image publik selalu mengarah ke versi terbaru image yang tersedia di setiap zona. Saat image baru dirilis secara global, ketersediaannya awal dalam kelompok image bergantung pada zona, yang meningkatkan toleransi kesalahan zonal untuk alur kerja Anda selama update image Google.
Selama peluncuran image, versi terbaru image dalam kelompok image
mungkin berbeda di zona yang berbeda. Misalnya, kelompok image debian-12 dalam project
debian-cloud selalu mengarah ke image Debian 12 terbaru, tetapi
image Debian 12 terbaru di zona us-central1-a dan southamerica-east1-b
mungkin berbeda.
Saat Anda membuat VM dari kelompok image menggunakan Google Cloud CLI, Compute Engine akan menggunakan image terbaru yang tersedia di zona VM untuk permintaan Anda. Saat Anda membuat VM menggunakan konsol Google Cloud , Compute Engine hanya menampilkan image publik yang tersedia di zona yang Anda pilih. Jika Anda ingin
membuat VM menggunakan image terbaru yang tersedia secara global, gunakan
perintah gcloud CLI instances create
dan tentukan --image-family-scope=global.
Melihat versi gambar terbaru yang tersedia
Anda dapat melihat image terbaru yang tersedia secara global dalam kelompok image, atau melihat image terbaru yang tersedia di zona tertentu.
Secara global
Untuk melihat image terbaru yang tersedia secara global dalam kelompok image, gunakan salah satu metode berikut:
gcloud
Gunakan
perintah gcloud compute images describe-from-family:
gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT
Ganti kode berikut:
IMAGE_FAMILY_NAME: nama kelompok image yang ingin Anda cari. Untuk mengetahui daftar lengkap nama kelompok image, lihat Detail sistem operasi.IMAGE_PROJECT: nama project gambar. Untuk daftar lengkap nama project image, lihat Detail sistem operasi.
REST
Buat permintaan GET ke
metode images.getFromFamily:
GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY_NAME
Ganti kode berikut:
IMAGE_PROJECT: nama project gambar. Untuk mengetahui daftar lengkap nama project image, lihat Detail sistem operasi.IMAGE_FAMILY_NAME: nama family image yang ingin Anda cari. Untuk mengetahui daftar lengkap nama kelompok image, lihat Detail sistem operasi.
Per zona
Untuk melihat image terbaru yang tersedia dalam kelompok image untuk zona tertentu, gunakan salah satu metode berikut:
gcloud
Gunakan perintah gcloud compute images describe-from-family dengan flag --zone:
gcloud compute images describe-from-family IMAGE_FAMILY_NAME \ --project=IMAGE_PROJECT \ --zone=ZONE
Ganti kode berikut:
IMAGE_FAMILY_NAME: nama family image yang ingin Anda cari. Untuk mengetahui daftar lengkap nama kelompok image, lihat Detail sistem operasi.IMAGE_PROJECT: nama project gambar. Untuk mengetahui daftar lengkap nama project image, lihat Detail sistem operasi.ZONE: zona yang ingin Anda kueri.
REST
Buat permintaan GET ke
metode imageFamilyViews:
GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/zones/ZONE/imageFamilyViews/IMAGE_FAMILY_NAME
Ganti kode berikut:
IMAGE_PROJECT: nama project gambar. Untuk daftar lengkap nama project image, lihat Detail sistem operasi.ZONE: zona yang ingin Anda kueri.IMAGE_FAMILY_NAME: nama family image yang ingin Anda cari. Untuk mengetahui daftar lengkap nama kelompok image, lihat Detail sistem operasi.
Kelompok image kustom
Anda dapat membuat kelompok gambar kustom untuk gambar kustom Anda. Kelompok image mengarah ke image terbaru yang Anda gunakan untuk membuat kelompok image. Untuk me-roll kembali kelompok image ke versi image sebelumnya, Anda dapat menghentikan penggunaan image terbaru dalam kelompok tersebut, asalkan image sebelumnya tidak dihentikan penggunaannya. Untuk mengetahui informasi selengkapnya, lihat Menyetel versi image dalam kelompok image.
Untuk membuat image dengan kelompok image, atau membuat kelompok image jika belum ada, Anda harus menambahkan tanda --family tambahan ke langkah pembuatan image, misalnya:
gcloud compute images create my-application-v3-20210101 \
--source-disk my-application-disk-1 \
--source-disk-zone us-central1-f \
--family my-application
Setelah Anda menjalankan perintah ini, setiap panggilan untuk menjalankan instance berdasarkan image
my-application akan mengarah ke image yang baru dibuat, my-application-v3-20210101.
Saat memilih nama untuk kelompok image, tinjau Konvensi penamaan.
Cara menggunakan keluarga gambar
Meskipun kelompok image memungkinkan Anda mereferensikan image terbaru, image terbaru mungkin menyebabkan ketidakcocokan dengan aplikasi Anda, yang dapat menyebabkan masalah di lingkungan produksi jika tidak divalidasi. Jika Anda ingin memanfaatkan manfaat kelompok image sekaligus mengurangi risiko, sebaiknya uji image terbaru yang dirujuk dari kelompok image sebelum menggunakannya di lingkungan produksi Anda.
Singkatnya, Anda dapat mempertimbangkan pendekatan berikut:
- Siapkan lingkungan pengujian yang terpisah dari lingkungan produksi Anda.
- Di lingkungan pengujian, selesaikan langkah-langkah berikut:
- Buat kelompok image kustom dari kelompok image sumber.
- Verifikasi stabilitas image baru di kelompok image kustom terhadap workload Anda.
- Setelah diverifikasi, pindahkan kelompok image kustom ini ke lingkungan produksi.
Misalnya, prosesnya mungkin menyerupai prosedur berikut.
Di project pengujian, buat image dari kelompok image sumber. Kelompok sumber gambar baru ini juga harus memiliki kelompok gambar kustomnya sendiri untuk dirujuk di lingkungan pengujian. Untuk membuat image dengan kelompok image kustom, jalankan perintah berikut:
gcloud compute images create test-image-name \ --source-image-project source-project \ --source-image-family source-image-family \ --project test-project \ --family test-image-family
Ganti kode berikut:
test-image-name: nama gambar pengujian Anda.source-project: project tempat keluarga image sumber berada.source-image-family: nama kelompok image sumber.test-project: nama project pengujian yang ingin Anda tambahkan kelompok image-nya.test-image-family: nama kelompok image pengujian Anda.
Dengan menggunakan kelompok image kustom
test-image-family, buat VM untuk menguji workload Anda. Untuk membuat VM, jalankan perintah berikut:gcloud compute instances create test-instance-name \ --image-family your-test-image-family \ --project test-project
Ganti kode berikut:
test-instance-name: nama instance pengujian Anda.test-image-family: nama kelompok image pengujian Anda.test-project: nama project pengujian Anda.
Setelah Anda memvalidasi bahwa image ini berfungsi dengan baik untuk workload Anda, salin image ke lingkungan produksi Anda.
gcloud compute images create prod-image-name \ --source-image-family test-image-family \ --source-image-project test-project \ --project prod-project \ --family prod-image-family
Ganti kode berikut:
prod-image-name: nama image produksi Anda.test-image-family: nama kelompok image pengujian Anda.test-project: project tempat kelompok gambar uji berada.prod-project: nama project Anda yang berada di lingkungan produksi.prod-image-family: nama kelompok image yang ingin Anda gunakan di lingkungan produksi.