Dela via


Skalbarhetsöverväganden för Azure Kubernetes Service-miljöer

Azure Kubernetes Service (AKS) kan skalas in och ut beroende på infrastrukturbehov (kräver mer eller mindre kapacitet), lägga till nodpooler med särskilda funktioner som GPU eller programbehov, i det här fallet har du flera faktorer som antal och frekvens för samtidiga anslutningar, antal begäranden, svarstider för serverdelen i AKS-program.

De vanligaste skalbarhetsalternativen för AKS är autoskalning av kluster och autoskalning av horisontell podd. Autoskalning av kluster justerar antalet noder baserat på de begärda beräkningsresurserna i nodpoolen. HPA (Horizontal Pod Autoscaler) justerar antalet poddar i en distribution beroende på CPU-användning eller andra konfigurerade mått.

Designöverväganden

Här är några viktiga faktorer att tänka på:

  • Är snabb skalbarhet ett krav för ditt program (ingen tid att vänta)?

    • För att snabbt tillhandahålla poddar, använd virtuella noder; de stöds endast med Linux-noder/poddar.
  • Är arbetsbelastningen inte tidskänslig och kan hantera avbrott? Överväg att använda Spot VMs

  • Kan den underliggande infrastrukturen (plugin-program för nätverk, IP-intervall, prenumerationsgränser, kvoter och så vidare) skala ut?

  • Överväg att automatisera skalbarheten

  • Överväg skalbarhet med pooler med flera zoner och noder

    • När du skapar nodpooler bör du ange tillgänglighetszoner med AKS.
    • Överväg att använda flera nodpooler för att stödja program med olika krav.
    • Skala nodpooler med klusterautoskalerare.
    • Du kan skala till noll användarnodpooler. Se begränsningarna.

Designrekommendationer

Följ dessa metodtips för din design:

  • Använd VMSS (Virtual Machine Scale Sets), som krävs för scenarier som autoskalning, flera nodpooler och stöd för Windows-nodpooler.
    • Aktivera eller redigera inte VMSS-skalbarhetsinställningar manuellt i Azure-portalen eller med hjälp av Azure CLI. Använd i stället klustrets automatisk skalning.
  • Om du behöver autoskalning med snabb burst väljer du att bursta från AKS-klustret med hjälp av Azure Container Instances och virtuella noder för snabb och oändlig skalbarhet och fakturering per sekund.
  • Använd autoskalning av kluster och skala till noll för förutsägbar skalbarhet med hjälp av VM-baserade arbetsnoder.
  • Aktivera autoskalning av kluster för att uppfylla programkraven.
  • Aktivera automatiskt skalningssystem (HPA) för poddar för att hantera de upptagna timmarna av din applikation.
    • Alla dina containrar och poddar måste ha resursbegäranden och gränser definierade.
    • HPA skalar automatiskt antalet poddar baserat på observerade resursgränser cpu/minne eller anpassade mått.
  • Aktivera Azure Monitor för containrar och liveövervakning för att övervaka kluster- och arbetsbelastningsanvändningen.
  • Använd flera nodpooler när dina program har olika resurskrav.
  • Överväg Spot VM-baserade nodpooler för icke-tidskänsliga arbetsbelastningar som kan hantera avbrott och förflyttningar.