Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: ✔️ Fleet Manager ✔️ Fleet Manager med hubbkluster
Plattformadministratörer som hanterar många kluster har ofta problem med att stegvis hantera uppdateringar av flera kluster (till exempel uppgradering av nodens operativsystemavbildning och Kubernetes-versioner) på ett säkert och förutsägbart sätt. För att hantera den här utmaningen kan du med Azure Kubernetes Fleet Manager (Fleet) samordna uppdateringar över flera kluster med hjälp av uppdateringskörningar.
Uppdateringskörningar består av steg, grupper och strategier och kan tillämpas manuellt för engångsuppdateringar, eller automatiskt, för pågående regelbundna uppdateringar med hjälp av profiler för automatisk uppgradering. Alla uppdateringskörningar (manuella eller automatiserade) respekterar underhållsperioder för medlemskluster.
Den här guiden beskriver hur du konfigurerar och kör uppdateringskörningar manuellt.
Förutsättningar
Läs den konceptuella översikten över den här funktionen, som innehåller en förklaring av uppdateringsstrategier, körningar, faser och grupper som refereras i den här guiden.
Du måste ha en Fleet-resurs med ett eller flera medlemskluster. Om inte, följ snabbstarten för att skapa en Fleet-resurs och ansluta AKS-kluster (Azure Kubernetes Service) som medlemmar.
Ange följande miljövariabler:
export GROUP=<resource-group> export FLEET=<fleet-name>Om du följer Azure CLI-anvisningarna i den här artikeln behöver du Azure CLI version 2.58.0 eller senare installerad. Information om hur du installerar eller uppgraderar finns i Installera Azure CLI.
Du behöver
fleetockså Azure CLI-tillägget som du kan installera genom att köra följande kommando:az extension add --name fleetaz extension updateKör kommandot för att uppdatera till den senaste versionen av tillägget som släpptes:az extension update --name fleet
Definiera klusteruppgraderingssekvensen
Uppdateringskörningen stöder två alternativ för klusteruppgraderingssekvensen:
-
En i taget: Om du inte bryr dig om att styra klusteruppgraderingssekvensen ger
one-by-onedu en enkel metod för att uppgradera alla medlemskluster i flottan i följd en i taget. - Styr sekvensen av kluster med hjälp av uppdateringsgrupper och faser: Om du vill styra klusteruppgraderingssekvensen kan du strukturera medlemskluster i uppdateringsgrupper och uppdateringssteg. Du kan lagra den här sekvensen som en mall i form av en uppdateringsstrategi. Du kan skapa uppdateringskörningar senare med hjälp av uppdateringsstrategierna i stället för att definiera sekvensen varje gång du behöver skapa en uppdateringskörning.
Kommentar
Uppdateringskörningar respekterar de planerade underhållsperioder som du anger på AKS-klusternivå. Mer information finns i planerat underhåll över flera medlemskluster, vilket förklarar hur uppdateringskörningar hanterar medlemskluster som konfigurerats med planerade underhållsperioder.
Uppdatera alla kluster en i taget
I Azure Portal går du till din Azure Kubernetes Fleet Manager-resurs.
På tjänstmenyn går du till Inställningar och väljer Uppdatera flera kluster>Skapa en körning.
Ange ett namn för uppdateringskörningen och välj En i taget som uppgraderingstyp en i taget.
Välj något av följande alternativ för uppgraderingsomfånget:
- Kubernetes-version för både kontrollplans- och nodpooler
- Kubernetes-version för endast kontrollplanet i klustret
- Nodbildens version endast
Välj något av följande alternativ för nodbilden:
- Senaste avbildning: Uppdaterar varje AKS-kluster i uppdateringen till den senaste avbildningen som är tillgänglig för klustret i dess region.
- Konsekvent bild: Eftersom det är möjligt att en uppdateringskörning har AKS-kluster i flera regioner där de senaste tillgängliga nodavbildningarna kan vara olika (kontrollera versionsspåraren för mer information). Uppdateringskörningen väljer den senaste gemensamma avbildningen i alla dessa regioner för att uppnå enhetlighet.
Viktigt
Nodbildversioner är endast giltiga i 90 dagar från det ursprungliga publiceringsdatumet. Om målnodens avbildningsversion som valts av en uppdateringskörning överskrider 90-dagarsfönstret när ett medlemskluster uppgraderas kan uppgraderingen för medlemsklustret misslyckas.
Välj Skapa för att skapa uppdateringskörningen.
Skapa en uppdateringskörning med
az fleet updaterun createkommandot med dina valda värden för flaggorna--upgrade-typeoch--node-image-selection. Följande kommando skapar en uppdateringskörning som uppgraderar Kubernetes-versionen för både kontrollplans- och nodpooler och använder den senaste nodavbildningen som är tillgänglig för varje kluster i dess region.Flaggan
--upgrade-typestöder följande värden:-
Fulluppgraderar Kubernetes-versionen för kontrollplans- och nodpooler tillsammans med nodbilderna. -
ControlPlaneOnlyuppgraderar bara Kubernetes-versionen för kontrollplanet i klustret. -
NodeImageOnlyuppgraderar endast nodbilderna.
Flaggan
--node-image-selectionstöder följande värden:-
Latest: Uppdaterar varje AKS-kluster i uppdateringskörningen till den senaste avbildningen som är tillgänglig för klustret i dess region. -
Consistent: Eftersom det är möjligt att en uppdateringskörning har AKS-kluster i flera regioner där de senaste tillgängliga nodavbildningarna kan vara olika (kontrollera versionsspåraren för mer information). Uppdateringskörningen väljer den senaste gemensamma avbildningen i alla dessa regioner för att uppnå enhetlighet.
az fleet updaterun create \ --resource-group $GROUP \ --fleet-name $FLEET \ --name run-1 \ --upgrade-type Full \ --kubernetes-version 1.26.0 \ --node-image-selection Latest-
Starta uppdateringskörningen med kommandot
az fleet updaterun start.az fleet updaterun start \ --resource-group $GROUP \ --fleet-name $FLEET \ --name run-1
När du skapar en uppdateringskörning kan du styra omfånget för uppdateringskörningen. Flaggan --upgrade-type stöder följande värden:
-
ControlPlaneOnlyuppgraderar bara Kubernetes-versionen för kontrollplanet i klustret. -
Fulluppgraderar Kubernetes-versionen för kontrollplans- och nodpooler tillsammans med nodbilderna. -
NodeImageOnlyuppgraderar endast nodbilderna.
--node-image-selection Flaggan stöder också följande värden:
- Senaste: Uppdaterar varje AKS-kluster i uppdateringen till den senaste avbildningen som är tillgänglig för klustret i dess region.
- Konsekvent: Eftersom det är möjligt att en uppdateringskörning har AKS-kluster i flera regioner där de senaste tillgängliga nodavbildningarna kan vara olika (kontrollera versionsspåraren för mer information). Uppdateringskörningen väljer den senaste gemensamma avbildningen i alla dessa regioner för att uppnå enhetlighet.
Viktigt
Nodbildversioner är endast giltiga i 90 dagar från det ursprungliga publiceringsdatumet. Om målnodens avbildningsversion som valts av en uppdateringskörning överskrider 90-dagarsfönstret när ett medlemskluster uppgraderas kan uppgraderingen för medlemsklustret misslyckas.
Startar en uppdateringskörning:
Starta uppdateringskörningar genom att köra följande kommando:
az fleet updaterun start \
--resource-group $GROUP \
--fleet-name $FLEET \
--name <run-name>
Uppdatera kluster med hjälp av grupper och faser
Du kan definiera en uppdateringsprocess med hjälp av uppdateringsfaser för att stegvis ordna tillämpningen av uppdateringar till olika uppdateringsgrupper. En första uppdateringsfas kan till exempel uppdatera medlemskluster för testmiljön och ett andra uppdateringssteg skulle sedan uppdatera medlemskluster för produktionsmiljön. Du kan också ange vilka godkännanden som krävs före eller efter varje steg och en väntetid mellan uppdateringsstegen. Du kan lagra den här sekvensen som en mall i form av en uppdateringsstrategi.
I Azure Portal går du till din Azure Kubernetes Fleet Manager-resurs.
På tjänstmenyn går du till Inställningar och väljer Uppdatera flera kluster>Skapa en körning.
Ange ett namn för uppdateringskörningen och välj Faser som uppdateringssekvenstyp.
Välj Skapa fas och ange sedan ett namn för fasen och ange godkännanden och en väntetid mellan faserna om så önskas.
Välj de uppdateringsgrupper som du vill ta med i den här fasen. Du kan också ange ordningen på uppdateringsgrupperna om du vill uppdatera dem i en viss sekvens. Välj Skapa när du är klar.
Välj något av följande alternativ för uppgraderingsomfånget:
- Kubernetes-version för både kontrollplans- och nodpooler
- Kubernetes-version för endast kontrollplanet i klustret
- Nodbildens version endast
Välj något av följande alternativ för nodbilden:
- Senaste avbildning: Uppdaterar varje AKS-kluster i uppdateringen till den senaste avbildningen som är tillgänglig för klustret i dess region.
- Konsekvent bild: Eftersom det är möjligt att en uppdateringskörning har AKS-kluster i flera regioner där de senaste tillgängliga nodavbildningarna kan vara olika (kontrollera versionsspåraren för mer information). Uppdateringskörningen väljer den senaste gemensamma avbildningen i alla dessa regioner för att uppnå enhetlighet.
Välj Skapa för att skapa uppdateringskörningen.
Att ange steg och deras ordning varje gång du skapar en uppdateringskörning kan bli repetitivt och besvärligt. Uppdateringsstrategier förenklar den här processen genom att du kan lagra mallar för uppdateringskörningar. För mer information, se skapande och användning av uppdateringsstrategi.
I menyn För uppdatering av flera kluster väljer du uppdateringskörningen och väljer sedan Starta.
Skapa en JSON-fil för att definiera faser och grupper för uppdateringskörningen. Här är ett exempel på indata från fasfilen (example-stages.json):
{ "stages": [ { "name": "stage1", "maxAllowedFailures": "2", "groups": [ { "name": "group-1a" }, { "name": "group-1b" }, { "name": "group-1c" } ], "afterStageWaitInSeconds": 3600 }, { "name": "stage2", "groups": [ { "name": "group-2a", "maxAllowedFailures": "1" }, { "name": "group-2b" }, { "name": "group-2c" } ] } ] }Kommentar
Det valfria
maxAllowedFailuresfältet styr hur många uppgraderingsfel för medlemskluster som tolereras på fas- eller gruppnivå innan segmentet markeras som misslyckat. När den inte är angiven eller är"0"stoppar ett enskilt fel uppdateringskörningen.Den här inställningen utvärderar endast antal fel, inte framgångshastighet. Därför kan en grupp nå
Completedäven om vissa eller alla medlemmar misslyckades, så länge det konfigurerade tröskelvärdet inte överskreds. När körningen är klar ska du alltid granskaFailureCount, medlemsstatus och felmeddelanden.Värden kan vara ett fast heltal (till exempel
"2") eller en procentandel (till exempel"25%"). Mer information finns i Maximalt antal tillåtna fel (förhandsversion).Skapa en uppdateringskörning med
az fleet updaterun createkommandot med--stagesflaggan inställd på namnet på din JSON-fil och dina valda värden för flaggorna--upgrade-typeoch--node-image-selection. Följande kommando skapar en uppdateringskörning som uppgraderar Kubernetes-versionen för både kontrollplans- och nodpooler och använder den senaste nodavbildningen som är tillgänglig för varje kluster i dess region.Flaggan
--upgrade-typestöder följande värden:-
Fulluppgraderar Kubernetes-versionen för kontrollplans- och nodpooler tillsammans med nodbilderna. -
ControlPlaneOnlyuppgraderar bara Kubernetes-versionen för kontrollplanet i klustret. -
NodeImageOnlyuppgraderar endast nodbilderna.
Flaggan
--node-image-selectionstöder följande värden:-
Latest: Uppdaterar varje AKS-kluster i uppdateringskörningen till den senaste avbildningen som är tillgänglig för klustret i dess region. -
Consistent: Eftersom det är möjligt att en uppdateringskörning har AKS-kluster i flera regioner där de senaste tillgängliga nodavbildningarna kan vara olika (kontrollera versionsspåraren för mer information). Uppdateringskörningen väljer den senaste gemensamma avbildningen i alla dessa regioner för att uppnå enhetlighet.
az fleet updaterun create \ --resource-group $GROUP \ --fleet-name $FLEET \ --name run-1 \ --upgrade-type Full \ --kubernetes-version 1.26.0 \ --node-image-selection Latest \ --stages example-stages.json-
Starta uppdateringskörningen med kommandot
az fleet updaterun start.az fleet updaterun start \ --resource-group $GROUP \ --fleet-name $FLEET \ --name run-1
Skapa en uppdateringskörning med uppdateringsstrategier
När du skapar en uppdateringskörning måste du ange faser, grupper och ordning varje gång. Uppdateringsstrategier förenklar den här processen genom att du kan lagra mallar för uppdateringskörningar.
Kommentar
Det går att skapa flera uppdateringskörningar med unika namn från samma uppdateringsstrategi.
Du kan skapa en uppdateringsstrategi med någon av följande metoder:
- Skapa en ny uppdateringsstrategi och referera sedan till den när du skapar en uppdateringskörning.
- Spara en uppdateringsstrategi när du skapar en uppdateringskörning med hjälp av Azure Portal.
Spara en uppdateringsstrategi när du skapar en uppdateringskörning
Hantera en uppdateringskörning
I följande avsnitt beskrivs hur du hanterar en uppdateringskörning med hjälp av Azure Portal och Azure CLI.
På sidan För flerklusteruppdatering för resursen för flottan kan du starta en uppdateringskörning som antingen är i Tillståndet Inte startad eller Misslyckades:
På sidan Multi-cluster-uppdatering av flottans resurs kan du stoppa en uppdatering som antingen körs eller väntar:
I alla uppdateringar som körs i tillståndet Inte startad, Misslyckades eller Körs kan du välja valfri fas och hoppa över uppgraderingen:
Du kan också hoppa över uppgraderingen på uppdateringsgrupp- eller medlemsklusternivå.
Du kan starta en uppdateringskörning som antingen är i tillståndet Inte startad eller Misslyckades med kommandot
az fleet updaterun start:az fleet updaterun start \ --resource-group $GROUP \ --fleet-name $FLEET \ --name <run-name>Du kan stoppa en uppdateringskörning som körs med kommandot
az fleet updaterun stop:az fleet updaterun stop \ --resource-group $GROUP \ --fleet-name $FLEET \ --name <run-name>Du kan hoppa över uppdateringssteg eller grupper genom att ange dem i
--targetsflaggan med kommandotaz fleet updaterun skip:az fleet updaterun skip \ --resource-group $GROUP \ --fleet-name $FLEET \ --name <run-name> \ --targets Group:my-group-name Stage:my-stage-nameMer information finns i konceptuell översikt över uppdateringskörningstillstånden och hoppa över beteendet för körningar/faser/grupper.
Automatisera uppdateringsprocesser med profiler för automatisk uppgradering
Profiler för automatisk uppgradering används för att automatiskt köra uppdateringskörningar i medlemskluster när nya Kubernetes- eller nodavbildningsversioner görs tillgängliga.
Mer information om hur du konfigurerar profiler för automatisk uppgradering finns i automatisera uppgraderingar av Kubernetes- och nodbilder med Azure Kubernetes Fleet Manager.
Generera en uppdateringskörning från en profil för automatisk uppgradering
När du skapar en profil för automatisk uppgradering kan dina kluster finnas i olika versioner av Kubernetes eller nodavbildningen. Beroende på din valda kanal för automatisk uppgradering kan det ta en stund innan en ny version utlöser automatisk uppgradering för att skapa och köra en uppdateringskörning.
Med automatisk uppgradering kan du generera en ny uppdateringskörning när som helst med kommandot az fleet autoupgradeprofile generate-update-run . Den resulterande uppdateringskörningen baseras på den aktuella AKS-publicerade Kubernetes- eller nodbildversionen.
az fleet autoupgradeprofile generate-update-run \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE
Den genererade uppdateringskörningen startas inte automatiskt, så att du kan granska den. Om du är nöjd med den genererade uppdateringskörningen kan du starta och hantera den genom att följa stegen i hantera en uppdateringskörning.
Kommentar
När du manuellt genererar en uppdateringskörning från en profil för automatisk uppgradering kanske den resulterande uppdateringskörningen redan finns. Den här situationen beror på att namnet på uppdateringskörningen baseras på uppgraderingsspecifikationen för profilen för automatisk uppgradering, som bara ändras när egenskaper som nodavbildningen eller Kubernetes-versionen ändras. I det här scenariot ändras inte den befintliga uppdateringskörningen.