Tillgänglighetsuppsättningar i AKS aktiverat av Azure Arc
Tillgänglighetsuppsättningar är logiska grupper av virtuella datorer som har svaga relationer mot tillhörighet med varandra för att säkerställa att de sprids jämnt över de tillgängliga feldomänerna i ett fysiskt kluster. En feldomän i den här kontexten är en fysisk värd eller en grupp fysiska värdar. Med hjälp av tillgänglighetsuppsättningar kan AKS Arc förbättra tillgängligheten och distributionen av dina Kubernetes-arbetsbelastningar. Tillgänglighetsuppsättningar kan undvika scenarier där ett enskilt nodfel kan leda till att flera virtuella datorer slutar fungera eller blir obalanserade.
Översikt
Tillgänglighetsuppsättningar erbjuder flera fördelar för AKS för lokala Azure-användare, till exempel:
- Förbättrar tillgängligheten och motståndskraften för dina program genom att undvika scenarier där flera virtuella datorer i samma nodpool eller kontrollplan går ned eller blir obalanserade på grund av ett fel med en enda nod.
- Optimerar resursanvändningen och prestandan för klustret genom att se till att virtuella datorer är jämnt fördelade över de tillgängliga noderna och inte koncentreras på en enda nod eller en delmängd av noder.
- Överensstämmer med bästa praxis och förväntningar hos dina kunder och partner som letar efter en tillförlitlig och konsekvent lokal Kubernetes-upplevelse.
Aktivera tillgänglighetsuppsättningar
Med AKS på Azure Local, version 23H2, aktiveras funktionen tillgänglighetsuppsättningar som standard när du skapar en nodpool. Med AKS på Windows Server kan du aktivera funktionen tillgänglighetsuppsättningar genom att lägga till parametern -enableAvailabilitySet
när du skapar ett AKS-kluster, New-AksHciCluster -Name <name> -controlPlaneNodeCount 3 -osType Linux -kubernetesVersion $kubernetesVersion -enableAvailabilitySet
till exempel .
Så här fungerar tillgänglighetsuppsättningar i AKS som aktiveras av Azure Arc
När du skapar ett nytt AKS Arc-kluster skapar AKS Arc automatiskt tillgänglighetsuppsättningar, en för de virtuella kontrollplansdatorerna och en annan för var och en av nodpoolerna i Kubernetes-klustret. Varje nodpool har en egen tillgänglighetsuppsättning. Med den här layouten ser AKS Arc till att virtuella datorer med samma roll (kontrollplan eller nodpool) aldrig finns på samma fysiska värd och att de distribueras över de tillgängliga noderna i ett kluster.
När tillgänglighetsuppsättningarna har skapats och de virtuella datorerna har tilldelats placerar systemet dem automatiskt på lämpliga fysiska noder. Om en nod misslyckas redundansväxlar systemet även automatiskt de virtuella datorerna till andra noder och balanserar om dem när noden återställs. På så sätt kan du uppnå hög tillgänglighet och optimal distribution av dina Kubernetes-arbetsbelastningar utan manuella åtgärder.
Överväg ett AKS på Azure Local, version 23H2-kluster med två fysiska värddatorer, värd A och värd B, tre virtuella kontrollplansdatorer och två virtuella datorer med arbetsnoder, Nodepool1VM1 och Nodepool1VM2. För att säkerställa hög tillgänglighet för dina Kubernetes-program får de virtuella datorerna i nodpoolen aldrig dela samma värd, såvida inte någon av värdarna är tillfälligt otillgänglig för planerat underhåll eller kapacitetsproblem, vilket kan göra att den virtuella datorn (den virtuella datorn) tillfälligt placeras på en alternativ värd.
I följande diagram representerar varje färg en grupp mot tillhörighet:
Om värd B går ned på grund av en omstart redundansväxlar Control Plane VM2, Control Plane VM3 och Nodepool1VM2 över till Värd A enligt följande bild. Förutsatt att programmet kör poddar i NodePoolVM1 påverkar den här omstarten inte programmet:
I den gamla arkitekturen, om värd B kom tillbaka online efter en omstart, fanns det ingen garanti för att de virtuella datorerna skulle flytta tillbaka från värd A till värd B (ombalansering), vilket tvingade arbetsbelastningarna att stanna kvar på samma värd och skapa en enda felpunkt, som visas i följande diagram:
Tillgänglighetsuppsättningar för AKS Arc kan hjälpa till att balansera om virtuella datorer när en värd återställs från ett tillfälligt avbrott. I det här exemplet flyttas ControlPlaneVM2, ControlPlaneVM3 och Nodepool1VM2 automatiskt till värd B, enligt följande:
Viktigt!
Tillgänglighetsuppsättningar i AKS Arc är en ny funktion som fortfarande utvecklas och förbättras. Vi har ännu inte stöd för manuell konfiguration av feldomäner eller tillgänglighetsuppsättningar. Du kan inte ändra feldomänerna för en tillgänglighetsuppsättning när den har skapats. Virtuella datorer tilldelas en tillgänglighetsuppsättning när klustret skapas och kan inte migreras till en annan tillgänglighetsuppsättning.
Lägga till eller ta bort datorer
I ett scenario med borttagning av värd anses värden inte längre vara en del av klustret. Den här borttagningen sker vanligtvis när du ersätter en dator på grund av maskinvaruproblem eller av andra orsaker skalar ned Azure Local-klustret. Under ett nodavbrott förblir noden en del av Azure Local-klustret men visas som Ned.
Om en fysisk dator (feldomän) tas bort permanent från klustret ändras inte konfigurationen av tillgänglighetsuppsättningen för att minska antalet feldomäner. I det här scenariot anger tillgänglighetsuppsättningen ett feltillstånd. Vi rekommenderar att du distribuerar om dina Kubernetes-kluster så att tillgänglighetsuppsättningen uppdateras med rätt antal feldomäner.
När en ny fysisk dator (feldomän) läggs till i klustret expanderas konfigurationen av tillgänglighetsuppsättningen automatiskt så att den nya datorn inkluderas. De befintliga virtuella datorerna balanserar dock inte om för att tillämpa den nya konfigurationen, eftersom de redan har tilldelats till tillgänglighetsuppsättningar. Vi rekommenderar att du distribuerar om dina Kubernetes-kluster så att tillgänglighetsuppsättningen uppdateras med rätt antal feldomäner.