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.
Administratörer kan styra sekvensen med uppdateringar till Fleet-hanterade kluster genom att definiera en serie faser och grupper. De kan konfigurera när godkännanden och pauser ska ske inom dessa faser och grupper. Hela konfigurationen kan sparas som en uppdateringsstrategi som kan hanteras oberoende av uppdateringskörningar eller automatiska uppgraderingar, så att strategier kan återanvändas efter behov.
Den här artikeln beskriver hur du definierar uppdateringsstrategier med hjälp av grupper och faser.
Förutsättningar
Läs den konceptuella översikten över uppdateringar av flottan, som innehåller en förklaring av uppdateringskörningar, steg, grupper och strategier som refereras i den här guiden.
Du måste ha en fleet-resurs med ett eller flera medlemskluster. Om inte följer du snabbstarten för att skapa en Fleet-resurs och ansluta till AKS-kluster (Azure Kubernetes Service) som medlemmar.
Ange följande miljövariabler:
export GROUP=<resource-group> export FLEET=<fleet-name> export CLUSTERID=<aks-cluster-resource-id> export STRATEGY=<strategy-name>Om du följer Azure CLI-anvisningarna i den här artikeln behöver du Azure CLI version 2.70.0 eller senare installerad. Information om hur du installerar eller uppgraderar finns i Installera Azure CLI.
Du behöver
fleetockså Azure CLI-tillägget version 1.6.0 eller senare, 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
Välj kluster för din strategi
Det finns två sätt att välja vilka kluster som ska ingå i varje steg och en grupp av din uppdateringsstrategi för att styra uppdateringssekvensen:
-
Medlemsetiketter (rekommenderas): Tilldela etiketter till varje medlem i flottan och använd
memberSelectorför att välja medlemmar efter dessa etiketter. Varje medlem kan ha flera etiketter. - Uppdateringsgrupper: Tilldela en uppdateringsgrupp till varje medlem i flottan och definiera sedan grupper i din strategi som matchar dessa gruppnamn. Varje medlem kan bara tillhöra en grupp.
Skapa en uppdateringsstrategi med medlemsväljare (förhandsversion)
Medlemsetiketter är den rekommenderade metoden för att välja kluster i dina uppdateringsstrategier eftersom de ger mer flexibilitet. Konceptuell information finns i Gruppera kluster med medlemsetiketter.
Important
Förhandsversionsfunktionerna i Azure Kubernetes Fleet Manager är tillgängliga via självbetjäning och opt-in. Förhandsversioner tillhandahålls "i befintligt skick" och "i mån av tillgång," och de är undantagna från servicenivåavtal och begränsad garanti. Förhandsversioner av Azure Kubernetes Fleet Manager omfattas delvis av kundsupport på bästa förmåga. Därför är dessa funktioner inte avsedda för produktionsanvändning.
Använda etiketter på medlemskluster
Använd etiketter när du lägger till medlemskluster i flottan
Använd etiketter på dina medlemmar i flottan med hjälp av az fleet member create kommandot . I följande exempel tillämpas två etiketter på medlemsklustret: env=staging och tier=frontend:
az fleet member create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name member1 \
--member-cluster-id $CLUSTERID \
--labels "env=staging tier=frontend"
Tillämpa etiketter på en befintlig medlem i flottan
Använd etiketter på dina medlemmar i flottan med hjälp av az fleet member update kommandot
az fleet member update \
--resource-group $GROUP \
--fleet-name $FLEET \
--name member1 \
--labels "env=staging tier=frontend"
Skapa en uppdateringsstrategi
En uppdateringsstrategi består av ett eller flera steg, där en fas kan innehålla en eller flera uppdateringsgrupper.
Skapa en JSON-fil för att definiera faser och grupper för uppdateringskörningen. Faserna körs sekventiellt i den ordning de visas i JSON-formatet. Grupper körs parallellt inom varje steg. Följande exempelfil (example-labels-strategy.json) definierar en strategi med två steg som använder
memberSelectorför att välja kluster efter deras etiketter och innehåller valfriamaxConcurrencyinställningar:-
stagingFasen använder en stegnivåmemberSelectorför att välja alla kluster med etikettenenv=stagingoch skapa en implicit grupp. -
productionFasen använder en stegnivåmemberSelectorför att förfiltrera alla kluster med etikettenenv=productionoch definierar sedan två grupper, var och en med sin egenmemberSelectorför att välja kluster eftertieretiketten.
När
memberSelectoranges i en grupp används gruppens fält endast som visningsidentifierarenameför statusrapportering och loggning och används inte längre för uppdateringsgruppsbaserat urval av medlemmar i flottan.{ "stages": [ { "name": "staging", "memberSelector": { "byLabel": "env=staging" }, "maxConcurrency": "1", "afterStageWaitInSeconds": 600 }, { "name": "production", "memberSelector": { "byLabel": "env=production" }, "maxConcurrency": "4", "groups": [ { "name": "frontend", "memberSelector": { "byLabel": "tier=frontend" }, "maxConcurrency": "3" }, { "name": "backend", "memberSelector": { "byLabel": "tier=backend" }, "maxConcurrency": "3" } ] } ] }-
Kommentar
Fältet maxConcurrency är valfritt och styr hur många kluster som kan uppgraderas samtidigt på fas- eller gruppnivå. Använd ett större värde för att uppgradera kluster snabbare i din flotta, eller ett mindre värde för en mer kontrollerad distribution som begränsar explosionsradien om det uppstår problem.
När en fas använder memberSelector utan grupper (till exempel staging) bildar alla matchande medlemmar en enda implicit grupp och fasens maxConcurrency kontroller samtidighet direkt. När grupper definieras (t.ex production. ) fungerar stegnivån maxConcurrency som ett övergripande tak för alla grupper.
I det här exemplet anger staging-steget maxConcurrency-fasen till "1", så att stagingkluster uppgraderas en i taget.
production Fasen tillåter upp till "4" kluster samtidigt, med frontend och backend grupperna var och en begränsade till "3".
Värden kan vara ett fast heltal (till exempel "3") eller en procentandel (till exempel "50%"). Om det utelämnas tillämpar systemet standardvärden. Mer information om hur dessa värden matchas och deras övre gränser finns i Maximal samtidighet (förhandsversion).
Skapa en ny uppdateringsstrategi med
az fleet updatestrategy createkommandot med--stagesflaggan inställd på namnet på din JSON-fil.az fleet updatestrategy create \ --resource-group $GROUP \ --fleet-name $FLEET \ --name $STRATEGY \ --stages example-labels-strategy.json
Skapa en uppdateringsstrategi med hjälp av uppdateringsgrupper
Kluster kan också väljas i uppdateringsstrategier genom att tilldela dem till en enda uppdateringsgrupp. Du kan definiera en uppdateringsstrategi som tilldelar dessa uppdateringsgrupper till faser. I en uppdateringsfas tillämpas uppdateringar på varje uppdateringsgrupp parallellt. I en uppdateringsgrupp uppdateras medlemskluster sekventiellt.
Kommentar
En medlem i flottan kan bara ingå i en uppdateringsgrupp, men en uppdateringsgrupp kan ha flera medlemmar i flottan tilldelade. En uppdateringsgrupp i sig är inte en separat resurstyp. Uppdateringsgrupper är endast textsträngar som representerar referenser från flottans medlemmar. Så om alla medlemmar i flottan med referenser till en gemensam uppdateringsgrupp tas bort upphör även den specifika uppdateringsgruppen att finnas.
Tilldela kluster till uppdateringsgrupper
Tilldela till grupp när du lägger till medlemskluster i flottan
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 Medlemskluster>Lägg till.
Välj det kluster som du vill lägga till och välj sedan Nästa: Granska + lägg till.
Ange namnet på den uppdateringsgrupp som du vill tilldela klustret till och välj sedan Lägg till.
Tilldela en befintlig medlem i flottan till en uppdateringsgrupp
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 Medlemskluster.
Välj de kluster som du vill tilldela till en uppdateringsgrupp och välj sedan Tilldela uppdateringsgrupp
Ange namnet på den uppdateringsgrupp som du vill tilldela klustret till och välj sedan Tilldela.
Skapa en uppdateringsstrategi
En uppdateringsstrategi består av ett eller flera steg, där en fas kan innehålla en eller flera uppdateringsgrupper.
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 >av flera kluster och sedan Skapa.
Ange ett namn för strategin.
Första gången du visar sidan visas ett förklaringsdiagram för uppdateringsstrategi som kan hjälpa dig att visualisera hur strategier fungerar.
Välj Skapa fas och ange:
- Fasnamn – namnge fasen – det måste vara unikt för alla scennamn i strategin.
- (Valfritt) Steggodkännanden – välj det här alternativet om du vill vänta på ett godkännande innan det här steget startar eller när det har slutförts. Mer information finns i Lägga till godkännanden för att uppdatera grupper och faser.
- (Valfritt) Pausa efter fas – välj det här alternativet om du vill definiera en paus innan du går vidare till nästa steg.
- (Valfritt) Pausa varaktighet – välj en fördefinierad varaktighet eller ange ett anpassat värde i sekunder.
Tilldela en eller flera uppdateringsgrupper till fasen och välj sedan Skapa.
Kommentar
Det maximala antalet uppdateringsgrupper i varje uppdateringssteg är 50.
Nästa steg
Du kan använda en uppdateringsstrategi som en del av en manuell uppdateringskörning eller en profil för automatisk uppgradering. Se:
- Anvisningar: Uppgradera flera kluster med azure Kubernetes Fleet Manager-uppdateringskörningar.
- Anvisningar: Lägga till godkännanden i Azure Kubernetes Fleet Manager Update Strategies.
- Anvisningar: Uppgradera automatiskt flera kluster med Azure Kubernetes Fleet Manager.
- Vanliga frågor och svar om flerklusteruppdateringar.