Erreurs d’approvisionnement d’extensions de machine virtuelle dans les groupes de machines virtuelles identiques
Cet article fournit des conseils sur la résolution des erreurs VMExtensionProvisioningError, VMExtensionHandlerNonTransientError ou VMExtensionProvisioningTimeout qui s’affichent lorsque vous tentez de déployer, mettre à jour, reimager, démarrer ou mettre à l’échelle un groupe de machines virtuelles identiques.
Note
Dans le contexte des groupes de machines virtuelles identiques, la « machine virtuelle » dans ces messages d’erreurs fait référence à une instance au sein d’un groupe de machines virtuelles identiques spécifique.
Symptômes
Vous voyez les erreurs VMExtensionProvisioningError, VMExtensionHandlerNonTransientError ou VMExtensionProvisioningTimeout , comme dans les exemples suivants :
'statusMessage': '{\\'status\\':\\'Failed\\',\\'error\\':{\\'code\\':\\'ResourceOperationFailure\\',\\'message\\':\\'The resource operation completed with terminal provisioning state 'Failed'.\\',\\'details\\':[{\\'code\\':\\'VMExtensionProvisioningError\\',\\'message\\':\\'Multiple VM extensions failed to be provisioned on the VM. Please see the VM extension instance view for other failures.
{'status': 'Failed','error': {'code':'VMExtensionHandlerNonTransientError','message': 'The handler for VM extension type 'Microsoft.EnterpriseCloud.Monitoring.OmsAgentForLinux' has reported terminal failure for VM extension 'OmsAgentForLinux' with error message: '[ExtensionOperationError] Non-zero exit code: 10
'statusMessage': '{\\'status\\':\\'Failed\\',\\'error\\':{\\'code\\':\\'ResourceOperationFailure\\',\\'message\\':\\'The resource operation completed with terminal provisioning state 'Failed'.\\',\\'details\\':[{\\'code\\':\\'VMExtensionProvisioningTimeout\\',\\'message\\':\\'Provisioning of VM extension configure-settings has timed out. Extension provisioning has taken too long to complete.
Cause
Une extension de machine virtuelle est suspendue ou a échoué pendant l’état d’approvisionnement.
Obtenir plus d’informations sur l’échec de l’extension
Pour commencer à résoudre cette erreur, vous devez d’abord déterminer quelles extensions et instances sont affectées. Pour ce faire, exécutez la commande d’interface de ligne de commande Azure (Azure CLI) suivante :
az vmss list-instances --resource-group MyResourceGroup --name MyVmss --query "[].{instanceId:instanceId, extension:resources[].id, extProvisioningState:resources[].provisioningState}"
La sortie de cette commande affiche les états d’approvisionnement des extensions sur chaque instance. L’exemple de sortie suivant montre comment ces informations d’extension sont regroupées par ID d’instance.
Dans chaque section dédiée à une instance particulière, la liste « extProvisioningState » en haut affiche les états d’approvisionnement des extensions installées sur cette instance. Cette liste est suivie de la liste « extension », qui affiche les noms des extensions dans le même ordre correspondant.
Par exemple, dans l’exemple de sortie suivant, le premier état d’approvisionnement dans cette instance, « Échec », correspond à la première extension , « customScript ». En faisant correspondre les états d’approvisionnement aux extensions répertoriées, vous pouvez également déterminer que dans cet exemple, les deuxième et troisième extensions répertoriées ont été correctement approvisionnées sur la même instance.
Tentative de scale-out du groupe de machines virtuelles identiques
Si l’extension n’a pas échoué sur chaque instance, ajoutez de nouvelles instances au groupe de machines virtuelles identiques et vérifiez si l’approvisionnement de l’extension réussit. Si elle réussit, supprimez les instances sur lesquelles l’approvisionnement d’extension a échoué.
Lire les journaux d’activité sur les instances concernées
Pour obtenir plus d’informations sur la cause de l’erreur, connectez-vous aux instances concernées. En fonction du système d’exploitation du groupe de machines virtuelles identiques et de l’extension affectée, accédez aux journaux appropriés et passez en revue le délai d’exécution concerné :
- Groupes de machines virtuelles identiques Windows : C :\WindowsAzure\logs\plugins\ExtensionName\Extension.log
- Groupes de machines virtuelles identiques Linux : /var/log/plugins/ExtensionName/Extension.log
Vérifiez que l’extension ayant échoué suit les bonnes pratiques
Si l’extension est personnalisable, telle que l’extension de script personnalisé (CSE) ou la configuration d’état souhaité (DSC), vérifiez que vous suivez toutes les conditions préalables nécessaires et les meilleures pratiques recommandées.
- Meilleures pratiques relatives à l’extension de script personnalisé
- Conditions préalables à la configuration de l’état souhaité
Réinstaller l’extension
Dans le panneau Extensions du groupe de machines virtuelles identiques, sélectionnez l’extension avec les erreurs d’approvisionnement.
Cliquez sur Désinstaller.
Dans le panneau Extensions , cliquez sur Ajouter.
Sélectionnez et réinstallez la même extension.
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.