Błędy aprowizacji rozszerzenia maszyny wirtualnej w Virtual Machine Scale Sets
Ten artykuł zawiera wskazówki dotyczące rozwiązywania błędów VMExtensionProvisioningError, VMExtensionHandlerNonTransientError lub VMExtensionProvisioningTimeout , które pojawiają się podczas próby wdrożenia, zaktualizowania, odtworzenia, uruchomienia lub skalowania zestawu skalowania maszyn wirtualnych.
Uwaga
W kontekście Virtual Machine Scale Sets komunikaty "Maszyna wirtualna" w tych komunikatach o błędach odnoszą się do wystąpienia w określonym zestawie skalowania maszyn wirtualnych.
Symptomy
Zobaczysz błędy VMExtensionProvisioningError, VMExtensionHandlerNonTransientError lub VMExtensionProvisioningTimeout , jak w poniższych 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 wystąpiło niepowodzenie w stanie aprowizacji.
Uzyskaj więcej informacji na temat błędu 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:
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 dedykowanej konkretnemu wystąpieniu lista "extProvisioningState" u góry zawiera stany aprowizacji rozszerzeń zainstalowanych w tym wystąpieniu. Po tej liście znajduje się lista "extension", 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 aprowizowane 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 zakończy się pomyślnie. Jeśli to się powiedzie, usuń wystąpienia, w których aprowizowanie rozszerzenia nie powiodło się.
Odczytywanie dzienników dotyczących wystąpień, których dotyczy problem
Aby uzyskać dalszy 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 ramy czasowe, których dotyczy problem:
- Windows Virtual Machine Scale Sets: C:\WindowsAzure\logs\plugins\ExtensionName\Extension.log
- Linux Virtual Machine Scale Sets: /var/log/plugins/ExtensionName/Extension.log
Sprawdź, czy rozszerzenie zakończone niepowodzeniem działa zgodnie z najlepszymi rozwiązaniami
Jeśli rozszerzenie można dostosowywać, takie jak rozszerzenie niestandardowego skryptu (CSE) lub Desired State Configuration (DSC), sprawdź, czy postępujesz zgodnie ze wszystkimi niezbędnymi wymaganiami wstępnymi i zalecanymi najlepszymi rozwiązaniami.
- Najlepsze rozwiązania dotyczące rozszerzenia niestandardowego skryptu
- Desired State Configuration wymagania wstępne
Ponowne instalowanie rozszerzenia
W bloku Rozszerzenia zestawu skalowania maszyn wirtualnych wybierz rozszerzenie z błędami aprowizacji.
Kliknij przycisk Odinstaluj.
W bloku Rozszerzenia kliknij pozycję Dodaj.
Wybierz i zainstaluj ponownie 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 platformy Azure.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla