Automatisch herstellen van AKS-knooppunten (Azure Kubernetes Service)

Azure Kubernetes Service (AKS) bewaakt continu de status van werkknooppunten en herstelt de knooppunten automatisch als ze beschadigd raken. Het Azure VM-platform (virtual machine) voert onderhoud uit op VM's die problemen ondervinden. AKS- en Azure-VM's werken samen om serviceonderbrekingen voor clusters te minimaliseren.

In dit artikel leert u hoe de functionaliteit voor automatisch herstel van knooppunten zich gedraagt voor Windows- en Linux-knooppunten.

Hoe AKS controleert op NotReady-knooppunten

AKS gebruikt de volgende regels om te bepalen of een knooppunt niet in orde is en moet worden hersteld:

  • Het knooppunt rapporteert de status NotReady bij opeenvolgende controles binnen een tijdsbestek van tien minuten.
  • Het knooppunt rapporteert geen status binnen 10 minuten.

U kunt de status van uw knooppunten handmatig controleren met de kubectl get nodes opdracht.

Hoe automatisch herstellen werkt

Notitie

AKS initieert herstelbewerkingen met het gebruikersaccount aks-remediator.

Als AKS een beschadigd knooppunt identificeert dat vijf minuten in orde blijft, voert AKS de volgende acties uit:

  1. Probeert het knooppunt opnieuw op te starten.
  2. Als het opnieuw opstarten van het knooppunt mislukt, wordt het knooppunt opnieuw in AKS geplaatst.
  3. Als de installatiekopie mislukt en het een Linux-knooppunt is, implementeert AKS het knooppunt opnieuw.

AKS-technici onderzoeken alternatieve herstelbewerkingen als automatisch herstellen mislukt.

Notitie

Automatisch herstellen wordt niet geactiveerd als de volgende tainten aanwezig zijn op het knooppunt: node.cloudprovider.kubernetes.io/shutdown, ToBeDeletedByClusterAutoscaler.

Het algehele proces voor automatisch herstellen kan een uur duren. AKS probeert voor elke stap maximaal drie keer opnieuw.

Automatisch leegmaken van knooppunt

Geplande gebeurtenissen kunnen plaatsvinden op de onderliggende VM's in een van uw knooppuntgroepen. Voor spot-knooppuntgroepen kunnen geplande gebeurtenissen een preempt-knooppuntgebeurtenis voor het knooppunt veroorzaken. Bepaalde knooppuntgebeurtenissen, zoals vooraf, zorgen ervoor dat het AKS-knooppunt automatisch leegloopt om een cordon uit te voeren en het betrokken knooppunt leeg te maken. Met dit proces kunt u opnieuw plannen voor eventuele betrokken werkbelastingen op dat knooppunt. Mogelijk ziet u dat het knooppunt een taint ontvangt met "remediator.kubernetes.azure.com/unschedulable", vanwege "kubernetes.azure.com/scalesetpriority: spot".

In de volgende tabel ziet u de knooppuntgebeurtenissen en acties die ze veroorzaken voor automatische afvoer van AKS-knooppunten:

Gebeurtenis Omschrijving Actie
Vergrendeling De VIRTUELE machine wordt een paar seconden gepauzeerd. CPU- en netwerkconnectiviteit kunnen worden onderbroken, maar er is geen invloed op het geheugen of geopende bestanden. Geen actie.
Opnieuw opstarten De VIRTUELE machine is gepland voor opnieuw opstarten. Het niet-permanente geheugen van de VIRTUELE machine gaat verloren. Geen actie.
Opnieuw implementeren De VM wordt gepland om naar een ander knooppunt te gaan. De tijdelijke schijven van de VIRTUELE machine gaan verloren. Cordon en afvoer.
Preempt De spot-VM wordt verwijderd. De tijdelijke schijven van de VIRTUELE machine gaan verloren. Cordon en afvoer
Beƫindigen De VIRTUELE machine is gepland voor verwijdering. Cordon en afvoer.

Beperkingen

In veel gevallen kan AKS bepalen of een knooppunt beschadigd is en probeert het probleem te herstellen. Er zijn echter gevallen waarin AKS het probleem niet kan herstellen of detecteert dat er een probleem bestaat. AKS kan bijvoorbeeld geen problemen detecteren in de volgende voorbeeldscenario's:

  • Er wordt geen knooppuntstatus gerapporteerd vanwege een fout in de netwerkconfiguratie.
  • Een knooppunt kan in eerste instantie niet worden geregistreerd als een gezond knooppunt.

Knooppunt Autodrain is een best effort-service en kan niet gegarandeerd perfect werken in alle scenario's

Volgende stappen

Gebruik beschikbaarheidszones om hoge beschikbaarheid te verhogen met uw AKS-clusterworkloads.