Rozwiązywanie problemów z walidacją wdrożenia witryny Azure Portal dla platformy Azure w wersji 23H2
Dotyczy: Azure Local, wersja 23H2 z systemem 2405 lub nowszym
Ten artykuł zawiera wskazówki dotyczące rozwiązywania problemów z walidacją wdrożenia występujących podczas wdrażania usługi Azure Local za pośrednictwem witryny Azure Portal.
Błąd — niepowodzenie walidacji wdrożenia
Podczas wdrażania usługi Azure Local w wersji 23H2 za pośrednictwem witryny Azure Portal może wystąpić błąd weryfikacji wdrożenia. Zadanie weryfikacji "Sieć lokalna platformy Azure — sprawdzanie wymagań sieciowych" kończy się niepowodzeniem z powodu następującego błędu:
Could not complete the operation. 400: Resource creation validation failed. Details:
[{"Code":"AnswerFileValidationFailed","Message":"Errors in Value Validation:\r\nPhysicalNodesValidator
found error at deploymentdata.physicalnodes[0].ipv4address: The specified for
\u0027deploymentdata.physicalnodes[0].ipv4address\u0027 is not a valid IPv4 address.
Example: 192.168.0.1 or 192.168.0.1","Target":null,"Details":null}].
Jeśli przejdziesz do karty Sieć we wdrożeniu w witrynie Azure Portal, w konfiguracji Intencja sieci może zostać wyświetlony następujący błąd:
The selected physical network adapter is not binded to the management virtual switch.
Przyczyna
Ten problem występuje w przypadku wdrożeń wyzwolonych po 6 sierpnia. Problem występuje, jeśli walidacja wdrożenia została wyzwolona w systemie, a wynik weryfikacji był niepowodzeniem, a kolejne próby weryfikacji zostały ponawiane.
Problem występuje z następującej przyczyny:
- Walidacja na urządzeniu tworzy przełącznik maszyny wirtualnej dla testów związanych z siecią i jest usuwany na końcu testów.
DeviceManagementExtension
rozszerzenie nie wykrywa usunięcia przełącznika maszyny wirtualnej.
Zalecane rozwiązanie
Proces rozwiązywania wielu kroków obejmuje następujące kroki:
- Usuwanie blokady z węzła inicjuj
- Usuwanie błędu sprawdzania poprawności
- Czyszczenie zasobu platformy Azure urządzenia brzegowego przy użyciu nieprawidłowych informacji o przełączniku maszyny wirtualnej
- Odświeżanie danych w chmurze
- Ponowne uruchamianie wdrożenia za pośrednictwem witryny Azure Portal
- Ponowne tworzenie blokady w zasobie węzła inicjacji
Uwaga
Wszystkie kroki opisane w tym artykule należy wykonać w węźle inicjującym.
Usuwanie blokady z węzła inicjuj
Wykonaj następujące kroki, aby usunąć blokadę z węzła inicjowania:
- Aby usunąć blokadę, w witrynie Azure Portal przejdź do obiektu za pośrednictwem grupy zasobów lub w obszarze Maszyny — Azure Arc.
- W okienku po lewej stronie przejdź do pozycji Ustawienia > Blokady. Powinna zostać wyświetlona blokada o nazwie DoNotDelete. Jest to automatyczna blokada zasobów tworzona podczas dołączania węzła.
- Wybierz pozycję Usuń względem blokady.
Jeśli spróbujesz wykonać kroki w następnej sekcji bez usunięcia blokady, polecenie Usuń zakończy się niepowodzeniem z następującym błędem:
Some resources failed to be deleted (run with `--verbose` for more information):
/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default
Oto przykładowe dane wyjściowe po uruchomieniu za pomocą przełącznika --verbose
:
(ScopeLocked) The scope '/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' cannot perform delete operation because following scope(s) are locked: '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>'. Please remove the lock and try again.
Code: ScopeLocked
Message: The scope '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' cannot perform delete operation because following scope(s) are locked: '/subscriptions/<subid>/resourceGroups/<rgname>/providers/Microsoft.HybridCompute/machines/<Machine Name>'. Please remove the lock and try again.
Usuwanie błędu sprawdzania poprawności
Po usunięciu blokady wykonaj następujące kroki, aby usunąć błąd weryfikacji.
Połącz się z węzłem inicjuj. Uruchom następujące polecenie programu PowerShell:
Get-VMSwitch
Sprawdź dane wyjściowe
Get-VMSwitch
polecenia pod kątem jakichkolwiek nieoczekiwanych przełączników maszyn wirtualnych, na przykład przełącznik utworzony podczas kroku Walidacja sieci i ma nazwę podobną do:"ConvergedSwitch(compute_management)"
. Dokładna nazwa przełącznika zależy od wybranej konfiguracji intencji sieciowej.Jeśli istnieje przełącznik maszyny wirtualnej, który nie został celowo utworzony, usuń przełącznik. Uruchom następujące polecenie programu PowerShell:
Remove-VMSwitch -Name "<VM Switch Name>" -Force
Pamiętaj, aby użyć nazwy przełącznika maszyny wirtualnej z
Get-VMSwitch
polecenia . Jeśli nie utworzono celowo przełącznika maszyny wirtualnej,Get-VMSwitch
polecenie nie ma wyników. Wystąpił błąd, ponieważ krok weryfikacji sieci oczyścił przełącznik maszyny wirtualnej, aleDeviceManagementExtension
nie wykrył czyszczenia.
Kontynuuj kroki oczyszczania.
Czyszczenie zasobu platformy Azure urządzenia brzegowego przy użyciu nieprawidłowych informacji o przełączniku maszyny wirtualnej
Po usunięciu przełącznika maszyny wirtualnej na urządzeniu wyczyść zasób arm urządzenia brzegowego zawierający nieprawidłowe informacje o przełączniku maszyny wirtualnej za pośrednictwem interfejsu wiersza polecenia platformy Azure.
Na kliencie, który może uzyskać dostęp do platformy Azure, sprawdź, czy zainstalować lub zainstalować interfejs wiersza polecenia az: Instalowanie interfejsu wiersza polecenia platformy Azure w systemie Windows
- Możesz zweryfikować instalację, uruchamiając polecenie:
az
- Jeśli jest zainstalowany, spowoduje to utworzenie komunikatu
"Welcome to Azure CLI!"
z dostępnymi poleceniami.
- Możesz zweryfikować instalację, uruchamiając polecenie:
Zaloguj się do platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure. Uruchom następujące polecenie:
az login --tenant <tenant ID> --use-device-code
Aby uzyskać więcej informacji, logowanie interakcyjne za pomocą interfejsu wiersza polecenia platformy Azure
Aby ustawić określoną subskrypcję, uruchom następujące polecenie:
az account set --subscription "<Subscription ID>"
Zastąp wartość w powyższym przykładowym poleceniu odpowiednią wartością .
<Subscription ID>
Wyprowadź dane przechowywane w zasobie, który zawiera niepoprawnie przechowywane informacje o przełączniku
edgeDevices
maszyny wirtualnej. Uruchom następujące polecenie:az resource show --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
Zastąp wartości w powyższym przykładowym poleceniu odpowiednimi wartościami dla:
<Subscription ID>
,<Resource Group Name>
i<Machine Name>
.Oto przykładowe dane wyjściowe:
az resource show --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/ASRR1N26R15U33/providers/Microsoft.AzureStackHCI/edgeDevices/default"
Dane wyjściowe tego polecenia zawierają sporo szczegółów dotyczących <nazwy> maszyny używanej w poleceniu . W dolnej części danych wyjściowych znajduje się sekcja dla
"switchDetails"
elementu , która będzie prawdopodobnie zawierać następujące informacje (czyli przełącznik maszyny wirtualnej weryfikacji, który został utworzony i oczyszczony na urządzeniu, ale nie został wykryty przez element DeviceManagementExtension i zaktualizowany po stronie chmury):"switchName": "ConvergedSwitch(managementcompute)",
"switchType": "External"
Po potwierdzeniu
show
, że polecenie działało przez wyprowadzenieedgeDevices
danych i prawdopodobnie potwierdzenie"switchDetails"
, nadszedł czas nadelete
zasób z usługi ARM, aby można było odpowiednio odświeżyć go z węzła inicjujące.Uwaga
Usunięcie
edgeDevices
danych jest bezpieczną akcją do wykonania, ale powinno być wykonywane tylko wtedy, gdy jawnie określono. Nie wykonuj tej akcji, chyba że zaleca się wykonanie tej czynności.edgeDevices
Usuń zasób, który zawiera niepoprawnie przechowywane informacje o przełączniku maszyny wirtualnej. Uruchom następujące polecenie:az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
Zastąp wartości (pamiętaj również, aby usunąć <> znaki) odpowiednimi wartościami:
<subGUID>
<resourceGROUPNAME>
<Machine Name>
Jest to ten sam zasób
--ids
zshow
elementu , więc możesz po prostu użyć tego samego ciągu. W rzeczywistości możesz po prostu "strzałkę w górę" w konsoli i zastąpić ciągshow
ciągiemdelete
.Oto przykładowe dane wyjściowe:
`az resource delete --ids "/subscriptions/<Subscription ID>/resourceGroups/<Resource Group Name>/providers/Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default"
Po uruchomieniu nie ma danych wyjściowych tego polecenia. Polecenie działa i zwraca wiersz polecenia lub wyświetla błąd. Nie powinien on przedstawiać błędu, ale jeśli tak, będzie to wymagało więcej rozwiązywania problemów.
Sprawdź usunięcie zasobu, uruchamiając
show
ponownie polecenie. Oto przykładowe dane wyjściowe:(ResourceNotFound) The resource 'Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' could not be found. Code: ResourceNotFound Message: The resource 'Microsoft.HybridCompute/machines/<Machine Name>/providers/Microsoft.AzureStackHCI/edgeDevices/default' could not be found.
Odświeżanie danych w chmurze edgeDevices
Gdy zasób usługi ARM i wszystkie niezamierzone przełączniki maszyny wirtualnej zostaną usunięte, odśwież ponownie dane po stronie edgeDevices
chmury.
Wykonaj następujące kroki, aby odświeżyć dane w chmurze:
DeviceManagementService
Uruchom ponownie element w węźle inicjuj. Uruchom następujące polecenie programu PowerShell:Restart-Service DeviceManagementService
Poczekaj kilka minut, a następnie sprawdź, czy dane w chmurze
edgeDevices
są aktualizowane i odzwierciedlają bieżący stan.show
Uruchom ponownie polecenie i przejrzyj dane wyjściowe. Upewnij się, że dane wyjściowe nie zawierają już żadnych nieoczekiwanych przełączników maszyn wirtualnych, a mianowicie:"switchName": "ConvergedSwitch(managementcompute)",
"switchType": "External"
Ponowne uruchamianie wdrożenia za pośrednictwem witryny Azure Portal
Gdy dane urządzenia i chmury są teraz synchronizowane, możesz przejść do witryny Azure Portal i podać dane wejściowe wdrożenia. Poprzedni krok uniemożliwia buforowane informacje z poprzednich prób.
Wykonaj następujące kroki w witrynie Azure Portal:
Na karcie Podstawy podaj swoje dane wejściowe (wybierając ponownie z list rozwijanych) do pól z góry.
Usuń zaznaczenie węzłów w dolnej części strony.
Zmień ponownie wybrane węzły.
Potwierdź informacje na kolejnych stronach. Powinny zostać wyświetlone następujące zmiany:
- Na stronie Sieć nie powinna być już widoczna wartość błędu
The selected physical network adapter is not binded to the management virtual Switch
, który mógł zostać wcześniej wyświetlony. - Na stronie Walidacja na końcu, jeśli wklejasz oryginalny problem,
deploymentdata.physicalnodes[0].ipv4address is not a valid IPv4 address
błąd nie będzie wyświetlany.
- Na stronie Sieć nie powinna być już widoczna wartość błędu
Jeśli nie wystąpią żadne inne problemy z walidacją, uruchom wdrożenie.
Ponowne tworzenie blokady w zasobie węzła inicjacji
Po zakończeniu ograniczania ryzyka zdecydowanie zalecamy ponowne utworzenie blokady zasobu.
Wykonaj następujące kroki, aby ponownie utworzyć blokadę:
- W witrynie Azure Portal przejdź do obiektu za pośrednictwem grupy zasobów lub w obszarze Maszyny — Azure Arc.
- Przejdź do pozycji Ustawienia > Blokady.
- Wybierz pozycję + Dodaj w górnej części strony.
- W polu Nazwa blokady wprowadź wartość DoNotDelete.
- W polu Typ blokady wybierz pozycję Usuń z listy rozwijanej.
- Wybierz przycisk OK , aby zapisać blokadę.