Vytvoření a zřízení clusteru pomocí Azure CLI
Tento článek popisuje, jak vytvořit cluster pomocí rozhraní příkazového řádku Azure (AzCLI). Tento dokument také ukazuje, jak zkontrolovat stav, aktualizovat nebo odstranit cluster.
Požadavky
- Ověřte, že ve vaší oblasti Azure existuje síťový adaptér a správce clusteru.
- Ověření úspěšného zřízení síťových prostředků infrastruktury
Průvodce rozhraním API a metrikami
Průvodce rozhraním API poskytuje informace o poskytovatelích prostředků a modelech prostředků a rozhraníCH API.
Metriky vygenerované z dat protokolování jsou k dispozici v metrikách služby Azure Monitor.
Omezení
- Pojmenování – Pravidla pojmenování najdete tady.
Vytvoření clusteru
Prostředek clusteru infrastruktury představuje místní nasazení platformy v rámci Správce clusteru. Všechny ostatní prostředky specifické pro platformu jsou na něm závislé na jejich životním cyklu.
Před tímto místním nasazením byste měli vytvořit prostředky infrastruktury sítě. Každá místní instance operátoru Nexus má přidružení 1:1 se síťovými prostředky infrastruktury.
Vytvoření clusteru pomocí Azure CLI:
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":"$SA_PASS","username":"$SA_USER"},"rackSlot":1,"serialNumber":"$SA_SN","storageApplianceName":"$SA_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 "{key-vault-id:$KVRESOURCE_ID, use-key-vault:true}" \
--cluster-type "$CLUSTER_TYPE" --cluster-version "$CLUSTER_VERSION" \
--tags $TAG_KEY1="$TAG_VALUE1" $TAG_KEY2="$TAG_VALUE2"
Parametry pro operace clusteru
Název parametru | Popis |
---|---|
CLUSTER_NAME | Název prostředku clusteru |
UMÍSTĚNÍ | Oblast Azure, ve které je cluster nasazený |
CL_NAME | Vlastní umístění Správce clusteru z webu Azure Portal |
CLUSTER_RG | Název skupiny prostředků clusteru |
LAW_ID | ID pracovního prostoru služby Log Analytics pro cluster |
CLUSTER_LOCATION | Místní název clusteru |
AGGR_RACK_RESOURCE_ID | RackID pro rack agregátoru |
AGGR_RACK_SKU | Skladová položka racku pro agregátorový rack *See Operator Nexus Network Cloud SKUs |
AGGR_RACK_SN | Sériové číslo racku pro rack agregátoru |
AGGR_RACK_LOCATION | Fyzické umístění racku pro agregátorový rack |
AGGR_RACK_BMM | Používá se pouze pro nasazení s jedním rackem, prázdné pro více racků. |
SA_NAME | Název zařízení úložiště |
SA_PASS | Heslo správce zařízení úložiště |
SA_USER | Uživatel správce zařízení úložiště |
SA_SN | Sériové číslo zařízení úložiště |
COMPX_RACK_RESOURCE_ID | RackID pro CompX Rack; opakování pro každý rack v definicích výpočetního racku |
COMPX_RACK_SKU | Skladová položka racku pro Rack CompX; opakování pro každý rack v definicích výpočetních racků *Viz SKU Cloud Cloud Operator Nexus Network |
COMPX_RACK_SN | Sériové číslo racku pro Rack CompX; opakování pro každý rack v definicích výpočetního racku |
COMPX_RACK_LOCATION | Fyzické umístění racku pro Rack CompX; opakování pro každý rack v definicích výpočetního racku |
COMPX_SVRY_BMC_PASS | CompX Rack ServerY Baseboard Management Controller (BMC) heslo; pro každý rack v definicích výpočetních racků a pro každý server v racku |
COMPX_SVRY_BMC_USER | CompX Rack Servery BMC uživatel; pro každý rack v definicích výpočetních racků a pro každý server v racku |
COMPX_SVRY_BMC_MAC | CompX Rack ServerY BMC ADRESA MAC; pro každý rack v definicích výpočetních racků a pro každý server v racku |
COMPX_SVRY_BOOT_MAC | CompX Rack ServerY spouštěcí síťová karta (NIC) MAC adresa; pro každý rack v definicích výpočetních racků a pro každý server v racku |
COMPX_SVRY_SERVER_DETAILS | CompX Rack ServerY podrobnosti; pro každý rack v definicích výpočetních racků a pro každý server v racku |
COMPX_SVRY_SERVER_NAME | CompX Rack ServerY name; pro každý rack v definicích výpočetních racků a pro každý server v racku |
MRG_NAME | Název skupiny prostředků spravované clusterem |
MRG_LOCATION | Oblast Azure clusteru |
NF_ID | Odkaz na síťové prostředky infrastruktury |
SP_APP_ID | ID aplikace instančního objektu |
SP_PASS | Heslo instančního objektu |
SP_ID | ID instančního objektu |
TENANT_ID | ID tenanta předplatného |
SUBSCRIPTION_ID | Subscription ID |
KV_RESOURCE_ID | Key Vault ID |
CLUSTER_TYPE | Typ clusteru, single nebo MultiRack |
CLUSTER_VERSION | Verze clusteru v síťovém cloudu (NC) |
TAG_KEY1 | Volitelná značka 1 pro předání do vytvoření clusteru |
TAG_VALUE1 | Volitelná hodnota značky1 pro předání do vytvoření clusteru |
TAG_KEY2 | Volitelná značka 2 pro předání do vytvoření clusteru |
TAG_VALUE2 | Volitelná hodnota značky2 pro předání do vytvoření clusteru |
Identita clusteru
Od verze rozhraní API z 7. 7. 2024 může zákazník přiřadit spravovanou identitu ke clusteru. Podporují se spravované identity přiřazené systémem i spravované uživatelem.
Spravovanou identitu je možné přiřadit ke clusteru během operací vytváření nebo aktualizací zadáním následujících parametrů:
- --mi-system-assigned - Enable System-assigned managed identity. Po přidání je možné identitu odebrat pouze prostřednictvím volání rozhraní API v tuto chvíli.
- --mi-user-assigned - ID prostředků oddělených mezerami spravovaných identit přiřazených uživatelem, které se mají přidat. Po přidání je možné identitu odebrat pouze prostřednictvím volání rozhraní API v tuto chvíli.
Vytvoření clusteru pomocí editoru šablon Azure Resource Manageru
Alternativní způsob vytvoření clusteru je s editorem šablon ARM.
Pokud chcete cluster vytvořit tímto způsobem, musíte zadat soubor šablony (cluster.jsonc) a soubor parametrů (cluster.parameters.jsonc). Příklady pro cluster SKU 8-Rack 2M16C najdete pomocí těchto dvou souborů:
cluster.jsonc , cluster.parameters.jsonc
Poznámka:
Pokud chcete získat správné formátování, zkopírujte nezpracovaný soubor kódu. Hodnoty v souboru cluster.parameters.jsonc jsou specifické pro zákazníky a nemusí se jednat o úplný seznam. Aktualizujte pole hodnot pro vaše konkrétní prostředí.
- Ve webovém prohlížeči přejděte na Web Azure Portal a přihlaste se.
- Na panelu hledání na webu Azure Portal vyhledejte "Nasadit vlastní šablonu" a pak ji vyberte z dostupných služeb.
- V editoru klikněte na Vytvořit vlastní šablonu.
- Klikněte na Načíst soubor. Vyhledejte soubor šablony cluster.jsonc a nahrajte ho.
- Klikněte na Uložit.
- Klikněte na Upravit parametry.
- Klikněte na Načíst soubor. Vyhledejte soubor parametrů cluster.parameters.jsonc a nahrajte ho.
- Klikněte na Uložit.
- Vyberte správné předplatné.
- Vyhledejte skupinu prostředků a zjistěte, jestli už existuje. Pokud ne, vytvořte novou skupinu prostředků.
- Ujistěte se, že jsou všechny podrobnosti instance správné.
- Klikněte na Zkontrolovat a vytvořit.
Ověření clusteru
Výsledkem úspěšného vytvoření clusteru Nexus operátora je vytvoření prostředku Azure v rámci vašeho předplatného. ID clusteru, stav zřizování clusteru a stav nasazení se vrátí v důsledku úspěšného cluster create
.
Zobrazení stavu clusteru:
az networkcloud cluster show --resource-group "$CLUSTER_RG" \
--cluster-name "$CLUSTER_RESOURCE_NAME"
Vytvoření clusteru se dokončí po provisioningState
zobrazení prostředku: "provisioningState": "Succeeded"
Protokolování clusteru
Protokoly vytvoření clusteru můžete zobrazit v následujících umístěních:
- Protokoly aktivit resource/resourcegroup na webu Azure Portal.
- Azure CLI s příznakem
--debug
předaným na příkazovém řádku
Nasazení clusteru
Akci nasazení clusteru je možné aktivovat po vytvoření clusteru. Akce nasazení clusteru vytvoří image bootstrap a nasadí cluster.
Nasazení clusteru zahájí posloupnost událostí, ke kterým dochází ve Správci clusteru.
- Ověření vlastností clusteru nebo racku
- Generování spouštěcí image pro dočasný cluster bootstrap (ověření infrastruktury).
- Interakce s rozhraním IPMI (Intelligent Platform Management Interface) cílového počítače bootstrap
- Provádí kontroly ověření hardwaru.
- Monitorování procesu nasazení clusteru
Nasazení místního clusteru:
az networkcloud cluster deploy \
--name "$CLUSTER_NAME" \
--resource-group "$CLUSTER_RG" \
--subscription "$SUBSCRIPTION_ID" \
--no-wait --debug
Tip
Pokud chcete zkontrolovat stav az networkcloud cluster deploy
příkazu, můžete ho spustit pomocí příznaku --debug
.
To vám umožní získat hlavičku nebo Location
hlavičku Azure-AsyncOperation
použitou k dotazování operationStatuses
prostředku.
Podrobnější kroky najdete v části Nasazení clusteru se nezdařilo .
Volitelně můžete příkaz spustit asynchronně pomocí příznaku --no-wait
.
Nasazení clusteru s ověřováním hardwaru
Během procesu nasazení clusteru je jedním z provedených kroků ověření hardwaru. Postup ověření hardwaru spouští různé testy a kontroluje počítače poskytované prostřednictvím definice racku clusteru. Na základě výsledků těchto kontrol a všech počítačů přeskočených uživatelem se určí, jestli byly předány dostatečné uzly a/nebo jsou k dispozici pro splnění prahových hodnot potřebných k tomu, aby nasazení pokračovalo.
Důležité
Proces ověření hardwaru zapíše výsledky zadanému analyticsWorkspaceId
při vytváření clusteru.
Kromě toho se zadaný instanční objekt v objektu clusteru používá k ověřování pomocí rozhraní API pro shromažďování dat pracovního prostoru služby Log Analytics.
Tato funkce je viditelná pouze během nového nasazení (Zelené pole); stávající cluster nebude mít protokoly k dispozici zpětně.
Poznámka:
Kontroler RAID se resetuje během nasazování clusteru, který vymaže všechna data z virtuálních disků serveru. Všechna upozornění virtuálního disku řadiče pro správu základní desky (BMC) se obvykle dají ignorovat, pokud neexistují další výstrahy fyzických disků nebo řadičů RAID.
Ve výchozím nastavení zapíše proces ověření hardwaru výsledky do nakonfigurovaného clusteru analyticsWorkspaceId
.
Vzhledem k povaze shromažďování dat a vyhodnocení schématu pracovního prostoru služby Log Analytics ale může docházet ke zpoždění příjmu dat, které může trvat několik minut nebo déle.
Z tohoto důvodu pokračuje nasazení clusteru i v případě, že nedošlo k selhání zápisu výsledků do pracovního prostoru služby Log Analytics.
Aby se tato možná událost vyřešila, výsledky pro redundanci se protokolují také ve Správci clusteru.
V zadaném pracovním prostoru Log Analytics objektu clusteru by se měla zobrazit nová vlastní tabulka s názvem clusteru jako předponou a přípona *_CL
.
V oddílu Protokoly prostředku LAW je možné provést dotaz na novou *_CL
tabulku vlastního protokolu.
Nasazení clusteru s přeskočením konkrétního holého počítače
Parametr --skip-validation-for-machines
představuje názvy holých počítačů v clusteru, které by se měly během ověřování hardwaru přeskočit.
Vynechány uzly se neověřují a nepřidávají se do fondu uzlů.
Kromě toho se uzly přeskočeny nezapočítávají do celkového využití při výpočtech prahových hodnot.
az networkcloud cluster deploy \
--name "$CLUSTER_NAME" \
--resource-group "$CLUSTER_RG" \
--subscription "$SUBSCRIPTION_ID" \
--skip-validations-for-machines "$COMPX_SVRY_SERVER_NAME"
Nasazení clusteru selhalo
Pokud chcete sledovat stav asynchronní operace, spusťte ji s povoleným příznakem --debug
.
Po --debug
zadání je možné sledovat průběh požadavku.
Adresu URL stavu operace najdete tak, že se podíváte na výstup ladění a vyhledáte Azure-AsyncOperation
Location
hlavičku odpovědi HTTP na požadavek na vytvoření.
Hlavičky můžou poskytnout OPERATION_ID
pole použité ve volání rozhraní API HTTP.
OPERATION_ID="12312312-1231-1231-1231-123123123123*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"
Výstup je podobný příkladu struktury JSON. Pokud je HardwareValidationThresholdFailed
kód chyby , pak chybová zpráva obsahuje seznam holých počítačů, které selhaly ověření hardwaru (například COMP0_SVR0_SERVER_NAME
, COMP1_SVR1_SERVER_NAME
). Tyto názvy lze použít k analýze protokolů pro další podrobnosti.
{
"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/12312312-1231-1231-1231-123123123123*99399E995...",
"name": "12312312-1231-1231-1231-123123123123*99399E995...",
"resourceId": "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$CLUSTER_RESOURCE_GROUP/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME",
"startTime": "2023-03-24T14:56:26.6442125Z",
"status": "Failed"
}
Další příklad najdete v článku Sledování asynchronních operací pomocí Azure CLI . Další informace, které můžou být užitečné při selhání nebo nasazení konkrétních počítačů, najdete v článku Řešení potíží se zřizováním nástroje BMM.
Ověření nasazení clusteru
Zobrazení stavu clusteru na portálu nebo prostřednictvím Azure CLI:
az networkcloud cluster show --resource-group "$CLUSTER_RG" \
--name "$CLUSTER_NAME"
Nasazení clusteru probíhá, když je podrobný stav nastavený na Deploying
a podrobné zprávyStatusMessage ukazuje průběh nasazení.
Mezi příklady průběhu nasazení, které se zobrazují v podrobné zprávěStatusMessage, patří Hardware validation is in progress.
(pokud je cluster nasazen s ověřováním hardwaru), Cluster is bootstrapping.
, , KCP initialization in progress.
, Management plane deployment in progress.
, Cluster extension deployment in progress.
atd waiting for "<rack-ids>" to be ready
.
Nasazení clusteru je dokončeno, když je podrobnéStatus nastavena na Running
a detailedStatusMessage zobrazí zprávu Cluster is up and running
.
Zobrazení verze správy clusteru:
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"
Protokolování nasazení clusteru
Protokoly vytvoření clusteru můžete zobrazit v následujících umístěních:
- Protokoly aktivit resource/resourcegroup na webu Azure Portal.
- Azure CLI s příznakem
--debug
předaným na příkazovém řádku
Aktualizace identit clusteru prostřednictvím rozhraní API
Spravované identity clusteru je možné přiřadit prostřednictvím rozhraní příkazového řádku. Zrušení přiřazení identit je možné provést prostřednictvím volání rozhraní API.
Všimněte si, <APIVersion>
že rozhraní API verze 2024-07-01 nebo novější.
Pokud chcete odebrat všechny spravované identity, spusťte:
az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body "{\"identity\":{\"type\":\"None\"}}"
Pokud byly přidány spravované identity přiřazené uživatelem i systémem, můžete přiřazení uživatele odebrat aktualizací na
type
SystemAssigned
:az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body @~/uai-body.json
Příklad textu požadavku (uai-body.json):
{ "identity": { "type": "SystemAssigned" } }
Pokud byly přidány spravované identity přiřazené uživatelem i systémem, můžete přiřazení systému odebrat aktualizací na
type
UserAssigned
:az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body @~/uai-body.json
Příklad textu požadavku (uai-body.json):
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": {} } } }
Pokud bylo přidáno více spravovaných identit přiřazených uživatelem, můžete jednu z nich odebrat provedením tohoto příkazu:
az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_RG/providers/Microsoft.NetworkCloud/clusters/$CLUSTER_NAME?api-version=<APIVersion> --body @~/uai-body.json
Příklad textu požadavku (uai-body.json):
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": null } } }
Odstranění clusteru
Odstraněním clusteru se odstraní prostředky v Azure a cluster, který se nachází v místním prostředí.
Poznámka:
Pokud v clusteru existují nějaké prostředky tenanta, neodstraní se, dokud se tyto prostředky neodstraní.
az networkcloud cluster delete --name "$CLUSTER_NAME" --resource-group "$CLUSTER_RG"