Kubernetes- en knooppuntinstallatiekopieën bijwerken in meerdere lidclusters
Platformbeheerders die een groot aantal clusters beheren, hebben vaak problemen met het faseren van de updates van 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 (Fleet) updates in meerdere clusters organiseren met behulp van updateuitvoeringen.
Updateuitvoeringen bestaan uit fasen, groepen en strategieën en kunnen handmatig worden toegepast voor eenmalige updates of automatisch voor doorlopende regelmatige updates met behulp van profielen voor automatische upgrade. Alle updateuitvoeringen (handmatig of geautomatiseerd) respecteren onderhoudsvensters voor het lidcluster.
Informatie over updateuitvoeringen
In de volgende afbeelding wordt een upgrade uitgevoerd met twee updatefasen, elk met twee updategroepen met twee lidclusters. Er wordt een wachttijd geconfigureerd tussen de eerste en de tweede fase.
- Updateuitvoering: Een updateuitvoering vertegenwoordigt een update die wordt toegepast op een verzameling AKS-clusters, bestaande uit het updatedoel en de volgorde. Het updatedoel beschrijft de gewenste updates (bijvoorbeeld upgraden naar Kubernetes versie 1.28.3). De updatereeks beschrijft de exacte volgorde om de update toe te passen op meerdere lidclusters, uitgedrukt in fasen en groepen. Indien niet opgegeven, worden alle lidclusters één voor één bijgewerkt. Een updateuitvoering kan worden gestopt en gestart.
- Updatefase: Updateuitvoeringen zijn onderverdeeld in fasen, die opeenvolgend worden toegepast. Een eerste updatefase kan bijvoorbeeld testomgevinglidclusters bijwerken en vervolgens een tweede updatefase de clusters van leden van de productieomgeving bijwerken. Er kan een wachttijd worden opgegeven om te vertragen tussen de toepassing van volgende updatefasen.
- Updategroep: Elke updatefase bevat een of meer updategroepen, die worden gebruikt om de lidclusters te selecteren die moeten worden bijgewerkt. Updategroepen worden ook gebruikt om de toepassing van updates voor lidclusters te orden. Binnen een updatefase worden updates parallel toegepast op alle verschillende updategroepen; binnen een updategroep worden lidclusters opeenvolgend bijgewerkt. Elk lidcluster van de vloot kan slechts deel uitmaken van één updategroep.
- Updatestrategie: Een updatestrategie beschrijft de updatevolgorde met fasen en groepen en stelt u in staat om een updateuitvoeringsconfiguratie opnieuw te gebruiken in plaats van de volgorde herhaaldelijk in elke uitvoering te definiëren. Een updatestrategie bevat geen gewenste Versies van Kubernetes- of knooppuntinstallatiekopieën.
Momenteel zijn de ondersteunde updatebewerkingen op het lidcluster upgrades. Er zijn drie soorten upgrades waaruit u kunt kiezen:
- Voer een upgrade uit van Kubernetes-versies voor het Kubernetes-besturingsvlak en de knooppunten (waaronder het upgraden van de installatiekopieën van knooppunten).
- Voer een upgrade uit van Kubernetes-versies voor alleen het besturingsvlak van de clusters.
- Alleen de knooppuntinstallatiekopieën bijwerken.
U kunt de Kubernetes-doelversie opgeven waarnaar u wilt upgraden, maar u kunt niet de exacte versie van de doelknooppuntinstallatiekopieën opgeven. Dit komt doordat de meest recente versie van de knooppuntinstallatiekopieën kan variëren, afhankelijk van de Azure-regio van het cluster (controleer de AKS-releasetracker voor meer informatie).
De versies van de doelknooppuntinstallatiekopieën worden automatisch voor u geselecteerd op basis van uw voorkeuren:
Latest
: Gebruik de meest recente knooppuntinstallatiekopieën die beschikbaar zijn in de Azure-regio van een cluster wanneer de upgrade van het cluster wordt gestart. Als gevolg hiervan kunnen verschillende installatiekopieën 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, worden de meest recente algemene installatiekopieversies gekozen in de Azure-regio's van de lidclusters in deze uitvoering, zodat dezelfde, consistente installatiekopieversies in clusters worden gebruikt.
U moet ervoor kiezen Latest
om nieuwere versies van installatiekopieën te gebruiken en beveiligingsrisico's te minimaliseren en ervoor te kiezen Consistent
om de betrouwbaarheid te verbeteren door deze installatiekopieën in clusters in eerdere fasen te gebruiken voordat u deze in latere clusters gebruikt.
Gepland onderhoud
Update voert geplande onderhoudsvensters uit die u hebt ingesteld op het niveau van het AKS-cluster (Azure Kubernetes Service).
Binnen een updateuitvoering (voor updateuitvoeringen van het type One voor één of Fasen ) geeft de updateuitvoering prioriteit aan het bijwerken van de clusters in de volgende volgorde:
- Lid met een open doorlopend onderhoudsvenster.
- Lid met onderhoudsvenster openen in de komende vier uur.
- Lid zonder onderhoudsvenster.
- Lid met een gesloten onderhoudsvenster.
Uitvoeringsstatussen bijwerken
Een updateuitvoering kan een van de volgende statussen hebben:
- NotStarted: De update-uitvoering is niet gestart.
- Wordt uitgevoerd: De upgrade wordt uitgevoerd voor ten minste één van de lidclusters in de updateuitvoering.
- In behandeling:
- Lidcluster: Een lidcluster kan de status In behandeling hebben om een van de volgende redenen die kunnen worden weergegeven in het berichtveld.
- Het onderhoudsvenster is niet geopend. Bericht geeft de volgende openingstijd aan.
- De doelversie van Kubernetes is nog niet beschikbaar in de Azure-regio van het lid. Berichtkoppelingen naar de releasetracker, zodat u de status van de release in verschillende regio's kunt controleren.
- Versie van doelknooppuntinstallatiekopieën is nog niet beschikbaar in de Azure-regio van het lid. Berichtkoppelingen naar de releasetracker, zodat u de status van de release in verschillende regio's kunt controleren.
- Groep: Een groep heeft de
Pending
status als alle leden in de groep de status hebben of niet zijnPending
gestart. Wanneer een lid naartoePending
wordt verplaatst, probeert de updateuitvoering het volgende lid in de groep bij te werken. Als alle leden zijnPending
, wordt de groep verplaatst naarPending
de status. Als een groep dePending
status heeft, wacht de updateuitvoering totdat de groep is voltooid voordat de volgende fase voor uitvoering wordt uitgevoerd. - Fase: Een fase heeft
Pending
de status als alle groepen in die fase de status hebben of niet zijnPending
gestart. - Uitvoeren: Een uitvoering heeft
Pending
de status als de huidige fase die moet worden uitgevoerd, dePending
status heeft.
- Lidcluster: Een lidcluster kan de status In behandeling hebben om een van de volgende redenen die kunnen worden weergegeven in het berichtveld.
- Overgeslagen: alle niveaus van een updateuitvoering kunnen worden overgeslagen. Het overslaan kan door het systeem of door de gebruiker geïnitieerd worden.
- Lid:
- U hebt de upgrade voor een lid, groep of fase overgeslagen.
- Lidcluster bevindt zich al in de kubernetes-doelversie (als de update-uitvoeringsmodus is
Full
ofControlPlaneOnly
). - Het lidcluster bevindt zich al in de kubernetes-doelversie en alle knooppuntgroepen bevinden zich in de versie van de doelknooppuntinstallatiekopieën.
- Wanneer er een consistente knooppuntinstallatiekopieën worden gekozen voor een upgradeuitvoering, als het niet mogelijk is om de versie van de doelinstallatiekopieën voor een van de knooppuntgroepen te vinden, wordt de upgrade voor dat cluster overgeslagen. Dit kan bijvoorbeeld gebeuren wanneer een nieuwe knooppuntgroep met een nieuwe VM-SKU (virtual machine) wordt toegevoegd nadat een update-uitvoering is gestart.
- Groep:
- Alle lidclusters zijn gedetecteerd als
Skipped
door het systeem. - U hebt een skip gestart op groepsniveau.
- Alle lidclusters zijn gedetecteerd als
- Fase:
- Alle groepen in de fase zijn gedetecteerd als
Skipped
door het systeem. - U hebt een skip gestart op faseniveau.
- Alle groepen in de fase zijn gedetecteerd als
- Uitvoeren:
- Alle fasen zijn gedetecteerd zoals
Skipped
door het systeem.
- Alle fasen zijn gedetecteerd zoals
- Lid:
- Gestopt: alle niveaus van een updateuitvoering kunnen worden gestopt. Er zijn twee mogelijkheden voor het invoeren van een gestopte status:
- U stopt de updateuitvoering, waarna de updateuitvoering stopt met het bijhouden van alle bewerkingen. Als een bewerking al is gestart door de updateuitvoering (bijvoorbeeld een clusterupgrade wordt uitgevoerd), wordt die bewerking niet afgebroken voor dat afzonderlijke cluster.
- Als er een fout optreedt tijdens de updateuitvoering (bijvoorbeeld upgrades die zijn mislukt op een van de clusters), wordt de volledige update uitgevoerd in een gestopte status. Bewerkingen worden niet uitgevoerd voor een volgend cluster in de updateuitvoering.
- Mislukt: een fout bij het bijwerken van een cluster resulteert in de volgende acties:
- Hiermee markeert u de
MemberUpdateStatus
statusFailed
op het lidcluster. - Markeert alle ouders (groep -> fase -> uitvoeren) als
Failed
met een samenvattingsfoutbericht. - Hiermee wordt de updateuitvoering niet verder uitgevoerd.
- Hiermee markeert u de
Notitie
U kunt een updateuitvoering op elk gewenst moment opnieuw uitvoeren om upgrades toe te passen die mogelijk zijn overgeslagen of mislukt.
Inzicht in profielen voor automatische upgrade (preview)
Profielen voor automatische upgrade worden gebruikt om updates automatisch te activeren wanneer nieuwe versies van Kubernetes of knooppuntinstallatiekopieën beschikbaar worden gesteld voor AKS.
Belangrijk
Preview-functies van Azure Kubernetes Fleet Manager zijn beschikbaar op basis van selfservice, opt-in. Previews worden geleverd 'zoals is' en 'als beschikbaar' en ze worden uitgesloten van de serviceovereenkomsten en beperkte garantie. Previews van Azure Kubernetes Fleet Manager worden gedeeltelijk gedekt door klantondersteuning op basis van best effort. Daarom zijn deze functies niet bedoeld voor productiegebruik.
In een profiel voor automatische upgrade kunt u het volgende configureren:
- a
Channel
(Stable, Rapid, NodeImage) waarmee wordt bepaald welk type automatische upgrade wordt toegepast op de clusters. - een
UpdateStrategy
waarmee de volgorde wordt geconfigureerd waarin de clusters worden bijgewerkt. Als er geen strategie wordt opgegeven, worden clusters één voor één opeenvolgend bijgewerkt. - de
NodeImageSelectionType
(meest recente, consistente) om op te geven hoe de knooppuntinstallatiekopieën worden geselecteerd bij het bijwerken van de Kubernetes-versie.
Stabiel kanaal
Het Stable-kanaal is altijd de nieuwste door AKS ondersteunde Kubernetes-patchrelease op secundaire versie N-1, waarbij N de meest recente ondersteunde secundaire versie is.
Voorbeelden:
- De meest recente ondersteunde secundaire Kubernetes-versie is 1.30. Eventuele patchreleases in het secundaire bereik van 1.29 worden in aanmerking genomen voor stabiele kanaalupdates.
- Er wordt een nieuwe secundaire Kubernetes-versie van 1.31 gepubliceerd. Elke patchrelease in het secundaire bereik van 1.30 wordt in aanmerking genomen voor stabiele kanaalupdates. Elk cluster dat eerder updates van 1.29 ontvangt, wordt bijgewerkt naar de meest recente patch voor 1.30.
Snel kanaal
Het Rapid-kanaal is altijd de meest recente door AKS ondersteunde Kubernetes-secundaire release.
Voorbeelden:
- De meest recente ondersteunde secundaire versie is 1.30. Elke patchrelease in het secundaire bereik van 1.30 wordt overwogen voor Rapid-kanaalupdates.
- 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 . Dit is nu het Rapid-kanaal.
NodeImage-kanaal
Lidclusterknooppunten worden bijgewerkt met een nieuw gepatchte VHD met beveiligingsoplossingen en bugfixes op een wekelijkse frequentie. De update voor de nieuwe VHD is verstorend, na onderhoudsvensters en piekinstellingen. Er worden geen extra VHD-kosten gemaakt bij het kiezen van deze optie.
Als u dit kanaal gebruikt, worden upgrades zonder toezicht van Linux standaard uitgeschakeld. Upgrades van knooppuntinstallatiekopieën ondersteunen patchversies die zijn afgeschaft, zolang de secundaire Kubernetes-versie nog steeds wordt ondersteund. Knooppuntinstallatiekopieën worden door AKS getest, volledig beheerd en toegepast met veilige implementatieprocedures.
Knooppunten op verschillende besturingssystemen worden bijgewerkt overeenkomstig de versie van de knooppuntinstallatiekopieën 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.
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 naar 1.30). Wanneer beheerders een diverse set Kubernetes-versies hebben, is het raadzaam eerst een of meer updateruns te gebruiken om lidclusters in een set consistente versies te brengen, zodat geconfigureerde Stable
of Rapid
kanaalupdates ervoor zorgen dat consistentie in de toekomst behouden blijft.
Notitie
Houd rekening met de volgende informatie bij het gebruik van automatische upgrade:
Voor automatische upgrade is versie 1.3.0 of hoger van de Fleet Azure CLI-extensie vereist.
Updates van kubernetes worden alleen automatisch bijgewerkt naar GA-versies van Kubernetes en worden niet bijgewerkt naar preview-versies.
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 laten upgraden, moet u een
autoupgradeprofile
metRapid
ofStable
kanalen maken.Als u uw NodeImage-versie wilt upgraden, moet u een
autoupgradeprofile
kanaal maken.NodeImage
U kunt meerdere profielen voor automatische upgrade maken voor dezelfde Vloot.
Volgende stappen
Azure Kubernetes Service