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:
- Untuk autoscaler MIG zona, gunakan metode
autoscalers.delete
. - Untuk autoscaler dari MIG regional, gunakan metode
regionAutoscalers.delete
.
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 menggunakan MIG zona, gunakan MIG regional.
- Buat beberapa MIG dan bagi workload Anda di antaranya—misalnya dengan menyesuaikan konfigurasi load balancing Anda.
- Jika masih memerlukan grup yang lebih besar, Anda dapat meningkatkan batas ukuran MIG atau menghubungi dukungan untuk mengajukan permintaan.
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:
- Tambahkan flag
--region
atau--zone
yang sesuai ke perintah Anda - Tetapkan region dan zona default
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:
Opsional: Kosongkan grup instance backend.
Untuk load balancer proxy saja, Anda dapat menetapkan scaler kapasitas ke
0.0
sebelum menghapus grup instance dari layanan backend. Anda dapat menyetel scaler kapasitas ke nol menggunakan perintahgcloud compute backend-services edit
.Untuk load balancer proxy dan pass-through, jika Anda mengaktifkan pengosongan koneksi di layanan backend, Google Cloud akan berupaya mengizinkan koneksi lama agar dipertahankan, diselesaikan, dan dikosongkan setiap kali grup instance dihapus dari layanan backend.
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]
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.