Uppgradera klusterkörning från Azure CLI
Den här guiden beskriver stegen för att installera nödvändiga Azure CLI och tillägg som krävs för att interagera med Operator Nexus.
Förutsättningar
- Installera Azure CLI måste vara installerat.
- CLI-tillägget
networkcloud
krävs.networkcloud
Om tillägget inte är installerat kan det installeras enligt stegen här. - Åtkomst till Azure Portal för målklustret som ska uppgraderas.
- Du måste vara inloggad på samma prenumeration som målklustret via
az login
- Målklustret måste vara i ett körningstillstånd, med alla kontrollplansnoder felfria och 80 + % av beräkningsnoderna i ett fungerande och felfritt tillstånd.
Kontrollera aktuell körningsversion
Verifiera den aktuella versionen av klusterkörningen före uppgraderingen: Så här kontrollerar du den aktuella klusterkörningsversionen.
Hitta tillgängliga körningsversioner
Via Azure Portal
Om du vill hitta tillgängliga uppgraderingsbara körningsversioner går du till målklustret i Azure Portal. I klustrets översiktsfönster går du till fliken Tillgängliga uppgraderingsversioner.
På fliken tillgängliga uppgraderingsversioner kan vi se de olika klusterversioner som för närvarande är tillgängliga för uppgradering. Operatorn kan välja från de angivna målkörningsversionerna. När du har valt det fortsätter du att uppgradera klustret.
Via Azure CLI
Tillgängliga uppgraderingar kan hämtas via Azure CLI:
az networkcloud cluster show --name "<clusterName>" /
--resource-group "<resourceGroup>" /
--subscription <subscriptionID>
I utdata kan du hitta availableUpgradeVersions
egenskapen och titta på fältet targetClusterVersion
:
"availableUpgradeVersions": [
{
"controlImpact": "True",
"expectedDuration": "Upgrades may take up to 4 hours + 2 hours per rack",
"impactDescription": "Workloads will be disrupted during rack-by-rack upgrade",
"supportExpiryDate": "2023-07-31",
"targetClusterVersion": "3.3.0",
"workloadImpact": "True"
}
],
Om det inte finns några tillgängliga klusteruppgraderingar är listan tom.
Konfigurera beräkningströskelparametrar för körningsuppgradering med klusteruppdateringStrategy
Följande Azure CLI-kommando används för att konfigurera beräkningströskelparametrarna för en körningsuppgradering:
az networkcloud cluster update /
--name "<clusterName>" /
--resource-group "<resourceGroup>" /
--update-strategy strategy-type="Rack" threshold-type="PercentSuccess" /
threshold-value="<thresholdValue>" max-unavailable=<maxNodesOffline> /
wait-time-minutes=<waitTimeBetweenRacks> /
--subscription <subscriptionID>
Obligatoriska parametrar:
- strategityp: Definierar uppdateringsstrategin. Detta kan vara
"Rack"
(Rack efter rack) ELLER"PauseAfterRack"
(Uppgradera ett rack i taget och vänta sedan på bekräftelse innan du fortsätter till nästa rack. Standardvärdet ärRack
. Om du vill utföra en klusterkörningsuppgradering med hjälp av strategin "PauseRack" följer du stegen som beskrivs i Uppgradera klusterkörning med en pausrackstrategi - tröskelvärdestyp: Avgör hur tröskelvärdet ska utvärderas och tillämpas i de enheter som definieras av strategin. Detta kan vara
"PercentSuccess"
OR"CountSuccess"
. Standardvärdet ärPercentSuccess
. - threshold-value: Det numeriska tröskelvärde som används för att utvärdera en uppdatering. Standardvärdet är
80
.
Valfria parametrar:
- max-unavailable: Det maximala antalet arbetsnoder som kan vara offline, d.v.s. uppgraderat rack åt gången. Standardvärdet är
32767
. - väntetidsminuter: Fördröjning eller väntetid innan ett rack uppdateras. Standardvärdet är
15
.
Följande exempel är för en kund som använder Rack by Rack-strategi med en procentframgång på 60 % och en paus på 1 minut.
az networkcloud cluster update --name "<clusterName>" /
--resource-group "<resourceGroup>" /
--update-strategy strategy-type="Rack" threshold-type="PercentSuccess" /
threshold-value=60 wait-time-minutes=1 /
--subscription <subscriptionID>
Verifiera uppdatering:
az networkcloud cluster show --resource-group "<resourceGroup>" /
--name "<clusterName>" /
--subscription <subscriptionID>| grep -a5 updateStrategy
"strategyType": "Rack",
"thresholdType": "PercentSuccess",
"thresholdValue": 60,
"waitTimeMinutes": 1
I det här exemplet misslyckas klusterdistributionen om mindre än 60 % av beräkningsnoderna som etableras i ett rack inte etableras (rack för rack). Om 60 % eller fler av beräkningsnoderna har etablerats går klusterdistributionen vidare till nästa rack med beräkningsnoder.
Följande exempel är för en kund som använder Rack by Rack-strategi med en tröskelvärdestyp CountSuccess på 10 noder per rack och en paus på 1 minut.
az networkcloud cluster update --name "<clusterName>" /
--resource-group "<resourceGroup>" /
--update-strategy strategy-type="Rack" threshold-type="CountSuccess" /
threshold-value=10 wait-time-minutes=1 /
--subscription <subscriptionID>
Verifiera uppdatering:
az networkcloud cluster show --resource-group "<resourceGroup>" /
--name "<clusterName>" /
--subscription <subscriptionID>| grep -a5 updateStrategy
"strategyType": "Rack",
"thresholdType": "CountSuccess",
"thresholdValue": 10,
"waitTimeMinutes": 1
I det här exemplet, om mindre än 10 beräkningsnoder som etableras i ett rack inte kan etableras (rack för rack) misslyckas klusterdistributionen. Om 10 eller fler beräkningsnoder har etablerats går klusterdistributionen vidare till nästa rack med beräkningsnoder.
Kommentar
update-strategy
kan inte ändras när uppgraderingen av klusterkörningen har startats. När ett tröskelvärde under 100 % har angetts är det möjligt att eventuella noder som inte är felfria kanske inte uppgraderas, men statusen "Kluster" kan fortfarande indikera att uppgraderingen lyckades. Felsökning av problem med datorer utan operativsystem finns i Felsöka problem med Azure Operator Nexus-servern
Uppgradera klusterkörning med CLI
Om du vill uppgradera körningen använder du följande Azure CLI-kommando:
az networkcloud cluster update-version --cluster-name "<clusterName>" /
--target-cluster-version "<versionNumber>" /
--resource-group "<resourceGroupName>" /
--subscription <subscriptionID>
Körningsuppgraderingen är en lång process. Uppgraderingen uppgraderar först hanteringsnoderna och sedan sekventiellt Rack efter rack för arbetsnoderna. Uppgraderingen anses vara klar när 80 % av arbetsnoderna per rack och 100 % av hanteringsnoderna uppgraderas. Arbetsbelastningar kan påverkas medan arbetsnoderna i ett rack håller på att uppgraderas, men arbetsbelastningar i alla andra rack påverkas inte. Hänsyn till arbetsbelastningsplacering mot bakgrund av den här implementeringsdesignen uppmuntras.
Det tar flera timmar att uppgradera alla noder, beroende på hur många rack som finns för klustret. På grund av uppgraderingsprocessens längd bör klustrets detaljstatus kontrolleras regelbundet för uppgraderingens aktuella tillstånd. Om du vill kontrollera statusen för uppgraderingen bör du se klustrets detaljerade status. Den här kontrollen kan göras via portalen eller az CLI.
Om du vill visa uppgraderingsstatusen via Azure Portal går du till målklusterresursen. På klustrets översiktsskärm tillhandahålls den detaljerade statusen tillsammans med ett detaljerat statusmeddelande.
Klusteruppgraderingen pågår när detailedStatus är inställt på Updating
och detailedStatusMessage visar uppgraderingens förlopp. Några exempel på uppgraderingsstatus som visas i detailedStatusMessage är Waiting for control plane upgrade to complete...
, Waiting for nodepool "<rack-id>" to finish upgrading...
osv.
Klusteruppgradering är klar när detailedStatus är inställt på Running
och detailedStatusMessage visar meddelande Cluster is up and running
Om du vill visa uppgraderingsstatus via Azure CLI använder du az networkcloud cluster show
.
az networkcloud cluster show --cluster-name "<clusterName>" /
--resource-group "<resourceGroupName>" /
--subscription <subscriptionID>
Utdata ska vara målklustrets information och klustrets detaljerade status- och informationsstatusmeddelande ska finnas. Om du vill ha mer detaljerad information om uppgraderingsförloppet kan du söka efter status för den enskilda noden i varje rack. Ett exempel på att kontrollera statusen finns i referensavsnittet under BareMetal Machine-roller.
Vanliga frågor och svar
Identifiera klusteruppgradering har stoppats/fastnat
Under en körningsuppgradering är det möjligt att uppgraderingen inte går framåt, men detaljstatusen återspeglar att uppgraderingen fortfarande pågår. Eftersom körningsuppgradningen kan ta mycket lång tid att slutföra, finns det för närvarande ingen angiven tidsgräns. Därför rekommenderar vi att du också regelbundet kontrollerar klustrets informationsstatus och loggar för att avgöra om uppgraderingen försöker uppgradera på obestämd tid.
Vi kan identifiera en indefinitely attempting to upgrade
situation genom att titta på klustrets loggar, detaljerade meddelande och detaljerade statusmeddelande. Om en timeout inträffar observerar vi att klustret kontinuerligt försonas på samma obestämd tid och inte går framåt. Härifrån rekommenderar vi att du kontrollerar klusterloggar eller konfigurerad LAG för att se om det uppstår ett fel eller en specifik uppgradering som orsakar bristen på förlopp.
Maskinvarufel kräver inte omkörning av uppgradering
Om ett maskinvarufel uppstår under en uppgradering fortsätter körningsuppgradningen så länge de angivna tröskelvärdena uppfylls för beräknings- och hanterings-/kontrollnoderna. När datorn har åtgärdats eller ersatts etableras den med den aktuella plattformskörningens operativsystem, som innehåller målversionen av körningen.
Om ett maskinvarufel inträffar och körningsuppgradningen misslyckas på grund av att tröskelvärdena inte uppfylldes för beräknings- och kontrollnoder kan det krävas omkörning av körningsuppgradningen. Beroende på när felet inträffade och tillståndet för de enskilda servrarna i ett rack. Om ett rack uppdaterades före ett fel används den uppgraderade körningsversionen när noderna återskapas. Om rackspecifikationen inte uppdaterades till den uppgraderade körningsversionen före maskinvarufelet skulle datorn etableras med den tidigare körningsversionen. Om du vill uppgradera till den nya körningsversionen skickar du en ny begäran om klusteruppgradering. Endast noderna med den tidigare körningsversionen uppgraderas. Värdar som lyckades i föregående uppgraderingsåtgärd kommer inte att göra det.
Efter en körningsuppgradering visar klustret etableringstillståndet "Misslyckades"
Under en körningsuppgradering anger klustret tillståndet Upgrading
. Om körningsuppgraderingen misslyckas hamnar klustret i ett Failed
etableringstillstånd. Infrastrukturkomponenter (t.ex. lagringsinstallationen) kan orsaka fel under uppgraderingen. I vissa scenarier kan det vara nödvändigt att diagnostisera felet med Microsoft-supporten.