Optimera användning och kostnader för Azure Kubernetes Service (AKS)

I den här artikeln beskrivs praktiska sätt att optimera Azure Kubernetes Service (AKS) användning och kostnader för skalning, infrastrukturstorlek, GPU-användning, flera klientorganisationer och Azure rabatter.

För de flesta produktionsarbetsbelastningar är AKS Automatic den rekommenderade utgångspunkten eftersom det tillämpar produktionsfärdiga standardinställningar, automatiserar grundläggande driftsåtgärder och bidrar till att minska överallokering. AKS Standard är fortfarande rätt val när du behöver en djupare plattformsanpassning.

Denna artikel omfattar:

Välj din optimeringsbaslinje

Börja med att välja det AKS-klusterläge som matchar din kostnads- och driftmodell.

Scenario Rekommenderat klusterläge Varför
De flesta produktionsarbetsbelastningar där du vill ha hög kostnadseffektivitet med lägre driftkostnader AKS Automatisk Förkonfigurerade produktionsklara standardvärden, hanterade åtgärder och effektiv resursallokering bidrar till att minska slöseri och tid som ägnas åt att justera plattformen.
Arbetsbelastningar som kräver omfattande konfiguration av anpassade kluster, specialiserade tillägg eller strikta plattformskontroller AKS Standard Fullständig kontroll över klusterkonfiguration och driftsmodell.
team i ett tidigt skede av sin mognad inom Kubernetes-drift och med fokus på snabb och förutsägbar leverans AKS Automatisk Minskar komplexiteten för plattformshantering så att team kan fokusera på program.
Team med etablerade plattformstekniska processer och specifika arkitekturstandarder AKS Standard Stöder avancerad anpassning och anpassade driftmönster.

Mer information finns i Vad är Azure Kubernetes Service (AKS) Automatisk?

AKS automatiska kostnadsfördelar

AKS Automatic minskar kostnaderna på två sätt: det minimerar beräkningsavfallet genom automatisering och minskar driftkostnaderna för att köra Kubernetes. I följande tabell sammanfattas de funktioner som har en direkt kostnadspåverkan och hur de jämförs med AKS Standard.

Förkonfigurerade funktioner är alltid aktiverade och kan inte ändras. Standardfunktionerna är konfigurerade för dig men kan justeras. Valfria funktioner är tillgängliga för att konfigurera och är inte aktiverade som standard.

Feature AKS Automatisk AKS Standard Kostnadspåverkan
Automatisk provisionering av noder (NAP) Förkonfigurerade Valfritt Etablerar automatiskt noder med rätt storlek för väntande poddar, vilket minskar ledig och överdimensionerad kapacitet.
Horizontal Pod Autoscaler (HPA) Förkonfigurerade Valfritt Skalar upp eller ned poddar utifrån efterfrågan utan manuell inblandning, vilket förhindrar slöseri med resurser vid låg trafik.
Kubernetes händelsestyrd automatisk skalning (KEDA) Förkonfigurerade Valfritt Händelsedriven skalning eliminerar inaktiva repliker som väntar på arbete.
Lodrät podd autoskalning (VPA) Förkonfigurerade Valfritt Automatiskt rätt storlek på poddresursbegäranden och begränsningar baserat på faktisk användning över tid.
Effektivitet för packning av poddar Förkonfigurerade Manuell inställning Poddar placeras tätt för att maximera utnyttjandet av noderna, vilket minskar det totala antalet noder som krävs.
Hanterad Prometheus + Container Insights Standardinställning Valfritt Ger omedelbar kostnadssynlighet från dag ett utan att det krävs en observabilitetskonfiguration.
Automatiska uppgraderingar av kluster- och nodoperativsystem Förkonfigurerad Manuell eller valfri Eliminerar uppgraderingsrelaterade tekniska kostnader och minskar risken för kostsamma säkerhetsincidenter från okopplade noder.
Automatisk nodreparation Förkonfigurerade Förkonfigurerad Minskar kostnaderna för stillestånd från felaktiga noder utan manuell inblandning.
Fullständigt hanterad nodresursgrupp Förkonfigurerade Valfri låsning Förhindrar oavsiktliga eller obehöriga resursändringar som kan generera oväntade kostnader.
Serviceavtal för drifttid (99,95% API-server) Ingår Betald (standardnivåuppgradering) Utan extra kostnad får du en ekonomiskt stödd tillgänglighetsgaranti.
Pod-SLA för beredskap (99,9 % inom 5 min) Ingår Inte tillgänglig Förutsägbart skalningsbeteende utan anpassade investeringar i tillförlitlighet.

Note

Eftersom skalningsverktyg som HPA, KEDA och VPA är förkonfigurerade i AKS Automatic ådrar sig teamen inte installations-, testnings- och underhållskostnaden för att konfigurera dessa funktioner själva. I AKS Standard kräver var och en av dessa funktioner manuell konfiguration och löpande justering.

Automatisk skalning

Vågrät automatisk skalning av Poddar

HPA (Horizontal Pod Autoscaler) övervakar resursefterfrågan och uppdaterar automatiskt en arbetsbelastningsresurs för att skala antalet poddar för att matcha efterfrågan. Svaret på ökad belastning är att sätta in fler pods. Om belastningen minskar och antalet poddar är högre än det konfigurerade minimumet instruerar autoskalaren arbetsbelastningsresursen att skala ner.

Mått-API:et hämtar data från kubelet var 60:e sekund och HPA kontrollerar mått-API:et var 15:e sekund efter nödvändiga ändringar som standard. Det innebär att HPA uppdateras var 60:e sekund. När du konfigurerar HPA för en distribution definierar du det minsta och högsta antalet repliker som kan köras och de mått som HPA använder för att avgöra när skalning ska utföras.

Tip

I AKS Automatic är HPA förkonfigurerat och redo att användas utan ytterligare installation. I AKS Standard konfigurerar du HPA manuellt för varje arbetsbelastning.

Mer information finns i Horizontal Pod Autoscaling and Autoscale pods in AKS (Horisontell automatisk skalning av poddar i AKS).

Kubernetes händelsedriven autoskalning

Kubernetes händelsedrivna autoskalare (KEDA) använder händelsedriven autoskalning för dina arbetsbelastningar. KEDA fungerar med HPA och kan utöka funktionerna utan att skriva över eller duplicera.

Tip

I AKS Automatic är KEDA förkonfigurerat och aktiverat i klustret. I AKS Standard installerar och konfigurerar du KEDA-tillägget manuellt.

Du kan använda KEDA-tillägget för AKS för att skala dina program och använda en omfattande katalog med Azure KEDA-skalare. Mer information finns i Automatisk skalning av program med KEDA-tillägget och Installera KEDA-tillägget för AKS.

Automatisk lodrät skalanpassing av podd

VPA (Vertical Pod Autoscaler) anger automatiskt resursbegäranden och begränsningar för containrar per arbetsbelastning baserat på tidigare användning. VPA frigör cpu och minne för poddar för att säkerställa effektiv användning av dina AKS-kluster. Med tiden ger VPA rekommendationer för resursanvändning.

Tip

I AKS Automatic är VPA förkonfigurerat och aktiverat i klustret. I AKS Standard aktiverar och konfigurerar du VPA manuellt.

Mer information finns i Vertikal pods-uppskalning i Azure Kubernetes Service (AKS) och Använd den Vertikala Podds-uppskalaren (VPA) i Azure Kubernetes Service (AKS).

Klusterrätt storlek

Rätt storlek på klustret

Ändra storlek på dina kluster för att optimera kostnader och prestanda. Ändra storlek på ett kluster manuellt genom att lägga till eller ta bort noder för att uppfylla behoven i dina program. Du kan också autoskala klustret för att automatiskt justera antalet noder som svar på ändrade krav.

Tip

AKS Automatic aktiverar Managed Prometheus och Container Insights som standard, så att du får omedelbar insyn i resursutnyttjandet från dag ett. I AKS Standard konfigurerar du observerbarhet separat. Tidiga insikter hjälper dig att agera utifrån signaler om överallokering innan de leder till varaktigt slöseri.

Mer information finns i Ändra storlek på AKS-kluster (Azure Kubernetes Service).

Autoskalning av kluster

Genom att använda autoskalning av kluster kan du automatiskt skala nodpooler baserat på resursanvändning och begränsningar. Skala till exempel upp för att schemalägga väntande poddar eller skala ned för att minska kostnaderna för oanvända noder. Autoskalningsprofilen för kluster är en uppsättning parametrar som du kan finjustera för att styra beteendet för autoskalning av kluster.

Mer information finns i Översikt över kluster autoskalning i Azure Kubernetes Service (AKS) och Använda kluster autoskalning i Azure Kubernetes Service (AKS).

Automatisk tilldelning av noder

Automatisk nodetablering (NAP), baserad på Karpenter, etablerar rätt dimensionerad infrastruktur för väntande poddar och förbättrar effektiviteten i bin-packing.

  • I AKS Automatic ingår automatisk etablering av noder i den hanterade upplevelsen.
  • I AKS Standard är automatisk avetablering av noder tillgänglig när du behöver den här funktionen med en anpassad klustermodell.

Mer information finns i Automatisk avetablering av noder i Azure Kubernetes Service (AKS).

GPU-optimeringar

GPU-partitionering och delning

GPU-partitionering hjälper till att bekämpa underutnyttjande genom att dela upp eller dela GPU:er mellan flera arbetsbelastningar. Följande avsnitt beskriver olika sätt att partitioneras och dela GPU:er i AKS.

Tidsslicering

NVIDIA GPU-operatorn möjliggör tidsslicering av GPU:er i Kubernetes-kluster. Med hjälp av tidsslicering kan en systemadministratör definiera en uppsättning repliker för en GPU, som administratören kan dela ut separat till en podd för att köra arbetsbelastningar på. Du kan använda klusteromfattande standardkonfigurationer för tidsslicering och nodspecifika konfigurationer.

Skärmbild av ett visuellt diagramexempel som visar GPU-tidsslicering.

Mer information finns i Time-slicing GPU:er i Kubernetes.

Multi-Process Service (MPS)

En enda process kanske inte använder all tillgänglig kapacitet för minne och beräkningsbandbredd på en GPU. Multi-Process Service (MPS) möjliggör logisk partitionering av minne och beräkningsresurser mellan arbetsbelastningar. Det gör också att kernel- och memcopy-operationer från olika processer kan köras överlappande på GPU:n. MPS hjälper dig att uppnå högre GPU-användning och kortare körningstider.

Skärmbild av ett visuellt diagramexempel som visar GPU-tjänsten för flera processer (MPS).

Mer information finns i Multi-Process Service (MPS).

GPU:er för flera instanser (MIG:er)

Med flerinstans-GPU:er (MIG:er) kan du partitionera GPU:er baserat på NVIDIA Ampere och senare arkitekturer i separata och säkra GPU-instanser för CUDA-program.

Skärmbild av ett visuellt diagramexempel som visar GPU:er för flera instanser (MIG:er).

Mer information finns i GPU-operatör med MIG och Skapa en multi-instans GPU nodpool i Azure Kubernetes Service (AKS).

Multitenancy

Multitenancy avser delning av infrastruktur mellan klienter, team och affärsenheter. I följande tabell beskrivs olika sätt att implementera multitenancy i AKS:

Flertenanttyp Nivå för fleranvändarläge Klusterpoddensdensitet Kostnadsallokering Idealiskt användningsfall Potentiella risker
Dedikerat kluster Hård multitenancy Lägre Enklaste Kompletta gränser för säkerhetsisolering och enkel kostnadsallokering • Klusterspridning i stor skala ökar kostnaderna för hanteringskostnader
• Lägre podddensitet och mer överprovisionerade resurser
Dedikerad nodpool Mjuk multitenancy Medel Medel Medelhög podddensitet • Kräver förtroende mellan klienter
• Kräver extra klusterkonfigurationer, till exempel nätverksprinciper, kvothantering, rollbaserad åtkomstkontroll (RBAC) osv.
Dedikerat namnområde Mjuk multitenancy Högre Svårare Dela infrastruktur för att maximera resursutnyttjandet • Osäker för fientliga miljöer som standard
• Kräver extra klusterkonfigurationer, till exempel nätverksprinciper, kvothantering, rollbaserad åtkomstkontroll (RBAC) osv.

Dedikerat kluster

Med dedikerade kluster för flera klientorganisationer är kluster dedikerade till en enda arbetsbelastning eller ett team.

Skärmbild av ett visuellt diagramexempel som visar dedikerad kluster med flera klientorganisationer.

I följande tabell beskrivs fördelar och nackdelar med att använda ett dedikerat kluster:

Fördelar Nackdelar
• Enklare isoleringsmetod
• Enkel kostnadsallokering och återbetalning
• Perfekt för fall där klienter inte litar på varandra (ofta ur säkerhets- och resursdelningsperspektiv)
• Hög ledning och ekonomiska omkostnader
• Generellt låg podddensitet och överetablerade resurser

Dedikerad nodpool

Med multitenans med dedikerade nodpooler delas kluster mellan många klientorganisationer.

Skärmbild av ett exempel på ett visuellt diagram som visar multitenancy i en dedikerad nodpool.

I följande tabell beskrivs fördelar och nackdelar med att använda en dedikerad nodpool:

Fördelar Nackdelar
• Medelhög podddensitet
• Viss delad infrastruktur
• Tillämpa Azure-taggar på nodpooler som är dedikerade till en enskild klientorganisation (taggar sprids till noder och bevaras via uppgraderingar)
• Kräver förtroende mellan hyresgäster
• Kräver extra klusterkonfigurationer, till exempel nätverksprinciper, kvothantering, rollbaserad åtkomstkontroll (RBAC) osv.

Dedikerat namnområde

Med multitenans med dedikerade namnrymder delas kluster mellan många klienter, där namnrymder utgör isoleringsgränsen.

Skärmbild av ett visuellt diagramexempel som visar dedikerad namnrymd för flera klientorganisationer.

I följande tabell beskrivs fördelar och nackdelar med att använda ett dedikerat namnområde:

Fördelar Nackdelar
• Högre poddensitet
• Bästa binpackning
• Dela infrastruktur för att maximera resursutnyttjandet
• Osäker för fientliga miljöer som standard
• Kräver extra säkerhetsåtgärder om alla klienter inte kan vara betrodda

Azure-rabatter

Om du vill ta besparingarna ett steg längre kan du dra nytta av Azure-rabatter som Azure Savings Plans, Reserved Instances och Azure Hybrid Benefits.

Azure-rabatttyp Detaljer
Azure-sparplaner • 1-3 års förskottsåtagande
• Spara upp till 65% jämfört med betala-efter-användning
• Flexibel, utan SKU-familj eller regionbegränsningar
• Bäst för arbetsbelastningar med konsekventa kostnader med resurser i olika SKU:er och regioner
Reserverade instanser • 1-3 års förskottsåtagande
• Spara upp till 72% jämfört med kontantbetalning
• Begränsad till specifika SKU-familjer och regioner
• Bäst för stabila arbetsbelastningar som körs kontinuerligt (utan oväntade SKU- eller regionändringar)
Azure Hybrid-fördelar • Ta med dina egna lokala Windows Server- och SQL Server-licenser till Azure
• Använd eventuella kvalificerade lokala licenser som har en aktiv Software Assurance (SA) eller kvalificerande prenumeration

Mer information om AKS-kostnader och AKS Automatic finns i följande artiklar: