Praktik terbaik kelompok image


Dokumen ini menjelaskan praktik terbaik saat menggunakan kelompok image di Compute Engine.

Sebelum memulai

  • Jika Anda belum melakukannya, siapkan autentikasi. Autentikasi adalah proses verifikasi identitas Anda untuk mengakses layanan dan API Google Cloud. Untuk menjalankan kode atau contoh dari lingkungan pengembangan lokal, Anda dapat mengautentikasi ke Compute Engine dengan memilih salah satu opsi berikut:

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Untuk menggunakan contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Untuk 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 dapat mereferensikan image terbaru. Sebagai administrator, Anda dapat mengelompokkan sekumpulan gambar sebagai kelompok image. 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, tanggal, dan versi aplikasi, misalnya, my-application-v3-20210101. Di alat otomatisasi, Anda dapat mereferensikan nama keluarga image, bukan harus memperbarui nama image secara berkala. Menggunakan kelompok image memastikan bahwa Anda selalu mengakses image terbaru dalam kelompok, misalnya, my-application.

Kelompok image.

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, ketersediaan awalnya dalam kelompok image bergantung pada zona, yang meningkatkan toleransi error 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-10 dalam project debian-cloud selalu mengarah ke image Debian 10 terbaru, tetapi image Debian 10 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 instances create gcloud CLI dan tentukan --image-family-scope=global.

Melihat versi image 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 jenis 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 telusuri. Untuk mengetahui daftar lengkap nama kelompok image, lihat Detail sistem operasi.
  • IMAGE_PROJECT: nama project image. 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 image. Untuk daftar lengkap nama project image, lihat Detail sistem operasi.
  • IMAGE_FAMILY_NAME: nama keluarga image yang ingin Anda telusuri. 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 keluarga image yang ingin Anda telusuri. Untuk mengetahui daftar lengkap nama kelompok image, lihat Detail sistem operasi.
  • IMAGE_PROJECT: nama project image. Untuk daftar lengkap nama project image, lihat Detail sistem operasi.
  • ZONE: zona yang ingin Anda buat kuerinya.

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 image. Untuk daftar lengkap nama project image, lihat Detail sistem operasi.
  • ZONE: zona yang ingin Anda buat kuerinya.
  • IMAGE_FAMILY_NAME: nama kelompok image yang ingin Anda telusuri. Untuk mengetahui daftar lengkap nama kelompok image, lihat Detail sistem operasi.

Kelompok image kustom

Anda dapat membuat kelompok image kustom untuk image kustom. 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 informasi selengkapnya, lihat Menyetel versi image dalam kelompok image.

Untuk membuat image dengan kelompok image, atau untuk membuat kelompok image jika tidak ada, Anda harus menambahkan flag --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 grup gambar

Meskipun kelompok image memungkinkan Anda mereferensikan image terbaru, image terbaru mungkin menyebabkan inkompatibilitas 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.

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 dalam kelompok image kustom terhadap workload Anda.
  • Setelah diverifikasi, pindahkan kelompok image kustom ini ke lingkungan produksi.

Misalnya, prosesnya mungkin menyerupai prosedur berikut.

  1. Dalam project pengujian, buat image dari kelompok image sumber. Grup sumber gambar baru ini juga harus memiliki grup 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 image pengujian Anda.
    • source-project: project tempat keluarga image sumber berada.
    • source-image-family: nama grup image sumber.
    • test-project: nama project pengujian tempat Anda ingin menambahkan kelompok image.
    • test-image-family: nama kelompok image pengujian Anda.
  2. 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.
  3. Setelah memvalidasi bahwa image ini berfungsi dengan baik untuk workload Anda, salin image ke lingkungan produksi.

    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 pengujian berada.
    • prod-project: nama project Anda yang berada di lingkungan produksi.
    • prod-image-family: nama kelompok image yang ingin Anda gunakan di lingkungan produksi.