Aktualizace orchestrace 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 verzí imagí operačního systému uzlu, upgrade verzí Kubernetes) bezpečným a předvídatelným způsobem. Azure Kubernetes Fleet Manager (Fleet Manager) umožňuje orchestrovat aktualizace napříč několika clustery pomocí spuštění aktualizací, fází, skupin a strategií.

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). Posloupnost aktualizací popisuje přesné pořadí použití aktualizací 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 posloupnost aktualizací s fázemi a skupinami. Strategii v aktualizačních spuštěních můžete opakovaně použít místo toho, abyste v každém spuštění definovali sekvenci.

V současné době se podporované operace aktualizace v clusteru upgradují. Můžete si vybrat ze dvou typů upgradů:

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

Můžete zadat cílovou verzi Kubernetes, na kterou se má upgradovat, ale nemůžete určit přesné verze imagí cílových uzlů, protože nejnovější dostupné verze imagí uzlů se můžou lišit v závislosti na oblasti clusteru (další informace najdete v nástroji release tracker ). 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 clusteru. V důsledku toho se můžou použít různé verze imagí v závislosti na tom, ve které oblasti 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 č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: Stav spuštění aktualizace před jejím spuštěním.

  • Spuštěno: Probíhá upgrade alespoň u jednoho clusteru 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ů a zobrazí se pod polem 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 č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í v oblasti člena k dispozici. 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é ve skupinách 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 členové ve Pending stavu, skupina se přesune do Pending stavu. Před přechodem do další fáze musí být všechny skupiny v terminálovém stavu. To znamená, že pokud je skupina ve Pending stavu, spuštění aktualizace počká, až se dokončí, než přejde k další fázi spuštění.
    • Fáze: Fáze je v Pending případě, že jsou všechny skupiny v dané 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 a to může být zjištěno systémem nebo inicializováno uživatelem.

    • Člen:
      • Upgrade pro člena nebo některého z jeho nadřazených členů jste přeskočili.
      • Č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, pokud není možné najít cílovou verzi image pro některý z fondů uzlů, upgrade se pro tento cluster přeskočí. Příkladem této situace je přidání nového fondu uzlů s novou skladovou jednotkou virtuálního počítače po spuštění aktualizace.
    • 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 již byla operace inicializována spuštěním aktualizace (například probíhá upgrade clusteru), tato operace není pro tento jednotlivý cluster přerušena.
    • Pokud během běhu aktualizace dojde k selhání (například v jednom z clusterů selhaly upgrady), celé spuštění aktualizace přejde do stavu zastavení a nebude se pokoušet o další cluster při spuštění aktualizace.
  • Selhání: Selhání upgradu clusteru způsobí 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.

Další kroky