Sdílet prostřednictvím


Automatická oprava uzlu Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) nepřetržitě monitoruje stav pracovních uzlů a automaticky opravuje uzly, které nejsou v pořádku. Platforma virtuálního počítače Azure provádí údržbu na virtuálních počítačích, u kterých dochází k problémům . AKS ve spolupráci s virtuálními počítači Azure pomáhá minimalizovat přerušení služeb clusterů.

V tomto článku se dozvíte, jak se funkce automatické opravy uzlů chová pro uzly s Windows a Linuxem.

Jak AKS kontroluje uzly NotReady

AKS používá následující pravidla k určení, jestli uzel není v pořádku a potřebuje opravu:

  • Uzel hlásí stav NotReady v po sobě jdoucích kontrolách během 10minutového časového rámce.
  • Uzel nehlásí žádný stav během 10 minut.

Pomocí příkazu můžete ručně zkontrolovat stav uzlů kubectl get nodes .

Jak funguje automatická oprava

Poznámka:

AKS inicializuje operace oprav pomocí uživatelského účtu aks-remediator.

Pokud AKS identifikuje uzel, který není v pořádku po dobu nejméně pěti minut, provede AKS následující akce:

  1. AKS restartuje uzel.
  2. Pokud uzel po restartování zůstane v pořádku, AKS ho znovu vytvoří.
  3. Pokud uzel zůstává nefunkční po obnovení obrazu a jedná se o linuxový uzel, služba AKS ho znovu nasadí.

AKS opakuje sekvenci restartu, opětovného vytvoření obrazu a opětovného nasazení až třikrát, pokud uzel zůstává nefunkční. Celkový proces opravy auta může trvat až hodinu.

Omezení

Automatická oprava uzlu AKS je služba s nejlepším možným úsilím a nezaručujeme, že se uzel obnoví zpět do zdravého stavu. Pokud váš uzel přetrvává ve špatném stavu, důrazně doporučujeme provést ruční šetření uzlu. Přečtěte si další informace o řešení potíží se stavem NotReady uzlu.

Existují případy, kdy AKS neprovádí automatickou opravu. Selhání automatické opravy uzlu může nastat buď záměrně, nebo pokud Azure nedokáže zjistit, že problém existuje. Mezi příklady, kdy se neprovádí automatická oprava, patří:

  • Kvůli chybě v konfiguraci sítě se nehlásí stav uzlu.
  • Uzlu se nepodařilo nejprve zaregistrovat jako uzel, který je v pořádku.
  • Pokud jsou na uzlu přítomny některé z následujících taintů: node.cloudprovider.kubernetes.io/shutdown, ToBeDeletedByClusterAutoscaler.
  • Uzel je v procesu upgradu, což vede k následující poznámce na uzlu "cluster-autoscaler.kubernetes.io/scale-down-disabled": "true" a "kubernetes.azure.com/azure-cluster-autoscaler-scale-down-disabled-reason": "upgrade"

Monitorování automatické opravy uzlů pomocí událostí Kubernetes

Když AKS provádí automatickou opravu uzlu v clusteru, služba AKS vygeneruje události Kubernetes ze zdroje automatické opravy aks za účelem viditelnosti. Při automatické opravě se na objektu uzlu zobrazí následující události.

Další informace o přístupu, ukládání a konfiguraci upozornění na události Kubernetes najdete v tématu Použití událostí Kubernetes pro řešení potíží ve službě Azure Kubernetes Service.

Důvod Zpráva o události Popis
Začátek restartu uzlu Automatická oprava uzlu iniciuje akci restartování kvůli zachování stavu NotReady déle než 5 minut. Tato událost se vygeneruje, aby vás informovala, že se má v uzlu provést restartování. Tato akce je první v celkové sekvenci automatické opravy uzlu.
Konec restartování uzlu Akce restartování z automatické opravy uzlu je dokončena. Po dokončení restartu uzlu se vysílá. Tato událost neindikuje stav uzlu (v pořádku nebo není v pořádku) po provedení restartování.
NodeReimageStart Automatická oprava uzlu zahajuje přeinstalaci kvůli přetrvávajícímu stavu NotReady, který trvá déle než 5 minut. Tato událost se vygeneruje, aby vás informovala, že se má na vašem uzlu provést opětovné vytvoření image.
NodeReimageEnd Je dokončena akce opětovného nastavení z automatické opravy uzlu. Jakmile je opětovné vytvoření image na uzlu dokončeno, je vyvolán nový signál. Tato událost neurčuje stav uzlu (zdravý nebo nezdravý) po obnovení obrazu.
Začátek znovunasazení uzlu Automatická oprava uzlu iniciuje akci opětovného nasazení kvůli zachování stavu NotReady déle než 5 minut. Tato událost je emitována, aby vás informovala, že bude zanedlouho prováděno opětovné nasazení na uzlu. Opětovné nasazení je poslední akce v pořadí automatické opravy uzlu.
Ukončení přenasazení uzlu Je dokončena akce opětovného nasazení z automatické opravy uzlu. Jakmile je na uzlu dokončeno opětovné nasazení, je vyvolán signál. Tato událost neindikuje stav uzlu (v pořádku nebo není v pořádku) po provedení opětovného nasazení.

Pokud během procesu automatické opravy uzlu dojde k nějakým chybám, vygenerují se následující události s doslovnou chybovou zprávou. Přečtěte si další informace o řešení běžných chyb automatické opravy uzlů.

Poznámka:

Kód chyby v následujících zprávách událostí se liší v závislosti na nahlášené chybě.

Důvod Zpráva o události Popis
Chyba restartování uzlu Akce restartu pro automatickou opravu uzlu selhala kvůli chybě operace. Podrobnosti o chybě najdete tady: Kód chyby Vygenerováno, když dojde k chybě s akcí restartování.
NodeReimageError Akce automatické opravy uzlu selhala kvůli selhání operace. Podrobnosti o chybě najdete tady: Kód chyby Vysílá se, když dojde k chybě u operace znovuvytvoření obrazu.
Chyba přeinstalování uzlu Akce automatické opravy uzlu selhala kvůli selhání operace. Podrobnosti o chybě najdete tady: Kód chyby Vygenerováno, když dojde k chybě s akcí opětovného nasazení.

Další kroky

Ve výchozím nastavení máte přístup k událostem Kubernetes a protokolům v clusteru AKS za posledních 1 hodinu. Pokud chcete ukládat a dotazovat události a protokoly za posledních 90 dnů, povolte Container Insights hlubší řešení potíží v clusteru AKS.