Resursgränser, VM-storlekar och regioner för AKS som aktiveras av Azure Arc
Gäller för: AKS på Azure Local 22H2, AKS på Windows Server
Den här artikeln innehåller information om testade konfigurationer, resursgränser, VM-storlekar och regioner för Azure Kubernetes Service (AKS) som aktiveras av Azure Arc. Testerna använde den senaste versionen av AKS på Azure Local.
Maximala specifikationer
AKS som aktiveras av Arc-distributioner har verifierats med följande konfigurationer, inklusive de angivna maxgränsen. Tänk på att det är på egen risk att överskrida dessa maxantal och att det kan leda till oväntade beteenden och fel. Den här artikeln innehåller vägledning om hur du undviker vanliga konfigurationsfel och kan hjälpa dig att skapa en större konfiguration. Om du är osäker kontaktar du ditt lokala Microsoft-kontor för hjälp eller skickar en fråga i Azure Local Community.
Resurs | Högsta |
---|---|
Fysiska servrar per kluster | 8 |
Totalt antal virtuella datorer | 200 |
De rekommenderade gränserna testades med standardstorlekarna för virtuella datorer baserat på följande tabell:
Systemroll | Storlek på virtuell dator |
---|---|
AKS-värd | Standard_A4_v2 |
Kontrollplansnod för målkluster | Standardvärde |
HaProxy-lastbalanserare för målkluster (valfritt) | Standard_A4_v2 |
Linux-arbetsnod för målkluster | Standard_K8S3_v1 |
Windows-arbetsnod för målkluster | Standard_K8S3_v1 |
Maskinvarukonfigurationen för varje fysisk nod i Azure Local-klustret är följande:
- Chassi: Dell PowerEdge R650 Server eller liknande.
- RAM: RDIMM, 3200 MT/s, Dual Rank, totalt 256 GB.
- CPU: Två (2) Intel Xeon Silver 4316 2.3G, 20C/40T, 10.4 GT/s, 30M Cache, Turbo, HT (150 W) DDR4-2666.
- Disk: 8x HDD (2 TB eller större) och 2x 1,6 TB NVMe för att stödja S2D-lagringskonfigurationer.
- Nätverk: Fyra (4) 100 Gbit-nätverkskort (Mellanox eller Intel).
Microsofts teknik testade AKS aktiverat av Arc med hjälp av ovanstående konfiguration. För en enskild nod. 2 noder, 4 noder och Windows-redundanskluster med 8 noder. Om du har ett krav på att överskrida den testade konfigurationen kan du läsa Skala AKS på Azure Local.
Viktigt!
När du uppgraderar en distribution av AKS förbrukas extra resurser tillfälligt. Varje virtuell dator uppgraderas i ett löpande uppdateringsflöde, från och med kontrollplanets noder. För varje nod i Kubernetes-klustret skapas en ny virtuell noddator. Den gamla virtuella nodddatorn är begränsad för att förhindra att arbetsbelastningar distribueras till den. Den begränsade virtuella datorn töms sedan på alla containrar för att distribuera containrarna till andra virtuella datorer i systemet. Den tömda virtuella datorn tas sedan bort från klustret, stängs av och ersätts av den nya uppdaterade virtuella datorn. Den här processen upprepas tills alla virtuella datorer har uppdaterats.
Tillgängliga VM-storlekar
Följande VM-storlekar för kontrollplansnoder, Linux-arbetsnoder och Windows-arbetsnoder är tillgängliga för AKS på Azure Local. Även om VM-storlekar som Standard_K8S2_v1 och Standard_K8S_v1 stöds för testning och distributioner med låga resurskrav, använder du dessa storlekar med försiktighet och tillämpar stränga tester eftersom de kan leda till oväntade fel på grund av minnesbrist.
Storlek på virtuell dator | Processor | Minne (GB) | GPU-typ | Antal GPU:ar |
---|---|---|---|---|
Standardvärde | 4 | 4 | ||
Standard_A2_v2 | 2 | 4 | ||
Standard_A4_v2 | 4 | 8 | ||
Standard_D2s_v3 | 2 | 8 | ||
Standard_D4s_v3 | 4 | 16 | ||
Standard_D8s_v3 | 8 | 32 | ||
Standard_D16s_v3 | 16 | 64 | ||
Standard_D32s_v3 | 32 | 128 | ||
Standard_DS2_v2 | 2 | 7 | ||
Standard_DS3_v2 | 2 | 14 | ||
Standard_DS4_v2 | 8 | 28 | ||
Standard_DS5_v2 | 16 | 56 | ||
Standard_DS13_v2 | 8 | 56 | ||
Standard_K8S_v1 | 4 | 2 | ||
Standard_K8S2_v1 | 2 | 2 | ||
Standard_K8S3_v1 | 4 | 6 | ||
Standard_NK6 | 6 | 12 | Tesla T4 | 1 |
Standard_NK12 | 12 | 24 | Tesla T4 | 2 |
Azure-regioner som stöds för Azure-registrering
AKS som aktiveras av Arc stöds i följande Azure-regioner:
- Australien, östra
- USA, östra
- Sydostasien
- Västeuropa
Skala AKS på Azure Local
Att skala en AKS-distribution på Azure Local innebär att planera framåt genom att känna till dina arbetsbelastningar och målklusteranvändningen. Dessutom bör du överväga maskinvaruresurser i din underliggande infrastruktur, till exempel totalt processorkärnor, totalt minne, lagringsutrymme, IP-adresser och så vidare.
I följande exempel förutsätts att endast AKS-baserade arbetsbelastningar distribueras på den underliggande infrastrukturen. När du distribuerar icke-AKS-arbetsbelastningar, till exempel fristående eller klustrade virtuella datorer eller databasservrar, minskar de resurser som är tillgängliga för AKS, vilket du måste ta hänsyn till.
Innan du börjar bör du överväga följande punkter för att fastställa din maximala skala och antalet målkluster som du behöver stöd för:
- Antalet IP-adresser som du har tillgängliga för poddar i ett målkluster.
- Antalet TILLGÄNGLIGA IP-adresser för Kubernetes-tjänster i ett målkluster.
- Antalet poddar som du behöver för att köra dina arbetsbelastningar.
För att fastställa storleken på din virtuella Azure Kubernetes-tjänstvärddator måste du känna till antalet arbetsnoder och målkluster, eftersom det avgör storleken på den virtuella AKS-värddatorn. Till exempel:
- Antalet målkluster i det slutliga distribuerade systemet.
- Antalet noder, inklusive kontrollplan, lastbalanserare och arbetsnoder i alla målkluster.
Kommentar
En enda AKS-värd kan bara hantera målkluster på samma plattform.
För att fastställa storleken på målklustrets kontrollplansnod måste du också känna till antalet poddar, containrar och arbetsnoder som du planerar att distribuera i varje målkluster.
Standardinställningar som för närvarande inte kan ändras i AKS
Det finns standardkonfigurationer och inställningar som för närvarande inte är tillgängliga för kundkontroll under eller efter distributionen. De här inställningarna kan begränsa skalan för ett visst målkluster.
- Antalet IP-adresser för Kubernetes-poddar i ett målkluster är begränsat till undernätet
10.244.0.0/16
. Det vill: 255 IP-adresser per arbetsnod i alla Kubernetes-namnområden kan användas för poddar. Om du vill se poddens CIDR tilldelad till varje arbetsnod i klustret använder du följande kommando i PowerShell:
kubectl get nodes -o json | findstr 'hostname podCIDR'
"kubernetes.io/hostname": "moc-lip6cotjt0f",
"f:podCIDR": {},
"f:podCIDRs": {
"f:kubernetes.io/hostname": {},
"podCIDR": "10.244.2.0/24",
"podCIDRs": [
"kubernetes.io/hostname": "moc-lmb6zqozk4m",
"f:podCIDR": {},
"f:podCIDRs": {
"f:kubernetes.io/hostname": {},
"podCIDR": "10.244.4.0/24",
"podCIDRs": [
"kubernetes.io/hostname": "moc-wgwhhijxtfv",
"f:podCIDR": {},
"f:podCIDRs": {
"f:kubernetes.io/hostname": {},
"podCIDR": "10.244.5.0/24",
"podCIDRs": [
I exemplet kan du se tre noder med tre CIDR:er som var och en kan vara värd för 254 poddar. Dokumentationen för Kubernetes-skalning rekommenderar att du inte överskrider 110 poddar per nod av prestandaskäl. Se Överväganden för stora kluster.
Andra överväganden:
- Antalet IP-adresser för Kubernetes-tjänster, utanför den VIP-pool som du allokerade, kommer från adresspoolen
10.96.0.0/16
. Systemet använder en av de 255 tillgängliga adresserna för Kubernetes API-servern. - Storleken på den virtuella AKS-värddatorn kan bara anges vid installationen när du kör Set-AksHciConfig för första gången. Du kan inte ändra det senare.
- Du kan bara ange storleken på målklusterkontrollplanet och de virtuella datorerna för lastbalanseraren när målklustret skapas.
Skalningsexempel
Följande skalningsexempel baseras på dessa allmänna antaganden/användningsfall:
- Du vill kunna tolerera att en fysisk nod förloras helt i Azure Local-klustret.
- Du vill ha stöd för uppgradering av målkluster till nyare versioner.
- Du vill tillåta hög tillgänglighet för målklusterkontrollplannoderna och lastbalanserarens noder.
- Du vill reservera en del av den övergripande Azure Local-kapaciteten för dessa fall.
Förslag
För optimal prestanda måste du ange minst 15 procent (100/8=12,5) klusterkapacitet åt sidan för att tillåta att alla resurser från en fysisk nod omfördelas till de övriga sju (7) noderna. Den här konfigurationen säkerställer att du har en viss reserv tillgänglig för att utföra en uppgradering eller andra ÅTGÄRDER på AKS dag två.
Om du vill växa utöver gränsen på 200 virtuella datorer för en maximal maskinvarustorlek på åtta (8) noder i Azure Local-klustret ökar du storleken på den virtuella AKS-värddatorn. En fördubbling av storleken resulterar i ungefär dubbelt så många virtuella datorer som det kan hantera. I ett lokalt Azure-kluster med 8 noder kan du komma till 8 192 (8x1024) virtuella datorer baserat på de rekommenderade resursbegränsningarna för Azure Local som beskrivs i de högsta maskinvaruspecifikationer som stöds. Du bör reservera cirka 30 % av kapaciteten, vilket ger en teoretisk gräns på 5 734 virtuella datorer över alla noder.
- Standard_D32s_v3 för AKS-värden med 32 kärnor och 128 GB – har stöd för högst 1 600 noder.
Kommentar
Eftersom den här konfigurationen inte har testats i stor utsträckning kräver den en noggrann metod och validering.
I en skala som denna kanske du vill dela upp miljön i minst 8 målkluster med 200 arbetsnoder vardera.
Om du vill köra 200 arbetsnoder i ett målkluster kan du använda standardkontrollplanet och lastbalanserarens storlek. Beroende på antalet poddar per nod kan du öka minst en storlek på kontrollplanet och använda Standard_D8s_v3.
Beroende på antalet Kubernetes-tjänster som finns i varje målkluster kan du behöva öka storleken på den virtuella lastbalanserarens virtuella dator och skapa målkluster för att säkerställa att tjänster kan nås med höga prestanda och att trafiken dirigeras därefter.
Distributionen av AKS som aktiveras av Arc distribuerar arbetsnoderna för varje nodpool i ett målkluster över de tillgängliga lokala Azure-noderna med hjälp av Azure Local-placeringslogik.
Viktigt!
Nodplaceringen bevaras inte under plattforms- och AKS-uppgraderingar och ändras med tiden. En misslyckad fysisk nod påverkar också distributionen av virtuella datorer över de återstående klusternoderna.
Kommentar
Kör inte fler än fyra skapanden av målkluster samtidigt om det fysiska klustret redan är 50 % fullt, eftersom det kan leda till tillfällig resurskonkurration. När du skalar upp målklusternodpooler med ett stort antal bör du ta hänsyn till tillgängliga fysiska resurser, eftersom AKS inte verifierar resurstillgängligheten för parallella processer för att skapa/skala parallellt. Se alltid till att det finns tillräckligt med reserverade för uppgraderingar och redundans. Särskilt i mycket stora miljöer kan dessa åtgärder, när de körs parallellt, leda till snabb resursöverbelastning.
Om du är osäker kontaktar du ditt lokala Microsoft-kontor för hjälp eller inlägg i Azure Local Community-forumet.