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 yang digunakan untuk memverifikasi identitas Anda untuk mengakses Google Cloud layanan dan API. Untuk menjalankan kode atau sampel dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi 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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      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.

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

        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 gambar 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 mereferensikan nama kelompok image, bukan memperbarui nama image secara berkala. Dengan menggunakan kelompok image, Anda akan selalu mengakses image terbaru dalam kelompok tersebut, 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 di kelompok image bergantung pada zona, yang meningkatkan toleransi kesalahan per zona 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 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 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.

  1. 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 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.
  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 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 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.