Plusieurs problèmes peuvent empêcher un groupe d'instances géré de créer ou de recréer une instance de VM.
Si des journaux sont générés pour un MIG supprimé
Le problème peut être lié aux situations suivantes :
L'autoscaler associé existe toujours
Si vous avez supprimé un MIG à l'aide de l'API Compute Engine et que vous n'avez pas envoyé de requête distincte pour supprimer l'autoscaler associé, l'explorateur de journaux peut afficher les journaux avec le message suivant.
The resource 'projects/PROJECT/zones/ZONE/instanceGroupManagers/DELETED_INSTANCE_GROUP_NAME' was not found.
Solution :
Pour résoudre ce problème, supprimez l'autoscaler associé à l'aide des méthodes de l'API Compute Engine :
- Pour un autoscaler d'un MIG zonal, utilisez la méthode
autoscalers.delete
. - Pour un autoscaler d'un MIG régional, utilisez la méthode
regionAutoscalers.delete
.
Si votre MIG ne peut pas créer ou recréer des instances
Le problème peut être lié aux situations suivantes :
Le disque de démarrage existe déjà
Par défaut, un disque persistant de démarrage est créé lorsque vous créez une instance.
Le nom du disque de démarrage correspond au nom de la VM. Si vous nommez la VM my-instance
, le disque est également nommé my-instance
. Cependant, si un disque persistant existant porte déjà ce nom, la requête échoue. Pour résoudre ce problème, vous pouvez éventuellement prendre un instantané puis supprimer le disque persistant existant.
Le modèle d'instance n'est pas valide
Si vous avez récemment mis à jour votre modèle d'instance, il se peut qu'une propriété non valide empêche le MIG de créer la VM. Examinez les propriétés pour identifier les erreurs courantes suivantes :
- Vous avez spécifié une ressource qui n'existe pas, telle qu'une image source.
- Vous avez mal orthographié un nom de ressource.
- Vous avez essayé d'associer un disque persistant non amorçable existant en mode lecture/écriture, mais votre groupe contient plusieurs VM. Pour les groupes comportant plusieurs VM, les disques supplémentaires que vous souhaitez partager entre toutes les VM du groupe ne peuvent être associés qu'en mode lecture seule.
Limite dépassée pour le type de ressource
L'erreur suivante se produit lorsque vous essayez de créer plus de 2 000 VM dans un MIG régional ou plus de 1 000 VM dans un MIG zonal. Vous avez atteint la taille maximale pour votre groupe d'instances.
Message d'erreur :
ERROR: (gcloud.compute.<INSTANCE_GROUP_TYPE>.<METHOD>) Could not fetch resource: - Exceeded limit 'MAX_INSTANCES_IN_INSTANCE_GROUP' on resource 'PROJECT_ID'. Limit: NUMBER
Solution :
Pour résoudre ce problème, essayez l'une des solutions suivantes :
- Si vous utilisez un MIG zonal, utilisez plutôt un MIG régional.
- Créez plusieurs MIG et répartissez votre charge de travail entre eux, par exemple en ajustant votre configuration d'équilibrage de charge.
- Si vous avez toujours besoin d'un groupe plus important, vous pouvez augmenter la taille maximale de votre MIG ou contacter l'assistance pour effectuer une requête.
Si vous ne pouvez pas supprimer votre MIG ou ses instances
Le problème peut être lié à la situation suivante.
Ressource introuvable dans la zone ou la région
L'erreur suivante se produit lorsque vous essayez de supprimer un MIG régional et que vous spécifiez l'option --zone
, ne spécifiez aucune région ou spécifiez une région incorrecte.
Une erreur similaire peut se produire si vous essayez de supprimer un MIG zonal et que vous spécifiez l'option --region
.
Message d'erreur :
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
Solution :
Pour résoudre ce problème, essayez l'une des solutions suivantes :
- Ajoutez l'option
--region
ou--zone
appropriée à votre commande. - Définissez une région et une zone par défaut.
La ressource est utilisée par un service de backend
Vous ne pouvez pas supprimer un groupe d'instances lorsqu'il est utilisé par le service de backend d'un équilibreur de charge. Vous devez supprimer l'instance du service de backend avant de pouvoir supprimer le groupe d'instances.
Message d'erreur :
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
Solution :
Facultatif : drainez le groupe d'instances backend.
Pour les équilibreurs de charge proxy uniquement, vous pouvez définir le scaler de capacité sur
0.0
avant de supprimer le groupe d'instances d'un service backend. Vous pouvez définir le scaler de capacité sur zéro à l'aide de la commandegcloud compute backend-services edit
.Pour les équilibreurs de charge proxy et directs, si vous activez le drainage de connexion sur le service de backend, Google Cloud tente d'autoriser la persistance, l'achèvement et le drainage des connexions existantes lorsqu'un groupe d'instances est supprimé d'un service de backend
Supprimez le MIG du service de backend régional ou global.
Pour un MIG zonal, exécutez la commande suivante :
gcloud compute backend-services remove-backend BACKEND_SERVICE \ --instance-group=INSTANCE_GROUP_NAME \ --instance-group-zone=ZONE \ [--region=REGION | --global]
Pour un MIG régional, exécutez la commande suivante :
gcloud compute backend-services remove-backend BACKEND_SERVICE \ --instance-group=INSTANCE_GROUP_NAME \ --instance-group-region=REGION \ [--region=REGION | --global]
Supprimez le MIG :
gcloud compute instance-groups managed delete INSTANCE_GROUP_NAME
Si votre MIG tente en permanence de recréer des instances
Le problème peut être lié à la situation suivante.
Les vérifications d'état ne peuvent pas atteindre l'instance
Si vous avez configuré une règle d'autoréparation, mais que vous n'avez pas configuré (ou mal configuré) la règle de pare-feu qui permet aux vérifications d'état d'atteindre votre application, vos VM ne semblent pas opérationnelles et le MIG tente constamment de les recréer. Pour en savoir plus sur la configuration d'une règle de pare-feu de vérification d'état, consultez cet exemple de configuration de vérification d'état.