Memecahkan masalah grup instance terkelola


Ada beberapa masalah yang dapat menghalangi grup instance terkelola (MIG) berhasil membuat atau membuat ulang instance VM.

Jika log dibuat untuk MIG yang dihapus

Masalahnya mungkin terkait dengan situasi berikut.

Autoscaler yang terpasang masih ada

Jika Anda menghapus MIG menggunakan Compute Engine API dan Anda tidak mengeluarkan permintaan terpisah untuk menghapus autoscaler yang terpasang, Logs Explorer mungkin akan menampilkan log dengan pesan singkat berikut ini.

The resource 'projects/PROJECT/zones/ZONE/instanceGroupManagers/DELETED_INSTANCE_GROUP_NAME' was not found.

Penyelesaian:

Untuk mengatasinya, hapus autoscaler yang terpasang menggunakan metode Compute Engine API:

Jika MIG Anda tidak dapat membuat atau membuat ulang instance

Masalahnya mungkin terkait dengan situasi berikut.

Boot disk yang sudah ada

Secara default, persistent disk booting baru akan dibuat saat Anda membuat instance. Nama boot disk cocok dengan nama VM. Jika Anda memberi nama VM my-instance, disk juga akan diberi nama my-instance. Jika persistent disk dengan nama tersebut sudah ada, permintaan akan gagal. Untuk mengatasinya, Anda dapat mengambil snapshot, lalu menghapus persistent disk yang ada.

Template instance tidak valid

Jika Anda baru-baru ini memperbarui template instance, mungkin ada properti tidak valid yang menyebabkan MIG gagal membuat VM. Periksa properti jika ada error umum berikut:

  • Anda menentukan resource yang tidak ada, seperti image sumber.
  • Anda salah mengeja nama resource.
  • Anda mencoba memasang persistent disk non-booting yang sudah ada dalam mode baca/tulis, tetapi grup Anda berisi lebih dari satu VM. Untuk grup dengan lebih dari satu VM, setiap disk tambahan yang ingin Anda gunakan bersama di antara semua VM dalam grup hanya dapat dipasang dalam mode hanya baca.

Batas terlampaui untuk jenis resource

Error berikut terjadi saat Anda mencoba membuat lebih dari 2.000 VM di MIG regional atau lebih dari 1.000 VM di MIG zona. Anda telah mencapai batas ukuran untuk grup instance Anda.

Pesan error:

ERROR: (gcloud.compute.<INSTANCE_GROUP_TYPE>.<METHOD>) Could not
fetch resource:

 - Exceeded limit 'MAX_INSTANCES_IN_INSTANCE_GROUP' on resource 'PROJECT_ID'.
 Limit: NUMBER

Penyelesaian:

Untuk mengatasi masalah ini, coba salah satu langkah berikut:

Jika Anda tidak dapat menghapus MIG Anda atau instance-nya

Masalahnya mungkin terkait dengan situasi berikut.

Resource tidak ditemukan di zona atau region

Error berikut terjadi saat Anda mencoba menghapus MIG regional dan menentukan flag --zone, tanpa menentukan region atau region salah. Error serupa dapat terjadi jika Anda mencoba menghapus MIG zona dan menentukan flag --region.

Pesan error:

  • ERROR: (gcloud.compute.instance-groups.managed.delete) Some requests did not succeed:
    ‐ The resource 'projects/PROJECT/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME' was not found
    
  • ERROR: (gcloud.compute.instance-groups.managed.delete) Some requests did not succeed:
    ‐ The resource 'projects/PROJECT/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME' was not found
    

Penyelesaian:

Untuk mengatasi masalah ini, coba salah satu langkah berikut:

Resource digunakan oleh layanan backend

Anda tidak dapat menghapus grup instance jika grup tersebut digunakan oleh layanan backend load balancer. Anda harus menghapus instance dari layanan backend sebelum dapat menghapus grup instance.

Pesan error:

  • ERROR: (gcloud.compute.instance-groups.managed.delete) Some requests did not succeed:
    ‐ The instance_group_manager resource 'projects/PROJECT/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME is already being used by 'projects/PROJECT/global/backendServices/BACKEND_SERVICE
  • ERROR: (gcloud.compute.instance-groups.managed.delete) Some requests did not succeed:
    ‐ The instance_group_manager resource 'projects/PROJECT/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME is already being used by 'projects/PROJECT/global/backendServices/BACKEND_SERVICE

Penyelesaian:

  1. Opsional: Kosongkan grup instance backend.

  2. Hapus MIG dari layanan backend regional atau global.

    • Untuk MIG zona, jalankan perintah berikut:

      gcloud compute backend-services remove-backend BACKEND_SERVICE \
          --instance-group=INSTANCE_GROUP_NAME \
          --instance-group-zone=ZONE \
          [--region=REGION | --global]
      
    • Untuk MIG regional, jalankan perintah berikut:

      gcloud compute backend-services remove-backend BACKEND_SERVICE  \
          --instance-group=INSTANCE_GROUP_NAME \
          --instance-group-region=REGION \
          [--region=REGION | --global]
      
  3. Hapus MIG:

    gcloud compute instance-groups managed delete INSTANCE_GROUP_NAME
    

Jika MIG Anda terus-menerus mencoba membuat ulang instance

Masalahnya mungkin terkait dengan situasi berikut.

Pemeriksaan health check tidak dapat menjangkau instance

Jika Anda telah mengonfigurasi kebijakan autohealing, tetapi tidak mengonfigurasi—atau salah mengonfigurasi—aturan firewall yang memungkinkan pemeriksaan health check menjangkau aplikasi Anda, VM Anda akan tampak tidak responsif, dan MIG akan terus-menerus berupaya membuatnya kembali. Untuk informasi cara mengonfigurasi aturan firewall health check, lihat Contoh penyiapan health check.