Fehler bei der Bereitstellung von VM-Erweiterungen in Virtual Machine Scale Sets
Dieser Artikel enthält Anleitungen zum Beheben von VMExtensionProvisioningError-, VMExtensionHandlerNonTransientError- oder VMExtensionProvisioningTimeout-Fehlern , die angezeigt werden, wenn Sie versuchen, eine VM-Skalierungsgruppe bereitzustellen, zu aktualisieren, ein Reimaging durchzuführen, zu starten oder zu skalieren.
Hinweis
Im Kontext von Virtual Machine Scale Sets bezieht sich die "VM" in diesen Fehlermeldungen auf einen instance innerhalb einer bestimmten VM-Skalierungsgruppe.
Problembeschreibung
Die Fehler VMExtensionProvisioningError, VMExtensionHandlerNonTransientError oder VMExtensionProvisioningTimeout werden wie in den folgenden Beispielen angezeigt:
'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.
Ursache
Eine VM-Erweiterung hängt nicht oder ist während des Bereitstellungszustands fehlgeschlagen.
Weitere Informationen zu Erweiterungsfehlern
Um mit der Behebung dieses Fehlers zu beginnen, sollten Sie zunächst ermitteln, welche Erweiterungen und instance betroffen sind. Führen Sie dazu den folgenden Azure-Befehlszeilenschnittstellenbefehl (Azure CLI) aus:
az vmss list-instances --resource-group MyResourceGroup --name MyVmss --query "[].{instanceId:instanceId, extension:resources[].id, extProvisioningState:resources[].provisioningState}"
Die Ausgabe dieses Befehls zeigt die Bereitstellungsstatus der Erweiterungen auf jedem instance an. Die folgende Beispielausgabe zeigt, wie diese Erweiterungsinformationen nach instance-ID gruppiert werden.
In jedem Abschnitt, der einem bestimmten instance gewidmet ist, zeigt die Liste "extProvisioningState" oben die Bereitstellungsstatus der erweiterungen an, die auf diesem instance installiert sind. Auf diese Liste folgt die Erweiterungsliste, in der die Namen der Erweiterungen in der gleichen Reihenfolge angezeigt werden.
In der folgenden Beispielausgabe entspricht beispielsweise der erste Bereitstellungsstatus in diesem instance "Failed" (Fehler) der ersten Erweiterung "customScript". Indem Sie die Bereitstellungsstatus mit den aufgeführten Erweiterungen abgleichen, können Sie auch feststellen, dass in diesem Beispiel die zweite und dritte aufgeführte Erweiterung erfolgreich auf demselben instance bereitgestellt wurden.
Versuchen Sie, die VM-Skalierungsgruppe zu horizontal hochzuskalieren.
Wenn bei der Erweiterung nicht bei jedem instance ein Fehler aufgetreten ist, fügen Sie der VM-Skalierungsgruppe neue Instanzen hinzu, und überprüfen Sie, ob die Bereitstellung der Erweiterung erfolgreich ist. Wenn dies erfolgreich ist, löschen Sie die Instanzen, für die bei der Erweiterungsbereitstellung ein Fehler aufgetreten ist.
Lesen von Protokollen für betroffenen Instanzen
Melden Sie sich bei den betroffenen Instanzen an, um weitere Einblicke in die Fehlerursache zu erhalten. Navigieren Sie abhängig vom Betriebssystem der VM-Skalierungsgruppe und der betroffenen Erweiterung zu den entsprechenden Protokollen, und überprüfen Sie den betroffenen Zeitrahmen:
- Windows Virtual Machine Scale Sets: C:\WindowsAzure\logs\plugins\ExtensionName\Extension.log
- Linux-Virtual Machine Scale Sets: /var/log/plugins/ExtensionName/Extension.log
Vergewissern Sie sich, dass die fehlerhafte Erweiterung bewährte Methoden befolgt.
Wenn die Erweiterung anpassbar ist, z. B. benutzerdefinierte Skripterweiterung (Custom Script Extension, CSE) oder Desired State Configuration (DSC), vergewissern Sie sich, dass Sie alle erforderlichen Voraussetzungen und empfohlenen bewährten Methoden einhalten.
- Bewährte Methoden für benutzerdefinierte Skripterweiterungen
- Desired State Configuration Voraussetzungen
Erneutes Installieren der Erweiterung
Wählen Sie auf dem Blatt Erweiterungen der VM-Skalierungsgruppe die Erweiterung mit den Bereitstellungsfehlern aus.
Klicken Sie auf Deinstallieren.
Klicken Sie auf dem Blatt Erweiterungen auf Hinzufügen.
Wählen Sie dieselbe Erweiterung aus, und installieren Sie sie erneut.
Kontaktieren Sie uns für Hilfe
Wenn Sie Fragen haben oder Hilfe mit Ihren Azure-Gutschriften benötigen, dann erstellen Sie beim Azure-Support eine Support-Anforderung oder fragen Sie den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.