Sdílet prostřednictvím


Aktualizace imagí Kubernetes a uzlů napříč několika členskými clustery

Platí pro: ✔️ Fleet Manager ✔️ Fleet Manager s clusterem centra

Správci platforem spravující velký počet clusterů často mají problémy s přípravou aktualizací více clusterů (například upgrade image operačního systému uzlu nebo verzí Kubernetes) bezpečným a předvídatelným způsobem. K vyřešení tohoto úkolu vám Azure Kubernetes Fleet Manager umožňuje orchestrovat aktualizace napříč několika clustery pomocí spuštění aktualizací.

Procesy aktualizací se skládají z fází, skupin a strategií a dají se použít buď ručně, pro jednorázové aktualizace, nebo automaticky pro průběžné a pravidelné aktualizace pomocí profilů automatického upgradu. Všechna spuštění aktualizací (ručně nebo automatizovaná) dodržují časové intervaly údržby členských clusterů.

Principy spuštění aktualizací

Následující obrázek vizualizuje spuštění upgradu obsahující dvě fáze aktualizace, z nichž každá obsahuje dvě skupiny aktualizací se dvěma členskými clustery. Mezi první a druhou fází se konfiguruje doba čekání.

Diagram znázorňující spuštění upgradu obsahující dvě fáze aktualizace, z nichž každá obsahuje dvě skupiny aktualizací se dvěma členskými clustery

  • Spuštění aktualizace: Spuštění aktualizace představuje aktualizaci použitou v kolekci clusterů AKS, která se skládá z cíle a pořadí aktualizací. Cíl aktualizace popisuje požadované aktualizace (například upgrade na Kubernetes verze 1.28.3). Pořadí aktualizací popisuje přesné pořadí použití aktualizace u více členských clusterů vyjádřených fázemi a skupinami. Pokud není zadané, všechny členské clustery se aktualizují jeden po druhém postupně. Spuštění aktualizace je možné zastavit a spustit.
  • Fáze aktualizace: Spuštění aktualizací jsou rozdělená do fází, které se použijí postupně. Například první fáze aktualizace může aktualizovat členské clustery testovacího prostředí a druhá fáze aktualizace pak později aktualizuje členské clustery produkčního prostředí. Lze zadat dobu čekání pro zpoždění mezi prováděním následujících fází aktualizace.
  • Skupina aktualizací: Každá fáze aktualizace obsahuje jednu nebo více aktualizačních skupin, které slouží k výběru členských clusterů, které se mají aktualizovat. Skupiny aktualizací se také používají k uspořádání aplikace aktualizací na členské clustery. V rámci fáze aktualizace se aktualizace použijí pro všechny různé skupiny aktualizací paralelně; v rámci skupiny aktualizací se členské clustery aktualizují postupně. Každý členský cluster flotily může být pouze součástí jedné skupiny aktualizací.
  • Schvalovací brány (Preview): Lze nakonfigurovat před nebo po každé fázi nebo skupině. Schválení pozastaví spuštění aktualizace, takže můžete buď vy, nebo automatizace, které jste nastavili, zkontrolovat, jestli je v pořádku pokračovat. Jakmile schválení udělíte vy nebo vaše automatizace, aktualizace bude pokračovat.
  • Strategie aktualizace: Strategie aktualizace popisuje sekvenci aktualizací s fázemi a skupinami a umožňuje opakovaně používat konfiguraci spuštění aktualizace místo toho, abyste v každém spuštění definovali sekvenci opakovaně. Strategie aktualizace nezahrnuje požadované verze image Kubernetes ani node.

Poznámka:

Maximální počet skupin aktualizací v každé fázi aktualizace je 50.

V současné době jsou v členském clusteru podporované operace aktualizace/upgrady. Můžete si vybrat ze tří typů upgradů:

  • Upgradujte verze Kubernetes pro řídicí rovinu Kubernetes a uzly (včetně upgradu imagí uzlů).
  • Upgradujte verze Kubernetes pouze pro řídicí rovinu clusterů.
  • Upgradujte pouze image uzlů.

Můžete zadat cílovou verzi Kubernetes, na kterou se má upgradovat, ale nemůžete zadat přesnou verzi image cílového uzlu. Důvodem je to, že nejnovější dostupná verze uzlového image se může lišit v závislosti na oblasti Azure clusteru (další informace najdete ve sledovači verzí AKS).

Verze image cílového uzlu se automaticky vyberou podle vašich preferencí:

  • Latest: Při spuštění upgradu clusteru použijte nejnovější image uzlů dostupné v oblasti Azure clusteru. V důsledku toho je možné použít různé verze imagí v závislosti na tom, ve které oblasti Azure je cluster a kdy se jeho upgrade skutečně spustí.
  • Consistent: Při spuštění aktualizace vybere nejnovější běžné verze imagí napříč oblastmi Azure členských clusterů v tomto spuštění, aby se v clusterech používaly stejné konzistentní verze imagí.

Měli byste použít Latest novější verze imagí a minimalizovat rizika zabezpečení a rozhodnout Consistent se zvýšit spolehlivost použitím a ověřením těchto imagí v clusterech v dřívějších fázích, než je použijete v pozdějších clusterech.

Plánovaná údržba

Aktualizace se spouští podle časových intervalů plánované údržby, která jste nastavili na úrovni clusteru Azure Kubernetes Service (AKS).

Clustery AKS podporují dvě různá období údržby – jedno pro upgrady Kubernetes (řídicí rovina) a jedno pro upgrady imagí uzlů. Časová období údržby definují období, kdy je možné aktualizace použít v clusteru, ale nejsou aktivační událostí aktualizace.

Aktualizace Fleet Manageru respektuje časové intervaly údržby AKS následujícím způsobem:

Aktualizační kanál Fleet Manageru Možnost upgradu AKS Nastavení časového období údržby AKS
Řídicí nadstavba Kubernetes Verze Kubernetes AKSManagedAutoUpgradeSchedule
Kubernetes + Node Image Verze Kubernetes AKSManagedAutoUpgradeSchedule
Pouze image uzlu Obrázek uzlu AKSManagedNodeOSAutoUpgradeSchedule

Spuštění aktualizace určuje prioritu upgradu clusterů na základě plánované údržby v následujícím pořadí:

  1. Člen s otevřeným probíhajícím časovým obdobím údržby.
  2. Člen s časovým obdobím údržby v příštích čtyřech hodinách.
  3. Člen bez časového období údržby.
  4. Člen s uzavřeným oknem údržby.

Aktualizace stavů spuštění

Aktualizace může probíhat v jednom z následujících stavů:

  • Nespustila se: Spuštění aktualizace se nespustilo.
  • Spuštěno: Probíhá spuštění aktualizace pro alespoň jeden členský cluster.
  • Čeká na vyřízení:
    • Členský klan: Členský klan může být ve Pending stavu z některého z následujících důvodů, které lze zobrazit v poli zprávy.
      • Časové období údržby není otevřené. Zpráva označuje čas příštího otevření.
      • Cílová verze Kubernetes ještě není dostupná v oblasti Azure člena. Zpráva odkazuje na sledování verzí AKS, abyste mohli zkontrolovat stav vydané verze napříč oblastmi.
      • Verze obrazu cílového uzlu ještě není dostupná v členské oblasti Azure. Odkazy na zprávy týkající se sledovače verzí AKS.
    • Skupina aktualizací: Skupina je Pending, pokud jsou všichni členové ve skupině Pending nebo nejsou spuštěni, nebo pokud má Pending bránu. Když se člen přesune na Pending, spuštění aktualizace se pokusí upgradovat dalšího člena ve skupině. Pokud jsou všichni Pendingčlenové, skupina se přesune do Pending stavu. Pokud je skupina Pending, spuštění aktualizace čeká na dokončení skupiny před přechodem na další fázi aktualizace.
    • Fáze aktualizace: Fáze je Pending, pokud jsou všechny skupiny aktualizací v této fázi Pending nebo nespouštěné, nebo pokud má fáze bránu Pending.
    • Spuštění: Spuštění je ve Pending stavu, pokud je aktuální fáze ve Pending stavu.
  • Vynecháno: Všechny úrovně spuštění aktualizace je možné přeskočit. Přeskočení může být iniciováno systémem nebo uživatelem.
    • Členský klastr:
      • Uživatel vynechal aktualizaci člena, skupiny nebo fáze.
      • Klastr členů je již na cílové verzi Kubernetes (pokud je režim aktualizačního běhu Full nebo ControlPlaneOnly).
      • Mitgliedský cluster je již ve verzi cílového Kubernetes a všechny pooly uzlů jsou ve verzi cílového image uzlu.
      • Když je při aktualizaci zvolena konzistentní image uzlu a nelze najít cílovou verzi image pro některou z uzlových skupin, upgrade se pro cluster přeskočí. Například k tomu může dojít, když se po zahájení aktualizace přidá nový fond uzlů s novou konfigurací virtuálního počítače (VM).
    • Skupina aktualizací:
      • Uživatel vynechal aktualizaci skupiny.
      • Systém zjistil všechny členské clustery jako Skipped.
    • Fáze aktualizace:
      • Uživatel vynechal aktualizaci této fáze.
      • Všechny skupiny aktualizací ve fázi byly systémem detekovány jako Skipped.
    • Spuštění aktualizace:
      • Všechny fáze byly zjištěny jako Skipped systémem.
  • Zastaveno: Všechny úrovně spuštění aktualizace je možné zastavit. Existují dvě možnosti pro vstup do zastaveného stavu:
    • Uživatel zastavil spuštění aktualizace, a poté přestalo sledovat všechny operace. Pokud už byla operace inicializována spuštěním aktualizace (například probíhá upgrade clusteru), není tato operace pro tento jednotlivý cluster přerušena.
    • Pokud během běhu aktualizace dojde k selhání (například u některého z clusterů selhaly upgrady), celá aktualizace přejde do zastaveného stavu. Operace se při spuštění aktualizace nepokoušnou o žádný další cluster.
  • Selhání: Pokud selže upgrade clusteru, následují tyto akce:
    • Označí MemberUpdateStatus jako Failed na členském clusteru.
    • Označí všechny nadřazené objekty (skupina –> fáze –> spuštění) a přidá souhrnnou chybovou zprávu.
    • Zastaví další postup běhu aktualizace.
  • Dokončeno: Spuštění aktualizace bylo úspěšně dokončeno.

Poznámka:

Aktualizační cyklus můžete kdykoli znovu spustit, abyste mohli znovu použít upgrady, které byly možná vynechány nebo selhaly.

Pochopení profilů automatického upgradu

Profily automatického upgradu slouží k automatické aktivaci spuštění aktualizací při zpřístupnění nových verzí imagí Kubernetes nebo node pro AKS.

V profilu automatického upgradu můžete nakonfigurovat:

  • a Channel (Stable, Rapid, NodeImage, TargetKubernetesVersion (Preview)), který určuje typ automatického upgradu, který se použije u clusterů.
  • která UpdateStrategy konfiguruje sekvenci, podle které jsou clustery upgradovány. Pokud strategie není zadaná, clustery se aktualizují postupně.
  • NodeImageSelectionType (Nejnovější, konzistentní) pro určení způsobu výběru obrazu uzlu při upgradu verze Kubernetes.

Stabilní kanál

Stabilní kanál je vždy nejnovější verze oprav Kubernetes podporovaná AKS v podverze N-1, kde N je nejnovější podporovaná podverze.

Příklady:

  • Nejnovější podporovaná podverze Kubernetes je 1.30. Všechny verze oprav v dílčím rozsahu 1.29 by byly považovány za aktualizace stabilního kanálu.
  • Vyšla nová podverze Kubernetes 1.31. Všechny verze oprav v podverzi 1.30 by se považovaly za aktualizace stabilního kanálu. Všechny clustery, které dříve přijímaly aktualizace z verze 1.29 , by se aktualizovaly na nejnovější opravu pro verzi 1.30.

Rychlý kanál

Kanál Rapid je vždy nejnovější podverze Kubernetes s podporou AKS.

Příklady:

  • Nejnovější podporovaná podverze je 1.30. Všechny verze oprav v podverzi 1.30 budou považovány za aktualizace Rapid kanálu.
  • Vyšla nová podverze Kubernetes 1.31. 1.30 se přesune do stabilního kanálu. Všechny clustery, které dříve přijímaly aktualizace z verze 1.30 , by se aktualizovaly na nejnovější opravu pro verzi 1.31 , což je nyní kanál Rapid.

Kanál NodeImage

Uzly členských clusterů se aktualizují na nově opravený virtuální pevný disk obsahující opravy zabezpečení a opravy chyb v týdenním tempu. Aktualizace nového virtuálního pevného disku je rušivá, a to podle časových intervalů údržby a nastavení přepětí. Při výběru této možnosti se neúčtují žádné další náklady na virtuální pevný disk.

Pokud používáte tento kanál, jsou bezobslužné upgrady Linuxu ve výchozím nastavení zakázané. Upgrady imagí uzlů podporují verze oprav, které jsou zastaralé, pokud je podverze Kubernetes stále podporovaná. Image uzlů jsou testovány v AKS, plně spravovány a nasazovány s použitím bezpečných postupů.

Uzly v různých operačních systémech se aktualizují v souladu s verzemi bitové kopie uzlu, které jsou v souladu s těmito operačními systémy.

Příklad:

  • Cluster obsahuje uzly s NodeImage AKSWindows-2022-containerd verze 20348.2582.240716. Uvolní se nová verze NodeImage 20348.2582.240916 a uzly clusteru se automaticky upgradují na verzi 20348.2582.240916.

Cílová verze Kubernetes kanál (náhled)

Kanál TargetKubernetesVersion umožňuje řídit, kdy upgradovat verzi Kubernetes vaší flotily na další dostupnou malou verzi její zadáním do profilu automatického upgradu. Cílová verze Kubernetes musí být zadána ve formátu {major}. {minor} (například "1,33"). Automatický upgrade flotily automaticky upgraduje členské clustery na nejnovější verzi opravy zadané cílové verze Kubernetes, pokud je oprava k dispozici. Flotila nepřejde na další menší verzi, dokud neaktualizujete cílovou verzi automatického aktualizačního profilu.

Příklady:

  • Vytvoříte profil automatického upgradu pomocí kanálu TargetKubernetesVersion a zadáte cílovou verzi Kubernetes 1.30. Publikuje se nová oprava verze 1.30.5. Automatické spuštění aktualizace je vytvořeno s verzí cílovou 1.30.5.
  • Vytvoříte profil automatického upgradu s kanálem TargetKubernetesVersion, zadáte cílovou verzi Kubernetes 1.29 a v profilu automatického upgradu povolíte LongTermSupport (LTS). Nejnovější minoritní verze podporovaná komunitou je "1.33". Publikuje se nová oprava verze 1.29.5. Spuštění aktualizace se automaticky vytvoří s cílem verze 1.29.5. Poznámka: Pokud vygenerovaná aktualizace zahrnuje clustery bez povolení LTS, selže.

Důležité

Funkce Azure Kubernetes Fleet Manageru ve verzi Preview jsou dostupné na samoobslužné bázi s výslovným souhlasem. Tyto verze Preview jsou poskytovány "tak, jak jsou" a "jak jsou dostupné," a nepodléhají dohodám o úrovni služeb ani omezené záruce. Verze Preview Azure Kubernetes Fleet Manageru jsou částečně pokryty zákaznickou podporou na základě maximálního úsilí. Proto tyto funkce nejsou určené pro produkční použití.

Chování při vynechání menší verze

Automatický upgrade nepřesune clustery mezi minor verzemi Kubernetes, pokud je rozdíl více než jedna menší verze Kubernetes (například 1.28 až 1.30). Pokud mají správci různorodou sadu verzí Kubernetes, doporučujeme nejprve použít jedno nebo více provedení aktualizace, aby členské clustery byly zařazeny do sady konzistentně vydaných verzí, a tak zajistily, že nakonfigurované Stable nebo Rapid aktualizace kanálu budou zajišťovat zachování konzistence i v budoucnu.

Poznámka:

Při použití automatického upgradu mějte na paměti následující informace:

  • Automatický upgrade vyžaduje verzi 1.5.0 nebo novější rozšíření Azure CLI pro Fleet.

  • Automaticky upgradovat pouze aktualizace verzí GA Kubernetes a neaktualizuje se na verze Preview.

  • Automatický upgrade vyžaduje, aby verze Kubernetes clusteru byla v okně podpory AKS.

  • Pokud cluster nemá definovaný časový interval plánované údržby, upgraduje se okamžitě, když se spuštění aktualizace dostane do clusteru.

  • Pokud chcete upgradovat verzi Kubernetes, musíte vytvořit sadu autoupgradeprofile s kanály Rapid, Stable nebo TargetKubernetesVersion (preview).

  • Pokud chcete upgradovat verzi NodeImage, musíte vytvořit kanál autoupgradeprofile s kanálem NodeImage .

  • Při použití TargetKubernetesVersion (preview) kanálu musíte pomocí parametru --target-kubernetes-version zadat cílovou verzi Kubernetes.

  • Pro stejnou flotilu můžete vytvořit několik profilů automatického upgradu.

Další kroky