Sdílet prostřednictvím


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

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 (Fleet) umožňuje orchestrovat aktualizace napříč několika clustery pomocí spuštění aktualizací.

Spuštění 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é 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í 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í. Je možné zadat dobu čekání, která se má zpozdit mezi aplikací následný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 objedná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í.
  • 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.

V současné době jsou podporované operace aktualizace v členském clusteru 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 image uzlu se může lišit v závislosti na oblasti Azure clusteru (další informace najdete v sledování 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).

V rámci aktualizačního spuštění (pro spuštění aktualizace typu Jedna po jedné nebo dílčí fázi ) spustí aktualizace prioritu upgradu clusterů 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 časovým obdobím údržby.

Aktualizace stavů spuštění

Spuštění aktualizace může být v jednom z následujících stavů:

  • NotStarted: Spuštění aktualizace se nespustilo.
  • Spuštěno: Probíhá upgrade pro alespoň jeden z členských clusterů při spuštění aktualizace.
  • Čeká na vyřízení:
    • Členský cluster: Členský cluster může být ve stavu čekání 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í vydané verze, abyste mohli zkontrolovat stav vydané verze napříč oblastmi.
      • Verze image cílového uzlu ještě není dostupná v oblasti Azure člena. Zpráva odkazuje na sledování vydané verze, abyste mohli zkontrolovat stav vydané verze napříč oblastmi.
    • Skupina: Skupina je ve Pending stavu, pokud jsou všichni členové skupiny ve Pending stavu nebo nejsou spuštěni. 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 ve Pending stavu, spuštění aktualizace čeká, než se skupina dokončí, a teprve potom přejde k další fázi spuštění.
    • Fáze: Fáze je ve Pending stavu, pokud jsou všechny skupiny v této fázi ve Pending stavu nebo nejsou spuštěny.
    • Spuštění: Spuštění je ve Pending stavu, pokud je aktuální fáze, která má být spuštěna, 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 systém nebo iniciované uživatelem.
    • Člen:
      • Upgrade pro člena, skupinu nebo fázi jste vynechali.
      • Členský cluster je již v cílové verzi Kubernetes (pokud je Full režim spuštění aktualizace nebo ControlPlaneOnly).
      • Členský cluster je již v cílové verzi Kubernetes a všechny fondy uzlů jsou ve verzi image cílového uzlu.
      • Pokud je pro spuštění upgradu zvolena konzistentní image uzlu, není-li možné najít cílovou verzi image pro jeden z fondů uzlů, upgrade se pro tento cluster přeskočí. Může k tomu například dojít, když se po spuštění aktualizace přidá nový fond uzlů s novou skladovou jednotkou virtuálního počítače.
    • Skupina:
      • Systém zjistil Skipped všechny členské clustery.
      • Zahájili jste přeskočení na úrovni skupiny.
    • Fáze:
      • Všechny skupiny ve fázi byly zjištěny systémem Skipped .
      • Zahájili jste přeskočení na úrovni fáze.
    • Spustit:
      • Všechny fáze byly zjištěny systémem Skipped .
  • Zastaveno: Všechny úrovně spuštění aktualizace je možné zastavit. Existují dvě možnosti pro vstup do zastaveného stavu:
    • Spuštění aktualizace zastavíte, v jakém okamžiku se spuštění aktualizace zastaví sledování všech operací. 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 nepokoušají o žádný další cluster při spuštění aktualizace.
  • Selhání: Selhání upgradu clusteru má za následek následující akce:
    • Označí ho MemberUpdateStatus jako Failed na členovém clusteru.
    • Označí všechny nadřazené objekty (skupina –> fáze –> spuštění) jako Failed souhrnnou chybovou zprávu.
    • Zastaví spuštění aktualizace v dalším průběhu.

Poznámka:

Spuštění aktualizace můžete kdykoli znovu spustit, aby bylo možné znovu použít upgrady, které mohly být vynechány nebo selhaly.

Principy profilů automatického upgradu (Preview)

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.

Důležité

Funkce Azure Kubernetes Fleet Manageru ve verzi Preview jsou dostupné na samoobslužné bázi s výslovným souhlasem. Verze Preview jsou poskytovány "tak, jak jsou" a "dostupné", a jsou vyloučené ze smluv o úrovni služeb a omezené záruky. 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í.

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

  • a Channel (Stable, Rapid, NodeImage), který určuje typ automatického upgradu, který se použije u clusterů.
  • která UpdateStrategy konfiguruje sekvenci, ve které jsou clustery upgradovány. Pokud strategie není zadaná, clustery se aktualizují postupně.
  • NodeImageSelectionType (Nejnovější, konzistentní) k určení způsobu výběru image 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.
  • Publikuje se nová podverze Kubernetes verze 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 podporovaná službou AKS.

Příklady:

  • Nejnovější podporovaná podverze je 1.30. Všechny verze oprav v podverzi 1.30 by se považovaly za aktualizace rychlého kanálu.
  • Publikuje se nová podverze Kubernetes verze 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ů se testují, plně spravují a používají se s využitím bezpečných postupů nasazení.

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 uzly 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.

Chování při vynechání podverze

Automatický upgrade nepřesouvají clustery mezi podverzemi Kubernetes, pokud existuje více než jeden menší rozdíl ve verzi Kubernetes (například 1.28 až 1.30). Pokud mají správci různorodou sadu verzí Kubernetes, doporučujeme nejprve použít jeden nebo více spuštění aktualizací, aby členské clustery byly zařazeny do sady konzistentně vydaných verzí, aby nakonfigurované Stable aktualizace nebo Rapid aktualizace kanálu zajistily zachování konzistence 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.3.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 mít upgradovanou verzi Kubernetes, musíte vytvořit s kanály nebo Stable s využitím autoupgradeprofile Rapid kanálů.

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

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

Další kroky