Udostępnij za pośrednictwem


Utwórz i skonfiguruj klaster przy użyciu Azure CLI

W tym artykule opisano sposób tworzenia klastra przy użyciu interfejsu wiersza polecenia platformy Azure (AzCLI). W tym dokumencie pokazano również, jak sprawdzić stan, aktualizację lub usunąć klaster.

Wymagania wstępne

  • Sprawdź, czy kontroler sieci szkieletowej i menedżer klastra istnieją w regionie Azure
  • Sprawdź, czy sieć szkieletowa została pomyślnie przydzielona

Przewodnik po interfejsie API i jego metryki

Przewodnik po interfejsie API zawiera informacje na temat dostawców zasobów i modeli zasobów oraz interfejsów API.

Metryki wygenerowane na podstawie danych rejestrowania są dostępne w metrykach usługi Azure Monitor.

Ograniczenia

  • Nazewnictwo — reguły nazewnictwa można znaleźć tutaj.

Tworzenie klastra

Zasób klastra infrastruktury reprezentuje lokalne wdrożenie platformy w Menedżerze klastra. Wszystkie inne zasoby specyficzne dla platformy są zależne od niego na potrzeby ich cyklu życia.

Przed tym lokalnym wdrożeniem należy utworzyć sieć szkieletową. Każde lokalne wystąpienie Nexus Operatora ma przyporządkowaną jeden do jednego relację z siecią szkieletową.

Ważne

Istnieje znany problem polegający na tym, że aktualizacja klastra natychmiast po jego utworzeniu może spowodować błędy wdrażania klastra. Problem występuje, gdy zasób zostanie zaktualizowany przed wypełnieniem pól bmcConnectionString w cluster.spec.computeRackDefinitions.bareMetalMachineConfigurationData sekcji . Ciągi bmcConnectionString są zwykle ustawiane w ciągu kilku minut od utworzenia klastra.

Aby uniknąć tego problemu, przed zaktualizowaniem zasobu klastra za pośrednictwem portalu Azure lub polecenia az networkcloud update upewnij się, że wartości w bmcConnectionStrings nie są puste.

Aby potwierdzić stan, otwórz właściwości JSON zasobu klastra (Operator Nexus) w portalu Azure lub uruchom polecenie CLI, jak pokazano w poniższym przykładzie. Jeśli wartości bmmConnectionString zawierają niepuste wartości redfish+https.., można bezpiecznie zaktualizować klaster. Ten problem zostanie rozwiązany w przyszłej wersji.

Przykładowe dane wyjściowe bmcConnectionString dla elementu az networkcloud cluster show -n cluster01 -g cluster01resourceGroup--query 'computeRackDefinitions[].bareMetalMachineConfigurationData[].bmcConnectionString' -o json są następujące:

["redfish+https://10.9.3.20/redfish/v1/Systems/System.Embedded.1",
"redfish+https://10.9.3.19/redfish/v1/Systems/System.Embedded.1",
"redfish+https://10.9.3.18/redfish/v1/Systems/System.Embedded.1",
"redfish+https://10.9.3.17/redfish/v1/Systems/System.Embedded.1"]

Utwórz klaster za pomocą Azure CLI - pojedyncza urządzenie magazynujące.

Ważne

To polecenie tworzy klaster dla instancji Nexus, która zawiera jedną urządzenie pamięci masowej. Jeśli uruchamiasz je na wystąpieniu z dwoma urządzeniami magazynowymi, drugie urządzenie się nie skonfiguruje. Postępuj zgodnie z instrukcjami dotyczącymi wielu urządzeń przechowujących, jeśli instancja Nexus zawiera dwa urządzenia przechowujące.

az networkcloud cluster create --name "<CLUSTER_NAME>" --location "<LOCATION>" \
  --extended-location name="<CL_NAME>" type="CustomLocation" \
  --resource-group "<CLUSTER_RG>" \
  --analytics-workspace-id "<LAW_ID>" \
  --cluster-location "<CLUSTER_LOCATION>" \
  --network-rack-id "<AGGR_RACK_RESOURCE_ID>" \
  --rack-sku-id "<AGGR_RACK_SKU>"\
  --rack-serial-number "<AGGR_RACK_SN>" \
  --rack-location "<AGGR_RACK_LOCATION>" \
  --bare-metal-machine-configuration-data "["<AGGR_RACK_BMM>"]" \
  --storage-appliance-configuration-data '[{"adminCredentials":{"password":"<SA1_PASS>","username":"<SA_USER>"},"rackSlot":1,"serialNumber":"<SA1_SN>","storageApplianceName":"<SA1_NAME>"}]' \
  --compute-rack-definitions '[{"networkRackId": "<COMPX_RACK_RESOURCE_ID>", "rackSkuId": "<COMPX_RACK_SKU>", "rackSerialNumber": "<COMPX_RACK_SN>", "rackLocation": "<COMPX_RACK_LOCATION>", "storageApplianceConfigurationData": [], "bareMetalMachineConfigurationData":[{"bmcCredentials": {"password":"<COMPX_SVRY_BMC_PASS>", "username":"<COMPX_SVRY_BMC_USER>"}, "bmcMacAddress":"<COMPX_SVRY_BMC_MAC>", "bootMacAddress":"<COMPX_SVRY_BOOT_MAC>", "machineDetails":"<COMPX_SVRY_SERVER_DETAILS>", "machineName":"<COMPX_SVRY_SERVER_NAME>"}]}]'\
  --managed-resource-group-configuration name="<MRG_NAME>" location="<MRG_LOCATION>" \
  --network fabric-id "<NF_ID>" \
  --cluster-service-principal application-id="<SP_APP_ID>" \
    password="$SP_PASS" principal-id="$SP_ID" tenant-id="<TENANT_ID>" \
  --subscription "<SUBSCRIPTION_ID>" \
  --secret-archive-settings "{identity-type:<ID_TYPE>, vault-uri:<VAULT_URI>}" \
  --cluster-type "<CLUSTER_TYPE>" --cluster-version "<CLUSTER_VERSION>" \
  --tags <TAG_KEY1>="<TAG_VALUE1>" <TAG_KEY2>="<TAG_VALUE2>"

Tworzenie klastra przy użyciu interfejsu Azure CLI — wiele urządzeń pamięci masowej.

Wartość "<AGGR_RACK_SKU>" musi być ustawiona na wartość, która obsługuje dwa urządzenia magazynujące. Zobacz SKU operatora Nexus Network Cloud, aby wybrać odpowiednią jednostkę. Polecenie tworzenia klastra ustawia również domyślne urządzenie magazynujące na potrzeby tworzenia woluminów. Domyślne urządzenie to urządzenie z "rackSlot":1 danymi konfiguracji.

az networkcloud cluster create --name "<CLUSTER_NAME>" --location "<LOCATION>" \
  --extended-location name="<CL_NAME>" type="CustomLocation" \
  --resource-group "<CLUSTER_RG>" \
  --analytics-workspace-id "<LAW_ID>" \
  --cluster-location "<CLUSTER_LOCATION>" \
  --network-rack-id "<AGGR_RACK_RESOURCE_ID>" \
  --rack-sku-id "<AGGR_RACK_SKU>"\
  --rack-serial-number "<AGGR_RACK_SN>" \
  --rack-location "<AGGR_RACK_LOCATION>" \
  --bare-metal-machine-configuration-data "["<AGGR_RACK_BMM>"]" \
  --storage-appliance-configuration-data '[{"adminCredentials":{"password":"<SA1_PASS>","username":"<SA_USER>"},"rackSlot":1,"serialNumber":"<SA1_SN>","storageApplianceName":"<SA1_NAME>"},{"adminCredentials":{"password":"<SA2_PASS>","username":"<SA_USER>"},"rackSlot":2,"serialNumber":"<SA2_SN>","storageApplianceName":"<SA2_NAME>"}]' \
  --compute-rack-definitions '[{"networkRackId": "<COMPX_RACK_RESOURCE_ID>", "rackSkuId": "<COMPX_RACK_SKU>", "rackSerialNumber": "<COMPX_RACK_SN>", "rackLocation": "<COMPX_RACK_LOCATION>", "storageApplianceConfigurationData": [], "bareMetalMachineConfigurationData":[{"bmcCredentials": {"password":"<COMPX_SVRY_BMC_PASS>", "username":"<COMPX_SVRY_BMC_USER>"}, "bmcMacAddress":"<COMPX_SVRY_BMC_MAC>", "bootMacAddress":"<COMPX_SVRY_BOOT_MAC>", "machineDetails":"<COMPX_SVRY_SERVER_DETAILS>", "machineName":"<COMPX_SVRY_SERVER_NAME>"}]}]'\
  --managed-resource-group-configuration name="<MRG_NAME>" location="<MRG_LOCATION>" \
  --network fabric-id "<NF_ID>" \
  --cluster-service-principal application-id="<SP_APP_ID>" \
    password="$SP_PASS" principal-id="$SP_ID" tenant-id="<TENANT_ID>" \
  --subscription "<SUBSCRIPTION_ID>" \
  --secret-archive-settings "{identity-type:<ID_TYPE>, vault-uri:<VAULT_URI>}" \
  --cluster-type "<CLUSTER_TYPE>" --cluster-version "<CLUSTER_VERSION>" \
  --tags <TAG_KEY1>="<TAG_VALUE1>" <TAG_KEY2>="<TAG_VALUE2>"

Parametry dla operacji klastra

Nazwa parametru Opis
CLUSTER_NAME Nazwa zasobu klastra
LOKALIZACJA Region świadczenia usługi Azure, w którym wdrożono klaster
CL_NAME Menedżer klastra: lokalizacja niestandardowa w portalu Azure
CLUSTER_RG Nazwa grupy zasobów klastra
LAW_ID Identyfikator obszaru roboczego usługi Log Analytics dla klastra
LOKALIZACJA_KLASTRA Lokalna nazwa klastra
AGGR_RACK_RESOURCE_ID RackID dla szafy agregacyjnej
AGGR_RACK_SKU Jednostka utrzymywania zapasów stojaka (SKU) dla stojaka agregatora *Zobacz Jednostki SKU chmury sieciowej operatora Nexus
AGGR_RACK_SN Numer seryjny dla stojaka agregatora
LOKALIZACJA_SZAFY_AGREGATÓW Fizyczna lokalizacja stojaka dla stojaka agregatora
AGGR_RACK_BMM Do użycia wyłącznie w ramach jednej szafy, puste dla wielu szaf.
SA1_NAME Nazwa pierwszego urządzenia do przechowywania
SA2_NAME Nazwa drugiego urządzenia do przechowywania danych
SA1_PASS Identyfikator URI lub wartość hasła administratora pierwszego urządzenia magazynu *Zobacz dokumentację poświadczeń usługi Key Vault
SA2_PASS Identyfikator URI lub wartość hasła administratora drugiego urządzenia magazynu *Zobacz dokumentację poświadczeń usługi Key Vault
SA_USER Administrator urządzenia do przechowywania
SA1_SN Numer seryjny pierwszego urządzenia do przechowywania
SA2_SN Numer seryjny drugiego magazynującego urządzenia
COMPX_RACK_RESOURCE_ID RackID dla stojaka CompX; powtórz dla każdego stojaka w definicjach stojaków obliczeniowych
COMPX_RACK_SKU Jednostka magazynowania (SKU) dla stojaka CompX; powtórz dla każdego stojaka w definicjach regałów obliczeniowych. *Zobacz Stock Keeping Unit (SKU) dla Operatora Nexus Network Cloud
COMPX_RACK_SN Numer seryjny stojaka CompX; powtórz dla każdego stojaka w definicjach stojaków obliczeniowych
Lokalizacja Racka COMPX Fizyczna lokalizacja stojaka dla CompX Rack; powtórz dla każdego stojaka w definicjach compute-rack
COMPX_SVRY_BMC_PASS CompX Rack ServerY Baseboard Management Controller (BMC) password reference URI or password value; powtórz dla każdego stojaka w definicjach compute-rack i dla każdego serwera w stojaku *Zobacz dokumentację poświadczeń usługi Key Vault
COMPX_SVRY_BMC_USER Użytkownik BMC dla serwera Rack ServerY CompX; powtórz dla każdego racka w definicjach obliczeniowych racków i dla każdego serwera w racku.
COMPX_SVRY_BMC_MAC CompX Rack Serwery BMC MAC address; powtórz dla każdej szafy w definicjach racków obliczeniowych i dla każdego serwera w szafie
COMPX_SVRY_BOOT_MAC Adres MAC karty sieciowej podczas uruchamiania serwera CompX Rack ServerY; powtórz dla każdej szafy w "compute-rack-definitions" i dla każdego serwera w szafie.
Szczegóły serwera COMPX_SVRY Szczegóły serwera CompX Rack ServerY; powtórz dla każdej szafy w definicjach racków obliczeniowych i dla każdego serwera w szafie
COMPX_SVRY_SERVER_NAME Nazwa serwera CompX Rack ServerY; powtórz dla każdej szafy w definicjach szaf obliczeniowych i dla każdego serwera w szafie
MRG_NAME Nazwa zarządzanej grupy zasobów klastra
MRG_LOCATION Region klastra platformy Azure
NF_ID Odwołanie do architektury sieci
SP_APP_ID Identyfikator aplikacji głównej usługi
SP_PASS Hasło zasadnicze usługi
SP_ID Identyfikator Podmiotu Usługi
TENANT_ID Identyfikator najemcy subskrypcji
SUBSCRIPTION_ID Identyfikator subskrypcji
KV_RESOURCE_ID Identyfikator usługi Key Vault
TYP_KLASTRA Typ klastra: pojedynczy lub wielorackowy
WERSJA_KLASTRA Wersja klastra w chmurze sieciowej (NC)
TAG_KEY1 Opcjonalny tag1 do przekazania do tworzenia Clustera
TAG_VALUE1 Opcjonalna wartość tagu1 do przekazania podczas tworzenia klastra
TAG_KEY2 Opcjonalny tag2 do przekazania przy tworzeniu klastra
TAG_VALUE2 Opcjonalna wartość tag2 przekazywana przy tworzeniu klastra
ID_TYPE Aby uzyskać szczegółowe informacje na temat ustawień secret-archive-settings, zobacz Obsługa klastra dla tożsamości zarządzanych
VAULT_URI Aby uzyskać szczegółowe informacje na temat ustawień secret-archive-settings, zobacz Obsługa klastra dla tożsamości zarządzanych

Tożsamość klastra

Po wydaniu wersji interfejsu 2024-07-01 API klient może przypisać tożsamość zarządzaną do klastra. Obsługiwane są tożsamości zarządzane przypisane przez system i przypisane przez użytkownika.

Po dodaniu tożsamość może być usunięta tylko poprzez wywołanie API w tym momencie.

Aby uzyskać więcej informacji na temat tożsamości zarządzanych dla klastrów Operator Nexus, zobacz Obsługa klastra Nexus platformy Azure dla tożsamości zarządzanych i zasobów udostępnionych przez użytkownika.

Tworzenie klastra przy użyciu edytora szablonów usługi Azure Resource Manager

Alternatywnym sposobem utworzenia klastra jest użycie edytora szablonów usługi ARM.

Aby utworzyć klaster w ten sposób, należy podać plik szablonu (cluster.jsonc) i plik parametrów (cluster.parameters.jsonc). Przykłady klastra SKU 8-Rack 2M16C można znaleźć przy użyciu tych dwóch plików:

cluster.jsonc , cluster.parameters.jsonc

Uwaga

Aby uzyskać poprawne formatowanie, skopiuj nieprzetworzonego pliku kodu. Wartości w pliku cluster.parameters.jsonc są specyficzne dla klienta i mogą nie stanowić pełnej listy. Zaktualizuj pola wartości dla określonego środowiska.

  1. Przejdź do witryny Azure Portal w przeglądarce internetowej i zaloguj się.
  2. Wyszukaj ciąg "Wdróż szablon niestandardowy" na pasku wyszukiwania w witrynie Azure Portal, a następnie wybierz go z dostępnych usług.
  3. Kliknij pozycję Utwórz własny szablon w edytorze.
  4. Kliknij pozycję Załaduj plik. Znajdź plik szablonu cluster.jsonc i załaduj go.
  5. Kliknij przycisk Zapisz.
  6. Kliknij pozycję Edytuj parametry.
  7. Kliknij pozycję Załaduj plik. Zlokalizuj plik parametrów cluster.parameters.jsonc i przekaż go.
  8. Kliknij przycisk Zapisz.
  9. Wybierz poprawną subskrypcję.
  10. Wyszukaj grupę zasobów, aby sprawdzić, czy już istnieje. Jeśli nie, utwórz nową grupę zasobów.
  11. Upewnij się, że wszystkie szczegóły wystąpienia są poprawne.
  12. Kliknij Przejrzyj + Utwórz.

Walidacja klastra

Pomyślne utworzenie klastra Operator Nexus powoduje utworzenie zasobu Azure w ramach subskrypcji. Identyfikator klastra, stan aprowizacji klastra i stan wdrożenia są zwracane w wyniku pomyślnego działania cluster create.

Wyświetl stan klastra:

az networkcloud cluster show --cluster-name "<clusterName>" /
--resource-group "<resourceGroupName>" /
--subscription <subscriptionID>

Tworzenie klastra jest zakończone, gdy provisioningState zasobu pokazuje: "provisioningState": "Succeeded"

Logowanie klastra

Dzienniki tworzenia klastra można wyświetlić w następujących lokalizacjach:

  1. Dzienniki aktywności zasobu/grupy zasobów w portalu Azure.
  2. Interfejs wiersza poleceń platformy Azure z przekazaną flagą --debug w wierszu poleceń.

Ustawianie progu wdrożenia obliczeniowego

Próg dozwolonych awarii węzłów obliczeniowych podczas walidacji sprzętu jest ustawiany przy użyciu parametru compute-deployment-threshold .

Jeśli compute-deployment-threshold nie jest ustawiona, wartości domyślne są następujące:

      "strategyType": "Rack",
      "thresholdType": "PercentSuccess",
      "thresholdValue": 80,
      "waitTimeMinutes": 1

Jeżeli wymagana jest wartość inna niż domyślna 80%, uruchom następujące compute-deployment-threshold polecenie.

Na przykład klient żądający typu "PercentSuccess" z współczynnikiem powodzenia wynoszącym 97%:

az networkcloud cluster update --name "<clusterName>" /
--resource-group "<resourceGroup>" /
--compute-deployment-threshold type="PercentSuccess" grouping="PerCluster" value=97 /
--subscription <subscriptionID>

Weryfikowanie aktualizacji

az networkcloud cluster show --resource-group "<resourceGroup>" --name "<clusterName>" | grep -a3 computeDeploymentThreshold

  "clusterType": "MultiRack",
  "clusterVersion": "<CLUSTER_VERSION>",
  "computeDeploymentThreshold": {
    "grouping": "PerCluster",
    "type": "PercentSuccess",
    "value": 97

W tym przykładzie, jeśli mniej niż 97% wdrożonych węzłów obliczeniowych przejdzie walidację sprzętu, wdrożenie klastra zakończy się niepowodzeniem. UWAGA: Wszystkie płaszczyzny kontrolne Kubernetes (KCP) i płaszczyzny zarządzania Nexus (NMP) muszą przejść walidację sprzętu. Jeśli 97% lub więcej węzłów obliczeniowych będących w trakcie wdrożenia pomyślnie przejdzie walidację sprzętu, wdrażanie klastra zostanie kontynuowane do fazy inicjalizacji i aprowizacji.

Uwaga

Nie można zmienić progów wdrożenia po uruchomieniu wdrożenia klastra.

Wdrażanie klastra

Ważne

Najlepszym rozwiązaniem jest odczekanie 20 minut po utworzeniu klastra przed wdrożeniem, aby upewnić się, że zostaną utworzone wszystkie skojarzone zasoby.

Akcja wdrażania klastra może zostać wyzwolona po utworzeniu klastra. Akcja wdrażania klastra tworzy obraz bootstrap i wdraża klaster.

Implementacja klastra inicjuje sekwencję zdarzeń występujących w Menedżerze klastra.

  1. Walidacja właściwości klastra/stojaka.
  2. Generowanie obrazu rozruchowego dla tymczasowego klastra rozruchowego (weryfikacja infrastruktury).
  3. Interakcja z interfejsem IPMI (Intelligent Platform Management Interface) komputera rozruchowego.
  4. Przeprowadzanie weryfikacji sprzętu.
  5. Monitorowanie procesu wdrażania klastra.

Wdróż klaster lokalny:

az networkcloud cluster deploy \
  --name "$CLUSTER_NAME" \
  --resource-group "$CLUSTER_RG" \
  --subscription "$SUBSCRIPTION_ID" \
  --no-wait --debug

Wskazówka

Aby sprawdzić stan az networkcloud cluster deploy polecenia, można go wykonać przy użyciu flagi --debug . Uzyskaj nagłówek Azure-AsyncOperation lub Location używany do wykonywania zapytań dotyczących zasobu operationStatuses z danych wyjściowych debugowania. Zobacz sekcję Wdrażanie klastra nie powiodło się , aby uzyskać bardziej szczegółowe instrukcje. Opcjonalnie polecenie może być uruchamiane asynchronicznie przy użyciu flagi --no-wait .

Wdrażanie klastra z weryfikacją sprzętu

Podczas procesu wdrażania klastra jednym z wykonanych kroków jest weryfikacja sprzętu. Procedura walidacji sprzętu uruchamia różnorodne testy i kontroluje maszyny określone przez definicję szafy klastra. Na podstawie wyników tych sprawdzeń oraz maszyn pominiętych przez użytkownika, ustala się, czy wystarczająca liczba węzłów przeszła testy i/lub jest dostępna, aby spełniać progi niezbędne do kontynuacji wdrażania.

Ważne

Proces sprawdzania poprawności sprzętu zapisuje wyniki do określonego analyticsWorkspaceId podczas tworzenia klastra. Ponadto podany główny element usługi w obiekcie klastra jest używany do uwierzytelniania w interfejsie API zbierania danych w obszarze roboczym Log Analytics. Ta możliwość jest widoczna tylko podczas nowego wdrożenia (Green Field); dzienniki nie są dostępne wstecznie.

Uwaga

Kontroler RAID jest resetowany podczas wdrażania klastra wyczyszcząc wszystkie dane z dysków wirtualnych serwera. Alerty dotyczące dysków wirtualnych kontrolera zarządzania płytą główną (BMC) można zignorować, chyba że istnieją inne alerty dotyczące dysków fizycznych i/lub kontrolerów RAID.

Domyślnie proces sprawdzania poprawności sprzętu zapisuje wyniki w skonfigurowanym klastrze analyticsWorkspaceId. Jednakże, ze względu na charakter zbierania danych i ocenę schematu w Log Analytics Workspace, może wystąpić opóźnienie w przesyłaniu danych, które może trwać kilka minut lub dłużej. Z tego powodu wdrożenie klastra przebiega nawet wtedy, gdy nie udało się zapisać wyników w obszarze roboczym usługi Log Analytics. Aby pomóc w rozwiązaniu tego możliwego zdarzenia, wyniki są również rejestrowane w Menedżerze Klastrowym dla zapewnienia redundancji.

W udostępnionym obszarze roboczym usługi Log Analytics obiektu klastra powinna zostać wyświetlona nowa tabela niestandardowa z nazwą klastra jako prefiksem i sufiksem *_CL . W sekcji Logi zasobu LAW można wykonać zapytanie wobec nowej tabeli *_CL Custom Log.

Rozmieszczenie klastra z pominięciem określonej maszyny bare-metal

Parametr --skip-validation-for-machines reprezentuje nazwy fizycznych maszyn w klastrze, które należy pominąć podczas walidacji sprzętu. Pominięte węzły nie są weryfikowane i nie są dodawane do puli węzłów. Ponadto węzły pominięte nie są liczone względem sumy używanej przez obliczenia progowe.

az networkcloud cluster deploy \
  --name "$CLUSTER_NAME" \
  --resource-group "$CLUSTER_RG" \
  --subscription "$SUBSCRIPTION_ID" \
  --skip-validations-for-machines "$COMPX_SVRY_SERVER_NAME"

Wdrażanie klastra nie powiodło się

Ważne

Jeśli klaster jest w Failed stanie, należy go usunąć i ponownie utworzyć, zanim będzie można go ponownie wdrożyć. Awarie klastra mogą wystąpić, gdy próg weryfikacji sprzętu nie zostanie osiągnięty lub żadna faza wdrożenia nie zostanie ukończona, dopóki klaster nie będzie w Running stanie.

Aby śledzić stan operacji asynchronicznej, uruchom polecenie z włączoną flagą --debug . Po --debug określeniu można monitorować postęp żądania. URL statusu operacji można znaleźć, analizując wyjście debugowania w poszukiwaniu nagłówka Azure-AsyncOperation lub Location w odpowiedzi HTTP na żądanie utworzenia. Nagłówki mogą dostarczać pole OPERATION_ID używane w wywołaniu HTTP API.

OPERATION_ID="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e*99399E995..."
az rest -m GET -u "https://management.azure.com/subscriptions/${SUBSCRIPTION_ID}/providers/Microsoft.NetworkCloud/locations/${LOCATION}/operationStatuses/${OPERATION_ID}?api-version=2022-12-12-preview"

Dane wyjściowe są podobne do przykładu struktury JSON. Gdy kod błędu to HardwareValidationThresholdFailed, komunikat o błędzie zawiera listę maszyn bare-metal, które nie przeszły weryfikacji sprzętu (na przykład COMP0_SVR0_SERVER_NAME, COMP1_SVR1_SERVER_NAME). Te nazwy mogą służyć do analizowania dzienników, aby uzyskać więcej szczegółów.

{
  "endTime": "2023-03-24T14:56:59.0510455Z",
  "error": {
    "code": "HardwareValidationThresholdFailed",
    "message": "HardwareValidationThresholdFailed error hardware validation threshold for cluster layout plan is not met for cluster $CLUSTER_NAME in namespace nc-system with listed failed devices $COMP0_SVR0_SERVER_NAME, $COMP1_SVR1_SERVER_NAME"
  },
  "id": "/subscriptions/$SUBSCRIPTION_ID/providers/Microsoft.NetworkCloud/locations/$LOCATION/operationStatuses/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e*99399E995...",
  "name": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e*99399E995...",
  "resourceId": "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$CLUSTER_RESOURCE_GROUP/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME",
  "startTime": "2023-03-24T14:56:26.6442125Z",
  "status": "Failed"
}

Zobacz artykuł Tracking Asynchronous Operations Using Azure CLI w celu uzyskania innego przykładu. Aby uzyskać więcej informacji na temat konkretnych błędów walidacji lub wdrażania maszyny, zobacz Rozwiązywanie problemów z aprowizowaniem maszyny bez systemu operacyjnego (BMM).

Walidacja wdrożenia klastra

Wyświetl stan klastra w portalu lub za pośrednictwem interfejsu wiersza polecenia platformy Azure:

az networkcloud cluster show --resource-group "$CLUSTER_RG" \
  --name "$CLUSTER_NAME"

Wdrożenie klastra jest w toku, gdy parametr detailedStatus jest ustawiony na Deploying, a szczegółowyStatusMessage pokazuje postęp wdrażania.

Niektóre przykłady postępu wdrażania pokazane w szczegółowym StatusMessage to Hardware validation is in progress. (jeśli klaster jest wdrożony z weryfikacją sprzętu), Cluster is bootstrapping., KCP initialization in progress., Management plane deployment in progress., Cluster extension deployment in progress., waiting for "<rack-ids>" to be ready, itp.

Zrzut ekranu witryny Azure Portal przedstawiający postęp wdrażania klastra kcp init.

Zrzut ekranu witryny Azure Portal przedstawiający aplikację rozszerzenia postępu wdrażania klastra.

Wdrożenie klastra zostało ukończone, gdy parametr detailedStatus jest ustawiony na Running , a element detailedStatusMessage wyświetla komunikat Cluster is up and running.

Zrzut ekranu witryny Azure Portal przedstawiający ukończone wdrażanie klastra.

Wyświetl wersję zarządzania klastra:

az k8s-extension list --cluster-name "$CLUSTER_NAME" --resource-group "$MRG_NAME" --cluster-type connectedClusters --query "[?name=='nc-platform-extension'].{name:name, extensionType:extensionType, releaseNamespace:scope.cluster.releaseNamespace,provisioningState:provisioningState,version:version}" -o table --subscription "$SUBSCRIPTION_ID"

Rejestrowanie wdrożenia klastra

Dzienniki tworzenia klastra można wyświetlić w następujących lokalizacjach:

  1. Dzienniki aktywności zasobu/grupy zasobów w portalu Azure.
  2. Interfejs wiersza poleceń platformy Azure z przekazaną flagą --debug w wierszu poleceń.

Zrzut ekranu witryny Azure Portal przedstawiający dziennik aktywności wdrażania klastra.

Usuwanie klastra

Usunięcie klastra powoduje usunięcie zasobów na platformie Azure i w klastrze, który znajduje się w środowisku lokalnym.

Ważne

Jeśli w klastrze istnieją jakiekolwiek zasoby dzierżawy, usuwanie zakończy się niepowodzeniem, dopóki zasoby dzierżawy nie zostaną usunięte.

Zrzut ekranu portalu przedstawiający niepowodzenie w usunięciu z powodu zasobów najemcy.

az networkcloud cluster delete --name "$CLUSTER_NAME" --resource-group "$CLUSTER_RG"

Uwaga

Najlepszym rozwiązaniem jest odczekanie 20 minut po usunięciu klastra przed próbą utworzenia nowego klastra o tej samej nazwie, aby upewnić się, że wszystkie skojarzone zasoby zostaną usunięte.