Programtillgänglighet på Azure Kubernetes Service på Azure Stack HCI och Windows Server

Azure Kubernetes Service (AKS) på Azure Stack HCI och Windows Server är en containerplattform med fullständigt stöd som kan köra molnbaserade program på Kubernetes-plattformen för containerorkestrering. Arkitekturen stöder körning av virtualiserade Windows- och Linux-arbetsbelastningar ovanpå Azure Stack HCI och Windows Server.

Arkitekturen AKS på Azure Stack HCI och Windows Server skapas med redundanskluster och direktmigrering som aktiveras automatiskt för målkluster (arbetsbelastning). Under olika avbrottshändelser flyttas virtuella datorer som är värdar för kundens arbetsbelastningar fritt utan uppfattat programavbrott. Det innebär att en traditionell företagskund, som hanterar ett äldre program som en singleton till AKS på Azure Stack HCI och Windows Server, får liknande (eller bättre) drifttid än vad som för närvarande finns i ett äldre VM-program.

I det här avsnittet beskrivs några grundläggande begrepp för användare som vill köra containerbaserade program på AKS på Azure Stack HCI och Windows Server med direktmigrering aktiverat för att säkerställa att program är tillgängliga under ett avbrott. Kubernetes-terminologi, till exempel frivilliga avbrott och ofrivilliga avbrott, används för att referera till stilleståndstid för ett program som körs i en podd.

Vad är direktmigrering?

Direktmigrering är en Hyper-V-funktion som gör att du transparent kan flytta virtuella datorer som körs från en Hyper-V-värd till en annan utan upplevd stilleståndstid. Den främsta fördelen med direktmigrering är flexibilitet; virtuella datorer som körs är inte knutna till en enda värddator. På så sätt kan användare utföra åtgärder som att tömma en viss värd på virtuella datorer innan de inaktiverar eller uppgraderar värden. När direktmigrering kombineras med Windows redundansklustring kan du skapa system med hög tillgänglighet och feltoleranta system.

Den aktuella arkitekturen för AKS på Azure Stack HCI och Windows Server förutsätter att kunder har direktmigrering aktiverad i sin klustrade Azure Stack HCI-miljö. Därför skapas alla virtuella Kubernetes-arbetsnodsdatorer med direktmigrering konfigurerad. Dessa noder kan flyttas runt fysiska värdar i händelse av avbrott för att säkerställa att plattformen har hög tillgänglighet.

Diagram showing AKS on Azure Stack HCI and Windows Server with Failover Clustering enabled

För en kund som kör ett äldre program som en singleton ovanpå Kubernetes uppfyller den här arkitekturen deras behov av hög tillgänglighet. Kubernetes hanterar schemaläggning av poddar på tillgängliga arbetsnoder medan direktmigrering hanterar schemaläggning av virtuella arbetsnoddatorer på tillgängliga fysiska värdar.

Diagram showing an example legacy application running as a singleton

Scenarier för programstörningar

En jämförande studie av återställningstiderna för program som körs på virtuella datorer på AKS på Azure Stack HCI och Windows Server visar tydligt att programmet påverkas minimalt när vanliga avbrottshändelser inträffar. Tre exempel på avbrottsscenarier är:

  • Tillämpa en uppdatering som resulterar i en omstart av den fysiska datorn.
  • Tillämpa en uppdatering som innebär att återskapa arbetsnoden.
  • Oplanerat maskinvarufel för en fysisk dator.

Anteckning

Dessa scenarier förutsätter att programägaren fortfarande använder Kubernetes-tillhörighets- och antitillhörighetsinställningar för att säkerställa korrekt schemaläggning av poddar över arbetsnoder.

Avbrottshändelse Köra program på virtuella datorer på Azure Stack HCI Köra program på virtuella datorer på AKS på Azure Stack HCI och Windows Server
Tillämpa en uppdatering som resulterar i en omstart av den fysiska datorn Ingen påverkan Ingen påverkan
Tillämpa en uppdatering som innebär att återskapa arbetsnoden (eller starta om den virtuella datorn) Ingen påverkan Det varierar
Oplanerat maskinvarufel för en fysisk dator 6–8 minuter 6–8 minuter

Tillämpa en uppdatering som resulterar i en omstart av den fysiska datorn

Under en fysisk värdunderhållshändelse, till exempel att tillämpa en uppdatering som resulterar i omstart av en värddator, förväntas ingen påverkan för program som körs i klustret. Klusteradministratören tömmer värden och ser till att alla virtuella datorer direktmigreras innan uppdateringen tillämpas.

Tillämpa en uppdatering som innebär att återskapa arbetsnoden

I det här scenariot ingår att ta bort en virtuell dator med arbetsnoder för att utföra rutinunderhåll. För att förbereda för uppdateringen skulle klusteradministratören tömma och isolera noden, så att alla poddar avlägsnas till en tillgänglig arbetsnod innan uppdateringar tillämpas. När uppdateringen har slutförts återansluts arbetsnoden och blir tillgänglig för schemaläggning.

Anteckning

Tillgängligheten för ett program varierar eftersom det skulle omfatta den tid det tar att ladda ned bascontaineravbildningen, särskilt för större avbildningar som lagras i det offentliga molnet. Därför rekommenderar vi att du använder små bascontaineravbildningar, och för Windows containrar rekommenderas basavbildningennano server.

Oplanerat maskinvarufel för en fysisk dator

I det här scenariot inträffar en ofrivillig avbrottshändelse på en fysisk dator som är värd för en äldre programcontainer/podd på en av de virtuella datorerna för arbetsnoden. Redundansklustring placerar värden i ett isolerat tillstånd och efter en period på 6 till 8 minuter startar du processen med att direktmigrera dessa virtuella datorer till kvarvarande värdar. I det här fallet är programmets stilleståndstid den tid det tar att starta om de virtuella datorerna för värd- och arbetsnoden.

Slutsats

AKS på Azure Stack HCI och Windows Server och redundanskluster är båda utformade för att säkerställa att datormiljöerna har hög tillgänglighet och är feltoleranta. Programägaren måste dock fortfarande konfigurera distributioner för att använda Kubernetes-funktioner, till exempel Deployments, Affinity Mapping, RelicaSetsför att säkerställa att poddarna är motståndskraftiga i avbrottsscenarier.