Błędy aprowizacji rozszerzenia maszyny wirtualnej w zestawach skalowania maszyn wirtualnych
Ten artykuł zawiera wskazówki dotyczące rozwiązywania błędów VMExtensionProvisioningError, VMExtensionHandlerNonTransientError lub VMExtensionProvisioningTimeout występujących podczas próby wdrożenia, aktualizacji, odtworzenia obrazu, uruchomienia lub skalowania zestawu skalowania maszyn wirtualnych.
Uwaga 16.
W kontekście zestawów skalowania maszyn wirtualnych komunikat "MASZYNA wirtualna" w tych komunikatach o błędach odnosi się do wystąpienia w ramach określonego zestawu skalowania maszyn wirtualnych.
Symptomy
Zobaczysz błędy VMExtensionProvisioningError, VMExtensionHandlerNonTransientError lub VMExtensionProvisioningTimeout , jak w następujących przykładach:
'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.
Przyczyna
Rozszerzenie maszyny wirtualnej zawiesza się lub nie powiodło się podczas aprowizacji.
Uzyskaj więcej informacji o niepowodzeniu rozszerzenia
Aby rozpocząć rozwiązywanie tego błędu, należy najpierw określić, których rozszerzeń i wystąpień dotyczy problem. W tym celu uruchom następujące polecenie interfejsu wiersza polecenia platformy Azure (interfejs wiersza polecenia platformy Azure):
az vmss list-instances --resource-group MyResourceGroup --name MyVmss --query "[].{instanceId:instanceId, extension:resources[].id, extProvisioningState:resources[].provisioningState}"
Dane wyjściowe tego polecenia będą wyświetlać stany aprowizacji rozszerzeń w każdym wystąpieniu. Poniższe przykładowe dane wyjściowe pokazują, jak te informacje o rozszerzeniu są pogrupowane według identyfikatora wystąpienia.
W każdej sekcji poświęconej konkretnemu wystąpieniu lista "extProvisioningState" u góry zawiera stany aprowizacji rozszerzeń zainstalowanych w tym wystąpieniu. Po tej liście znajduje się lista "rozszerzenia", która wyświetla nazwy rozszerzeń w tej samej odpowiedniej kolejności.
Na przykład w poniższych przykładowych danych wyjściowych pierwszy stan aprowizacji w tym wystąpieniu "Niepowodzenie" odpowiada pierwszemu rozszerzeniu "customScript". Dopasowując stany aprowizacji do wymienionych rozszerzeń, można również określić, że w tym przykładzie drugie i trzecie wymienione rozszerzenia zostały pomyślnie aprowidowane w tym samym wystąpieniu.
Próba skalowania w poziomie zestawu skalowania maszyn wirtualnych
Jeśli rozszerzenie nie powiodło się w każdym wystąpieniu, dodaj nowe wystąpienia do zestawu skalowania maszyn wirtualnych i sprawdź, czy aprowizowanie rozszerzenia powiedzie się. Jeśli to się powiedzie, usuń wystąpienia, w których aprowizacja rozszerzenia nie powiodła się.
Odczytywanie dzienników dotyczących wystąpień, których to dotyczy
Aby uzyskać lepszy wgląd w przyczynę błędu, zaloguj się do wystąpień, których dotyczy problem. W zależności od systemu operacyjnego zestawu skalowania maszyn wirtualnych i rozszerzenia, których dotyczy problem, przejdź do odpowiednich dzienników i przejrzyj dotknięte ramy czasowe:
- Zestawy skalowania maszyn wirtualnych z systemem Windows: C:\WindowsAzure\logs\plugins\ExtensionName\Extension.log
- Zestawy skalowania maszyn wirtualnych z systemem Linux: /var/log/plugins/ExtensionName/Extension.log
Sprawdź, czy rozszerzenie, które zakończyło się niepowodzeniem, jest następujące najlepsze rozwiązania
Jeśli rozszerzenie można dostosować, takie jak rozszerzenie niestandardowego skryptu (CSE) lub Desired State Configuration (DSC), sprawdź, czy przestrzegasz wszystkich niezbędnych wymagań wstępnych i zalecanych najlepszych rozwiązań.
- Najlepsze rozwiązania dotyczące rozszerzenia niestandardowego skryptu
- Wymagania wstępne dotyczące konfiguracji żądanego stanu
Zainstaluj ponownie rozszerzenie
W bloku Rozszerzenia zestawu skalowania maszyn wirtualnych wybierz rozszerzenie z błędami aprowizacji.
Kliknij przycisk Odinstaluj.
W bloku Rozszerzenia kliknij pozycję Dodaj.
Wybierz i ponownie zainstaluj to samo rozszerzenie.
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.