Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: ✔️ Fleet Manager ✔️ Fleet Manager met hubcluster
Platformbeheerders die grote aantallen clusters beheren, hebben vaak problemen met het faseren van updates voor meerdere clusters (bijvoorbeeld het upgraden van de installatiekopie van het knooppuntbesturingssysteem of kubernetes-versies) op een veilige en voorspelbare manier. Om deze uitdaging aan te pakken, kunt u met Azure Kubernetes Fleet Manager updates in meerdere clusters organiseren met behulp van updateuitvoeringen.
Updateuitvoeringen bestaan uit fasen, groepen en strategieën. U kunt updateuitvoeringen handmatig toepassen voor eenmalige updates of automatisch voor doorlopende reguliere updates met behulp van profielen voor automatische upgrade. Alle updateuitvoeringen, zowel handmatig als geautomatiseerd, houden rekening met onderhoudsvensters voor clusters.
Inzicht in updateruns
Een updateuitvoering vertegenwoordigt een update die wordt toegepast op een verzameling AKS-clusters. Het bestaat uit het doel van de update en de volgorde. Het doel van de update beschrijft de gewenste wijzigingen. Bijvoorbeeld upgraden naar een specifieke Kubernetes-versie of dezelfde node-image gebruiken voor alle clusters.
Om de beste resultaten te behalen bij het gebruik van updateuitvoeringen, is het belangrijk dat u de volgende concepten begrijpt.
Updatestrategie: beschrijft een herbruikbare updatereeks die bestaat uit fasen en groepen clusters. Een cluster wordt weergegeven in een groep in een fase op basis van de updategroep of lidlabels waaraan het is toegewezen. Zie update-strategieën begrijpen voor meer informatie.
Updatefase: een updatestrategie is onderverdeeld in updatefasen, die opeenvolgend worden toegepast. Testomgevingsclusters bevinden zich bijvoorbeeld in de eerste updatefase, terwijl productieomgevingsclusters in een tweede updatefase gaan. Een updatefase bevat een of meer updategroepen. U kunt aanvullende besturingselementen gebruiken, zoals maximale gelijktijdigheid, wachttijden en goedkeuringspoorten voor meer controle over de uitvoering van updatefasen.
Updategroep: Elke updatefase bevat een of meer updategroepen, die clusters selecteren die moeten worden bijgewerkt. Wijs memberclusters toe aan Updategroepen met behulp van de eigenschap Updategroep van het cluster of via de previewfunctie voor labelgebaseerde overeenstemming met behulp van memberlabels. Updategroepen in een update van een updatefase worden parallel bijgewerkt.
Notitie
Het maximum aantal updategroepen in elke updatefase is 50.
Verdere besturingselementen voor stromen: er zijn meer besturingselementen beschikbaar om flexibiliteit te bieden over hoe snel een vloot clusters kan worden bijgewerkt:
Maximale gelijktijdigheid (preview): gebruik de configuratie voor maximale gelijktijdigheid om te wijzigen hoeveel clusters parallel worden bijgewerkt. U kunt dit gedrag configureren op zowel fase- als groepsniveau.
Maximaal toegestane fouten (preview): gebruik de configuratie voor maximaal toegestane fouten om te bepalen hoeveel mislukte upgraden van lidclusters worden getolereerd voordat de updateuitvoering wordt gestopt. U kunt dit gedrag configureren op zowel fase- als groepsniveau.
Gates: Onderbreek de update totdat aan de voorwaarden is voldaan.
Goedkeuringspoorten (preview): kan worden geconfigureerd voor of na elke fase of groep. Goedkeuringen pauzeren de update, zodat jij of de automatiseringen die je hebt ingesteld kunnen controleren of het goed is om door te gaan. Nadat u of uw automatisering goedkeuring heeft verleend, wordt de updateuitvoering voortgezet.
Geplande beginpoorten (preview): kan worden geconfigureerd voor elke fase of groep. Geplande startpoorten onderbreken de updateuitvoering tot een opgegeven dag en tijd. De poort wordt automatisch voltooid wanneer de geplande tijd is bereikt of u kunt deze handmatig voltooien om door te gaan op elk gewenst moment.
Profiel voor automatische upgrade: automatisch een updateuitvoering maken en starten wanneer nieuwe versies van Kubernetes of knooppuntinstallatiekopieën beschikbaar worden gesteld door AKS. Zie voor meer informatie over profielen voor automatische upgrade.
Opties voor uitvoeren bijwerken
Bijwerkuitvoeringen kunnen drie typen upgrades toepassen:
- Kubernetes-versies upgraden voor het besturingsvlak en de knooppunten. Deze upgrade omvat ook een upgrade van de node-image.
- Voer een upgrade uit van Kubernetes-versies voor alleen het besturingsvlak van de clusters.
- Alleen de knooppuntafbeeldingen bijwerken.
U kunt de Kubernetes-doelversie opgeven waarnaar u wilt upgraden, maar u kunt de versies van de doelknooppuntinstallatiekopieën niet selecteren. Het systeem selecteert automatisch de versies van de installatiekopieën voor het doelknooppunt op basis van uw voorkeuren:
- Meest recente: Gebruik de nieuwste knooppuntinstallatiekopieën die beschikbaar zijn in de Azure regio van elk cluster wanneer de upgrade van dat cluster wordt gestart. Als gevolg hiervan kunnen verschillende installatiekopieën in de hele vloot worden gebruikt, afhankelijk van de Azure regio waarin een cluster zich bevindt en wanneer de upgrade daadwerkelijk wordt gestart.
- Consistent: Wanneer de updateuitvoering wordt gestart, kiest u installatiekopieversies die momenteel beschikbaar zijn in alle Azure regio's waar de clusters in deze uitvoering zich bevinden. Daarom worden in alle clusters dezelfde imageversies gebruikt.
Kies Nieuwste om nieuwere versies van installatiekopieën te gebruiken en beveiligingsrisico's te minimaliseren. Kies Consistent om de betrouwbaarheid te verbeteren door deze installatiekopieën in clusters in eerdere fasen te gebruiken en te verifiëren voordat u ze in latere clusters gebruikt.
Statussen van runs bijwerken
Als u de levenscyclus van een updateuitvoering wilt begrijpen, moet u elke status, de acties die u kunt ondernemen en hoe de status wordt berekend, weten.
| Status | Mogelijke overgangen | Description | Mogelijke acties |
|---|---|---|---|
| Niet gestart |
-
Wordt uitgevoerd - In behandeling |
De update-uitvoering is niet gestart. | Geen |
| Uitvoeren |
-
In afwachting - Mislukt - Gestopt |
De update wordt uitgevoerd voor ten minste één cluster. | Stoppen |
| Pending |
-
Met - Mislukt - Gestopt |
De huidige status is In behandeling. Bekijk een gedetailleerd overzicht van de status In behandeling. |
Stoppen |
| Overgeslagen | - Gestopt | Bekijk een gedetailleerd overzicht van de overgeslagen statussen. | Stoppen |
| Gestopt |
-
Actief - In behandeling - Mislukt |
Een gebruiker heeft de updateuitvoering gestopt. | Start |
| stoppen |
-
Gestopt - Mislukt |
Een gebruikersaanvraag of mislukte clusterupgrades hebben de updateuitvoering geactiveerd om te stoppen. Het bijwerken van clusters wordt afgerond. |
Geen |
| Mislukt |
-
Actief - In behandeling - Mislukt |
Een clusterupgrade is mislukt, dus de updateuitvoering wordt gestopt met de status Mislukt. Bekijk het gedetailleerde overzicht van de mislukte status. |
Start |
| Completed | Geen | De update is voltooid. | Geen |
Notitie
U kunt een mislukte of gestopte updateuitvoering op elk gewenst moment opnieuw starten. De updateuitvoering die opnieuw is gestart, begint met het laatste niet-verwerkte cluster.
Status in behandeling
-
Update uitvoeren: als de huidige fase de status
Pendingheeft. -
Updatefase: als alle Update Groups in de fase
Pendingof niet gestart zijn, of als de fase eenPendinggate heeft. -
Updategroep: als alle clusters in de groep
Pendingzijn of niet zijn gestart, of als de groep eenPendingblokkade heeft. Wanneer een cluster naartoePendingwordt verplaatst, probeert de updateuitvoering het volgende cluster in de groep bij te werken. Als alle leden zijnPending, wordt de groep verplaatst naarPending. De updatebewerking wacht totdat alle groepen in een fase zijn afgerond voordat wordt doorgegaan naar de volgende fase. -
Lidcluster: om een van de volgende redenen, die u in het berichtveld kunt bekijken.
- Het onderhoudsvenster is niet geopend. Bericht geeft de volgende openingstijd aan.
- De beoogde versie van Kubernetes of de node-installatiekopie is nog niet beschikbaar in de Azure-regio van het cluster. Het bericht bevat koppelingen naar de AKS-releasetracker om de releasestatus te controleren.
Overgeslagen status
-
Update-run: het systeem heeft vastgesteld dat alle fasen
Skippedwaren. -
Updatefase: een gebruiker heeft de fase gemarkeerd of alle groepen in de fase als
Skipped. -
Groep bijwerken: een gebruiker heeft de groep of alle clusters in de groep gemarkeerd als
Skipped. -
Lidcluster: om een van de volgende redenen, die u in het berichtveld kunt bekijken.
- De gebruiker heeft het cluster, de groep of de fase uitdrukkelijk overgeslagen.
- Het cluster heeft al de doelversie van Kubernetes (als de uitvoeringsmodus van de update
FullofControlPlaneOnlyis) en alle nodepools hebben al de doelversie van de node-installatiekopie. - Wanneer een consistente node-installatiekopie is geselecteerd en het niet mogelijk is om voor een van de nodepools de doelversie van de installatiekopie te vinden. Deze situatie kan optreden wanneer een nieuwe knooppuntgroep met een nieuwe VM-SKU (virtuele machine) wordt toegevoegd nadat een update-uitvoering is gestart.
Status mislukt
De status Mislukt wordt vanuit clusters doorgegeven, zoals weergegeven. Een samenvattend foutbericht geeft de oorzaak van de mislukte upgrade van het cluster weer.
- Updateuitvoering: ten minste één cluster in de huidige groep is mislukt.
- Updatefase: ten minste één cluster in een groep in de fase is mislukt.
- Updategroep: ten minste één cluster in de groep is mislukt.
-
Lidcluster: de upgrade is mislukt en de clusterstatus is ingesteld als
Failed.
Wanneer u maximaal toegestane fouten configureert, heeft de drempelwaarde voor fouten invloed op de status van de updategroep, de updatefase en de updateuitvoering. Dit heeft geen invloed op de status van een afzonderlijk lidcluster. Als een upgrade van een lidcluster mislukt, is de status ervan nog steeds ingesteld op Failed.
- Als het aantal fouten voor de groep of fase de geconfigureerde
maxAllowedFailuresdrempelwaarde overschrijdt, wordt de groep of fase gemarkeerd alsFailedeen samenvattingsfoutbericht en wordt de updateuitvoering gestopt. Als er geenmaxAllowedFailuresis geconfigureerd (of is ingesteld op0), stopt één fout de hele uitvoering. - Als het aantal fouten binnen de
maxAllowedFailuresdrempelwaarde valt, wordt de updateuitvoering voortgezet met het upgraden van volgende leden. Zie Maximaal toegestane fouten voor meer informatie.
Notitie
Zelfs wanneer een clusterupdate mislukt, worden andere actieve clusterupdates voortgezet. De uitvoeringsstatus van de update wordt weergegeven als Stoppen totdat alle actieve clusterupdates zijn voltooid.
Status voltooid
Een Completed status betekent dat de updateuitvoering de status van de levenscyclus van de terminal heeft bereikt. Wanneer u maximaal toegestane fouten gebruikt, Completed betekent dit dat de geconfigureerde drempelwaarde voor fouten niet is overschreden wanneer Fleet Manager heeft besloten of de planning van het werk moet worden voortgezet. Het garandeert geen minimum slagingspercentage of gezonde resultaten. Controleer altijd FailureCount, lidstaten en foutmeldingen.
Geplande onderhoudsvensters
Update wordt uitgevoerd op geplande onderhoudsvensters die u hebt ingesteld op het niveau van het AKS-cluster.
AKS-clusters ondersteunen twee afzonderlijke onderhoudsvensters: één voor Kubernetes-upgrades (besturingsvlak) en één voor upgrades van knooppuntinstallatiekopieën. Onderhoudsvensters definiëren perioden waarin updates kunnen worden toegepast op een cluster, maar geen updatetrigger zijn.
Fleet Manager-updates respecteren de AKS-onderhoudsvensters als volgt:
| Fleet Manager-updatekanaal | AKS-upgradeoptie | Instelling voor AKS-onderhoudsvenster |
|---|---|---|
| Kubernetes-besturingsvlak | Kubernetes-versie | AKSManagedAutoUpgradeSchedule |
| Kubernetes + knooppuntimage | Kubernetes-versie | AKSManagedAutoUpgradeSchedule |
| Alleen knooppuntafbeelding | Knooppunt afbeelding | AKSManagedNodeOSAutoUpgradeSchema |
De update geeft prioriteit aan het upgraden van clusters op basis van gepland onderhoud in de volgende volgorde:
- Cluster met een geopend onderhoudsvenster.
- Cluster met een onderhoudsvenster dat in de komende vier uur begint.
- Cluster zonder onderhoudsvenster.
- Cluster met een gesloten onderhoudsvenster.
Overzicht van profielen voor automatische upgrade
Gebruik profielen voor automatische upgrades om updateruns automatisch te starten wanneer er voor AKS nieuwe versies van Kubernetes of knooppuntafbeeldingen beschikbaar zijn.
In een profiel voor automatische upgrade configureert u het volgende:
- een kanaal (Rapid, Stable, TargetKubernetesVersion, NodeImage, SecurityPatch (preview)) dat bepaalt welk type update op de clusters wordt toegepast.
- een UpdateStrategy waarmee de volgorde wordt geconfigureerd waarin de clusters worden bijgewerkt. Als u geen strategie opgeeft, worden clusters één voor één opeenvolgend bijgewerkt.
- de NodeImageSelectionType (Latest, Consistent) om op te geven hoe de knooppuntimage wordt geselecteerd bij het upgraden van de Kubernetes-versie.
Notitie
Wanneer u een profiel voor automatische upgrades maakt, kan het dagen of weken duren voordat een nieuwe release van Kubernetes of een nieuwe knooppuntimage van AKS ertoe leidt dat automatische upgrade een update-uitvoering maakt en uitvoert.
U kunt op elk gewenst moment een update-uitvoering genereren vanuit een profiel voor automatisch upgraden met behulp van de az fleet autoupgradeprofile generate-update-run opdracht. De resulterende updateuitvoering is gebaseerd op de huidige versie van de door AKS gepubliceerde Kubernetes- of knooppuntinstallatiekopieën.
Voor meer informatie over het maken van een updateuitvoering op aanvraag vanuit een profiel voor automatische upgrade, zie een updateuitvoering genereren vanuit een profiel voor automatische upgrade.
Houd rekening met de volgende informatie bij het gebruik van automatische upgrade:
Automatisch upgraden werkt alleen bij naar algemeen beschikbare versies van Kubernetes en werkt niet bij naar previewversies.
Voor automatische upgrade moet de Kubernetes-versie van het cluster zich in het ondersteuningsvenster van AKS bevinden.
Als een cluster geen gedefinieerd gepland onderhoudvenster heeft, wordt het onmiddellijk bijgewerkt wanneer de update-uitvoering het cluster bereikt.
Als u uw Kubernetes-versie wilt upgraden, moet u een profiel voor automatische upgrade maken met
Rapid,StableofTargetKubernetesVersionkanalen.Wanneer u het
TargetKubernetesVersionkanaal gebruikt, moet u de Kubernetes-doelversie opgeven met behulp van de--target-kubernetes-versionparameter.Als u uw Node Image-versie wilt upgraden, maak dan een Auto-upgradeprofiel met de kanalen
NodeImageofSecurityPatch.Het
SecurityPatchkanaal past alleen beveiligingspatches toe op Linux-knooppunten. Windows knooppunten worden overgeslagen.U kunt meerdere profielen voor automatische upgrade maken voor dezelfde Fleet Manager.
Snel kanaal
Het Rapid-kanaal is altijd de meest recente door AKS ondersteunde Kubernetes-secundaire release. Secundaire clusterversies worden automatisch gewijzigd wanneer AKS een nieuwe secundaire Kubernetes-versie publiceert.
Voorbeelden:
- De meest recente ondersteunde secundaire versie is 1.30. Elke patchversie in de minorreeks 1.30 komt in aanmerking voor updates voor het Rapid-kanaal.
- Er wordt een nieuwe secundaire Kubernetes-versie van 1.31 gepubliceerd. 1.30 schakelt naar het Stabiele kanaal. Elk cluster dat eerder updates van 1.30 ontvangt, wordt bijgewerkt naar de meest recente patch voor 1.31 dat nu het Rapid-kanaal is.
Stabiel kanaal
Het Stabiele kanaal is altijd de secundaire versie vóór het Rapid-kanaal . Soms verwijzen mensen naar Stable als 'N-1', waarbij 'N' de meest recente (Rapid-kanaal) ondersteunde Kubernetes-secundaire versie is. Secundaire clusterversies worden automatisch gewijzigd wanneer AKS een nieuwe secundaire Kubernetes-versie publiceert.
Voorbeelden:
- De meest recente ondersteunde secundaire Kubernetes-versie is 1.30. Eventuele patchreleases in de minorreeks van 1.29 worden in aanmerking genomen voor updates voor het stabiele kanaal.
- Er wordt een nieuwe secundaire Kubernetes-versie van 1.31 gepubliceerd. Het Stable-kanaal beschouwt elke patchrelease in het secundaire bereik van 1.30 voor updates. Elk cluster dat eerder updates van 1.29 ontvangt, wordt bijgewerkt naar de meest recente patch voor 1.30.
TargetKubernetesVersion-kanaal
Het TargetKubernetesVersion-kanaal geeft u controle over wanneer u uw clusters naar de volgende secundaire Kubernetes-versie verplaatst. U moet de kubernetes-doelversie opgeven in de indeling {major}. {minor}" (bijvoorbeeld '1,33'). Fleet Manager werkt clusters automatisch bij naar de nieuwste patchversie van de opgegeven Kubernetes-doelversie wanneer de patch beschikbaar is. Fleet Manager wordt pas geüpgraded naar de volgende minor-versie wanneer de Kubernetes-doelversie van het auto-upgradeprofiel is bijgewerkt.
Voorbeelden:
- U maakt een profiel voor automatische upgrade met behulp van het TargetKubernetesVersion-kanaal en geeft een Kubernetes-doelversie van '1.30' op. Er wordt een nieuwe patchversie 1.30.5 gepubliceerd. Er wordt automatisch een updaterun gemaakt met als doelversie 1.30.5.
- U maakt een profiel voor automatische upgrade met behulp van het TargetKubernetesVersion-kanaal, geeft een Kubernetes-doelversie van '1.29' op en schakelt LongTermSupport (LTS) in het profiel voor automatische upgrade in. De meest recente ondersteunde secundaire versie van de community is 1.33. Er wordt een nieuwe patchversie 1.29.5 gepubliceerd. Er wordt automatisch een update-uitvoering gemaakt met als doelversie 1.29.5. Als de gegenereerde updateuitvoering clusters bevat zonder LTS ingeschakeld, mislukt deze.
Gedrag bij het overslaan van secundaire versies
Met automatische upgrade worden clusters niet verplaatst tussen secundaire Kubernetes-versies wanneer er meer dan één secundair Kubernetes-versieverschil is (bijvoorbeeld: 1.28 tot 1.30). Wanneer beheerders een diverse set Kubernetes-versies hebben, moet u eerst een of meer updateruns gebruiken om clusters in een set consistente versies te brengen, zodat geconfigureerde Stable of Rapid kanaalupdates ervoor zorgen dat consistentie in de toekomst behouden blijft.
NodeImage-kanaal
Lidclusterknooppunten worden bijgewerkt met een nieuw gepatchte VHD met beveiligingsoplossingen en bugfixes op een wekelijkse frequentie. De update naar de nieuwe VHD is disruptief, volgend op onderhoudsvensters en piekinstellingen. Er worden geen extra VHD-kosten gemaakt bij het kiezen van deze optie. Upgrades van knooppuntinstallatiekopieën ondersteunen patchversies die zijn afgeschaft, zolang de secundaire Kubernetes-versie nog steeds wordt ondersteund. Node-afbeeldingen worden door AKS getest, zijn volledig beheerd en worden toegepast met veilige implementatiepraktijken.
Knooppunten op verschillende besturingssystemen worden bijgewerkt in overeenstemming met de node-afbeeldingsversies die zijn afgestemd op die besturingssystemen.
Voorbeeld:
- Een cluster heeft knooppunten met een NodeImage van AKSWindows-2022-containerd van versie 20348.2582.240716. Er wordt een nieuwe NodeImage-versie 20348.2582.240916 uitgebracht en de clusterknooppunten worden automatisch bijgewerkt naar versie 20348.2582.240916.
Belangrijk
Versies van knooppuntafbeeldingen zijn slechts 90 dagen geldig na de oorspronkelijke publicatiedatum. Als de versie van het doelknooppuntbeeld die is geselecteerd door een bijwerkingsproces het 90-dagen venster overschrijdt wanneer een lidcluster wordt bijgewerkt, kan de upgrade voor dat lidcluster mislukken.
Inzicht in upgrades en momentopnamen van knooppunt-afbeeldingen
Wanneer een cluster agentpools bevat die zijn gemaakt vanuit een snapshot van een nodepool, hangt het resultaat van de upgrade van de node-installatiekopie af van de selectie van de node-installatiekopie in Fleet Manager Update Run.
| Selectie van knooppuntafbeelding | Resultaat van upgrade |
|---|---|
| Latest | Volgt het standaardgedrag van de AKS-upgrade. De agentgroep houdt de verwijzing naar de momentopname (creationData) en de knooppuntafbeelding wordt niet gewijzigd. |
| Consistent | De knooppuntimage wordt geüpgraded naar de versie die wordt bepaald door Fleet Manager. De verwijzing naar de momentopname (creationData) wordt verwijderd uit de agent pool. |
SecurityPatch-kanaal (previewversie)
Werk knooppunten van lidclusters met Linux wekelijks bij met uitsluitend beveiligingsupdates. Canonical Ubuntu en Azure Linux maken besturingssysteembeveiligingspatches eenmaal per dag beschikbaar. Microsoft test deze patches en bundelt ze in wekelijkse updates van node-images.
Belangrijk
Azure Preview-functies van Kubernetes Fleet Manager zijn beschikbaar op basis van selfservice, opt-in. Previews worden geleverd 'zoals aangeboden' en 'voor zover beschikbaar' en worden uitgesloten van de serviceovereenkomsten en beperkte garantie. Azure Previews van Kubernetes Fleet Manager vallen gedeeltelijk onder klantondersteuning op een best-effort basis. Daarom zijn deze functies niet bedoeld voor productiegebruik.
Het SecurityPatch Auto Upgrade-kanaal is minder verstorend omdat het live patchen van het besturingssysteem indien mogelijk gebruikt, waardoor knooppuntonderbreking wordt geminimaliseerd terwijl knooppunten worden beschermd tegen bekende beveiligingsproblemen. Wanneer live patching niet mogelijk is, wordt in plaats daarvan een installatiekopie van een vooraf gepatcht knooppunt geïmplementeerd.
Alleen Linux-knooppunten worden bijgewerkt bij het gebruik van SecurityPatch, en Windows-knooppunten worden automatisch overgeslagen.
Als u bugfixes nodig hebt die met nieuwe node-installatiekopieën (VHD) worden geleverd, of een consistente ervaring met Windows-knooppunten, kies dan in plaats daarvan het NodeImage-kanaal.
Inzicht in updatestrategieën
Beheerders kunnen de volgorde bepalen waarin clusters worden bijgewerkt door herbruikbare updatestrategieën te bouwen met behulp van een reeks updatefasen en groepen. Ze kunnen configureren wanneer goedkeuringen en pauzes moeten plaatsvinden binnen die fasen en groepen. De volledige configuratie kan worden opgeslagen als een updatestrategie die onafhankelijk van updateuitvoeringen of profielen voor automatische upgrades kan worden beheerd, zodat strategieën naar behoefte opnieuw kunnen worden gebruikt.
Clusters groeperen met lidlabels (preview)
Lidlabels kunnen worden gebruikt om clusters te groeperen en uw updatevolgorde te configureren met Kubernetes-labelkiezers. Op deze manier kunt u meerdere labels toewijzen aan lidclusters en deze gebruiken voor verschillende strategieën in plaats van te worden beperkt tot één updategroep per cluster. U kunt clusters in uw strategie groeperen met hun lidlabels door deze memberSelector op twee niveaus te configureren voor uw strategie:
- Faseniveau: Hiermee selecteert u clusters voor de hele fase. Wanneer er geen groepen zijn gedefinieerd, vormen alle overeenkomende clusters één impliciete groep. Wanneer groepen ook worden gedefinieerd, fungeert de fase-niveau selector als een prefilter voordat de overeenkomst op groepsniveau wordt toegepast.
- Groepeerniveau: Selecteert clusters voor een specifieke groep binnen een fase, waardoor parallelle subsets met verschillende gelijktijdigheidslimieten worden ingeschakeld.
Belangrijk
Azure Preview-functies van Kubernetes Fleet Manager zijn beschikbaar op basis van selfservice, opt-in. Previews worden geleverd 'zoals aangeboden' en 'voor zover beschikbaar' en worden uitgesloten van de serviceovereenkomsten en beperkte garantie. Azure Previews van Kubernetes Fleet Manager vallen gedeeltelijk onder klantondersteuning op een best-effort basis. Daarom zijn deze functies niet bedoeld voor productiegebruik.
memberSelector maakt gebruik van een labelkiezer op basis van tekenreeksen die wordt geparseerd met behulp van de standaard-Kubernetes-labelkiezersyntaxis. Ondersteunde operators zijn: =, ==, !=, in, notin, , , existsen !exists.
Notitie
Gebruik ledenlabels in plaats van updategroepen om clusters te groeperen binnen updatestrategieën. Door lidlabels te gebruiken, kunt u eenvoudig grote vloten beheren met dynamische lidmaatschaps- en complexe groeperingsbehoeften.
Bestaande strategieën op basis van groepsnamen blijven werken zonder wijzigingen.
Zie memberSelector voor instructies over het toewijzen van lidlabels en het gebruik ervan in een strategie.
Maximale gelijktijdigheid (voorvertoning)
Maximum concurrency is een optionele instelling voor uw updatestrategie waarmee wordt bepaald hoeveel clusters gelijktijdig kunnen worden bijgewerkt. U kunt Maximum concurrency op twee niveaus instellen.
- Faseniveau: Definieert het maximum aantal clusters dat tegelijkertijd kan worden bijgewerkt voor alle groepen in een fase. Fungeert als een globaal plafond voor het podium.
- Groepeerniveau: Definieert het maximum aantal clusters dat gelijktijdig kan worden bijgewerkt binnen een specifieke groep.
Belangrijk
Azure Preview-functies van Kubernetes Fleet Manager zijn beschikbaar op basis van selfservice, opt-in. Previews worden geleverd 'zoals aangeboden' en 'voor zover beschikbaar' en worden uitgesloten van de serviceovereenkomsten en beperkte garantie. Azure Previews van Kubernetes Fleet Manager vallen gedeeltelijk onder klantondersteuning op een best-effort basis. Daarom zijn deze functies niet bedoeld voor productiegebruik.
Notitie
De bovengrenzen van de waarden voor maximale gelijktijdigheid zijn:
- Faseniveau: de systeemlimiet van 50 kan niet worden overschreden.
- Groepsniveau: kan de waarde voor maximale gelijktijdigheid op faseniveau niet overschrijden en kan het aantal clusters in de groep niet overschrijden.
- Als een geconfigureerde waarde deze limieten overschrijdt, wordt de bewerking geweigerd.
Wanneer geen maximale gelijktijdigheid is opgegeven, zijn de standaardwaarden stage.maxConcurrency = 50 en group.maxConcurrency = 1.
Bestaande updatestrategieën en updateuitvoeringen die zijn gemaakt voordat deze functie beschikbaar was, ontvangen deze standaardwaarden automatisch wanneer de resource de volgende keer wordt bijgewerkt.
Maximale gelijktijdigheid accepteert twee waardeformulieren:
-
Vast geheel getal: beperkt bijvoorbeeld
"3"gelijktijdigheid tot precies drie clusters. -
Percentage: begrenst bijvoorbeeld
"25%"gelijktijdigheid tot een percentage clusters. Voor instellingen op faseniveau wordt het percentage berekend op basis van alle clusters in de fase. Voor instellingen op groepsniveau wordt het percentage berekend op basis van de clusters in die groep. Percentages worden tijdens runtime berekend, naar beneden afgerond en afgedwongen met een minimaal opgeloste waarde van 1.
Suggesties voor gelijktijdigheidsbeheer
Als u wilt upgraden met veiligheid (minder snelheid, maar minder waarschijnlijk eindigt op meerdere verbroken clusters): stel maximale gelijktijdigheid in op een kleinere waarde. Als u wilt upgraden met snelheid (meer snelheid, maar waarschijnlijker eindigt op meerdere verbroken clusters): stel maximale gelijktijdigheid in op een grotere waarde.
De interactie tussen fase- en groepslimieten
De maximale gelijktijdigheid op faseniveau fungeert altijd als het totale plafond. Zelfs als afzonderlijke groepen hogere gelijktijdigheid toestaan, heeft de faselimiet voorrang. Gelijktijdigheid op groepsniveau kan lager zijn dan geconfigureerd vanwege de limiet op faseniveau, groepsgrootte of lidspecifieke voorwaarden.
Voorbeeld 1: Vaste limieten
| Configuratie | Waarde |
|---|---|
stage.maxConcurrency |
"4" |
groupA.maxConcurrency |
"2" |
groupB.maxConcurrency |
"2" |
Resultaat: Maximaal vier clusters in totaal, met een maximum van twee per groep.
Voorbeeld 2: Faselimiet dempt groepen
| Configuratie | Waarde |
|---|---|
stage.maxConcurrency |
"2" |
groupA.maxConcurrency |
"5" |
groupB.maxConcurrency |
"5" |
Resultaat: Kunnen slechts twee clusters totaal tegelijk upgraden doordat de faselimiet prioriteit heeft.
Voorbeeld 3: Implementatie op basis van percentage
Een fase heeft 20 clusters in twee groepen: Groep A (acht clusters) en Groep B (12 clusters).
| Configuratie | Waarde | Wordt omgezet in |
|---|---|---|
stage.maxConcurrency |
"25%" |
5 |
groupA.maxConcurrency |
"50%" |
4 |
groupB.maxConcurrency |
"25%" |
3 |
Resultaat: Maximaal vijf gelijktijdige upgrades, verdeeld over groepen op basis van hun afzonderlijke limieten.
Maximaal toegestane fouten (preview)
Maximum allowed failures is een optionele updatestrategieinstelling waarmee wordt bepaald hoe Fleet Manager reageert op fouten tijdens updates voor meerdere clusters.
Updates volgen standaard een fail-fast model: één clusterfout stopt verdere updates. Wanneer u configureert maximum allowed failures, wordt de updateuitvoering fouttolerant en worden updates voortgezet in clusters totdat de opgegeven drempelwaarde voor fouten is bereikt.
Deze instelling biedt een weloverwogen balans tussen het vroegtijdig opsporen van fouten en het behouden van vaart in de uitrol. Stel maximum allowed failures in op twee niveaus:
- Faseniveau: Definieert het maximum aantal mislukte ledenupgrades dat voor alle groepen in een fase wordt getolereerd voordat de fase is gemarkeerd als mislukt.
- Groepeerniveau: Definieert het maximum aantal mislukte ledenupgrades dat binnen een specifieke groep wordt getolereerd voordat de groep wordt gemarkeerd als mislukt.
Belangrijk
Azure Preview-functies van Kubernetes Fleet Manager zijn beschikbaar op basis van selfservice, opt-in. Previews worden geleverd 'zoals aangeboden' en 'voor zover beschikbaar' en worden uitgesloten van de serviceovereenkomsten en beperkte garantie. Azure Previews van Kubernetes Fleet Manager vallen gedeeltelijk onder klantondersteuning op een best-effort basis. Daarom zijn deze functies niet bedoeld voor productiegebruik.
Notitie
- Tijdens de preview kunt u alleen instellen
maxAllowedFailuresvia directe REST API-aanroepen of de Azure CLI-extensiefleet. De Azure-portal biedt geen ondersteuning voor hetmaxAllowedFailuresconfigureren. Als u het veld instelt via de CLI of REST API, worden de geconfigureerde waarden later niet verwijderd door dezelfde updatestrategie of updateuitvoering in de portal te bewerken. Om het gedrag terug te zetten naar fail-fast, stelt u het veld in op0. - Wanneer u de waarde niet opgeeft
maxAllowedFailuresof instelt op leeg, wordt de opgeloste waarde standaard ingesteld0op , waardoor fail-fast gedrag behouden blijft: een upgradefout van één lid stopt onmiddellijk de volledige updateuitvoering. Bestaande strategieën en updates blijven dit gedrag behouden, tenzij u het veld expliciet instelt, dus er is geen migratie vereist.
Maximum allowed failures accepteert twee waardeformulieren:
-
Vast geheel getal: staat bijvoorbeeld
"3"maximaal drie clusterfouten toe voordat de groep of fase is gemarkeerd als mislukt. -
Percentage:
"25%"staat bijvoorbeeld uitval toe tot maximaal 25% van de lidclusters. Voor instellingen op faseniveau wordt het percentage berekend op basis van alle clusters in de fase. Voor instellingen op groepsniveau wordt het percentage berekend op basis van de clusters in die groep. Percentages worden berekend wanneer de updaterun wordt gemaakt, waarbij naar boven wordt afgerond; bijvoorbeeld 25% van 5 clusters komt uit op 2.
Fleet Manager beoordeelt maxAllowedFailures alleen op basis van het aantal mislukte updates van leden. Het evalueert geen slagingspercentage en vereist geen minimumaantal geslaagde leden. Wanneer deze instelling aanwezig is, Completed betekent dit dat de geconfigureerde drempelwaarde voor fouten niet is overschreden op het moment dat Fleet Manager de planningsbeslissingen heeft genomen.
Completed betekent niet dat de implementatie in orde of geslaagd is.
Voorbeeld: Voltooid met 0% succes
Stel dat een groep vier leden heeft en group.maxAllowedFailures is ingesteld op "4". Als alle vier de updates van leden mislukken, kan de groep nog steeds worden gemarkeerd Completed. Dit resultaat is verwacht en opzettelijk, geen fout, omdat vier fouten gelijk zijn aan de geconfigureerde tolerantie en daarom niet de drempelwaarde overschrijdt. Met andere woorden, een groep kan Completed zijn, zelfs wanneer 100% van de leden heeft gefaald.
Gebruik een dergelijke drempelwaarde alleen wanneer dat gedrag overeenkomt met de verwachtingen van uw implementatie.
Kies zorgvuldig drempelwaarden
-
Absolute waarden zijn gemakkelijk te begrijpen, maar ze kunnen contraintieve resultaten produceren in kleine groepen. Als u bijvoorbeeld
"2"mislukkingen toestaat in een groep met twee leden, betekent dit dat de groepCompletedkan voltooien, zelfs als geen van beide leden is geslaagd. - Percentagewaarden worden beter geschaald in verschillende groepsgrootten, zodat ze voor de meeste gebruikers worden aanbevolen.
- Vermijd om
maxAllowedFailuresin te stellen op hetzelfde aantal als het totale aantal members, tenzij het uw bedoeling is dat het systeem in feite nooit faalt door uitval van members. Als dat gedrag opzettelijk is,100%wordt meestal duidelijker geschaald dan een vast getal. - Wees extra voorzichtig met kleine groepen, waarbij één fout een groot percentage van de implementatie kan vertegenwoordigen.
- Evalueer de drempelwaarde opnieuw naarmate uw vloot groeit. Een waarde die veilig is voor vijf clusters, is mogelijk te strikt of te permissief voor 500 clusters.
Meer informatie over FailureCount
De FailureCount velden rapporteren metrische gegevens. Ze tellen mislukte updates van leden. Ze zijn geen verhoudingen of percentages en zijn niet hetzelfde als de geconfigureerde afdwingingsdrempel.
-
UpdateRun.FailureCount: Totaal aantal mislukte updates van leden in alle fasen en alle groepen tijdens de uitvoering. -
Stage.FailureCount: Totaal aantal mislukte lidupdates voor alle groepen in die fase. -
Group.FailureCount: Totaal aantal mislukte lidupdates binnen die groep.
Controleer deze aantallen altijd samen met statussen, voorwaarden en foutberichten op lidniveau voordat u besluit of het implementatieresultaat acceptabel is.
Waarom FailureCount maxAllowedFailures kan overschrijden
maxAllowedFailures stuurt de beslissing van Fleet Manager om al dan niet door te gaan met het plannen van nieuw werk. Het is geen harde bovengrens voor het uiteindelijke gerapporteerde aantal fouten.
Als u parallelle updates van leden toestaat met maxConcurrency, kunnen updates voor meerdere leden vrijwel tegelijkertijd mislukken voordat Fleet Manager constateert dat de drempelwaarde is overschreden en stopt met het plannen van meer werk. Daarom is het mogelijk en te verwachten dat FailureCount groter is dan de geconfigureerde waarde maxAllowedFailures.
Hoe limieten voor fase- en groepsstoringen op elkaar inwerken
Op groepsniveau en faseniveau worden maxAllowedFailures onafhankelijk geëvalueerd:
- Elke groep houdt het eigen aantal fouten bij op basis van een eigen drempelwaarde.
- Dezelfde groepsfouten worden ook samengeteld in de fase.
FailureCount - Als een van beide drempelwaarden wordt overschreden, stopt Fleet Manager met het plannen van nieuw werk voor dat segment.
- Al gestarte ledenupdates kunnen nog worden voltooid, waardoor de uiteindelijke gerapporteerde
FailureCountnog kan toenemen nadat het besluit om te stoppen is genomen.
Het faseniveau maxAllowedFailures fungeert als het algemene plafond voor fouttolerantie in een fase. Zelfs als afzonderlijke groepen hogere foutenaantallen toestaan, heeft de faselimiet voorrang. Als het aantal mislukte pogingen van een groep de eigen maxAllowedFailureswaarde overschrijdt, wordt die groep gemarkeerd als mislukt, ongeacht de instelling op faseniveau.
Voorbeeld 1: Vaste foutlimieten
| Configuratie | Waarde |
|---|---|
stage.maxAllowedFailures |
"5" |
groupA.maxAllowedFailures |
"2" |
groupB.maxAllowedFailures |
"3" |
Resultaat: Groep A tolereert maximaal twee fouten en Groep B tolereert maximaal drie. Als het totaal aantal fouten in de fase groter is dan vijf, mislukt de fase.
Voorbeeld 2: Tolerantie op basis van percentage
Een fase heeft 19 clusters in twee groepen: Groep A met 7 clusters en groep B met 12 clusters.
| Configuratie | Waarde | Wordt omgezet in |
|---|---|---|
stage.maxAllowedFailures |
"25%" |
5 (naar boven afgerond) |
groupA.maxAllowedFailures |
"25%" |
2 (naar boven afgerond) |
groupB.maxAllowedFailures |
"25%" |
3 (12 × 25% = 3) |
Aanbevolen en niet-aanbevolen toepassingen
Gebruik hogere drempelwaarden of drempelwaarden op basis van percentages wanneer u grote vloten upgradet, u rekening houdt met enkele tijdelijke fouten, of de voortgang van de uitrol belangrijker is dan strikt fail-fast-gedrag.
Gebruik 0 of zeer kleine waarden voor veiligheidskritieke implementaties, nauw gecontroleerde productiefasen of situaties waarin u na de eerste storing moet stoppen en inspecteren.
Notitie
Houd rekening met het volgende:
- Een groep kan
Completedzijn, zelfs als alle leden hebben gefaald. -
Completedbetekent geen succes. -
FailureCountkan hoger zijn danmaxAllowedFailureswanneer updates parallel worden uitgevoerd. - Absolute drempelwaarden kunnen de totale fout in kleine groepen verbergen.
- Drempelwaarden op basis van percentages worden meestal beter geschaald.
- U moet de resultaten van de implementatie valideren door te controleren
FailureCount, lidstaten en mislukte redenen.
Volgende stappen
- Handleiding: Meerdere clusters bijwerken met update-uitvoeringen van Azure Kubernetes Fleet Manager
- Hoe-to: Meerdere clusters automatisch upgraden met Azure Kubernetes Fleet Manager.
- Hoe-to: Bewaak updateuitvoeringen voor Azure Kubernetes Fleet Manager.
- Veelgestelde vragen over updates voor meerdere clusters.