Använda närhetsplaceringsgrupper för att minska svarstiden för AKS-kluster (Azure Kubernetes Service)
Kommentar
När du använder närhetsplaceringsgrupper i AKS gäller samlokalisering endast för agentnoderna. Nod till nod och motsvarande värdbaserade podd till poddsvarstid förbättras. Samlokaliseringen påverkar inte placeringen av ett klusters kontrollplan.
När du distribuerar ditt program i Azure kan du skapa nätverksfördröjning genom att sprida virtuella datorinstanser mellan regioner eller tillgänglighetszoner, vilket kan påverka programmets övergripande prestanda. En närhetsplaceringsgrupp är en logisk gruppering som används för att se till att Azure-beräkningsresurserna finns fysiskt nära varandra. Vissa program, till exempel spel, tekniska simuleringar och högfrekvent handel (HFT) kräver kort svarstid och uppgifter som kan slutföras snabbt. För liknande HPC-scenarier (databehandling med höga prestanda) bör du överväga att använda närhetsplaceringsgrupper (PPG) för klustrets nodpooler.
Innan du börjar
Den här artikeln kräver Azure CLI version 2.14 eller senare. Kör az --version
för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.
Begränsningar
- En närhetsplaceringsgrupp kan endast mappas till en tillgänglighetszon.
- En nodpool måste använda vm-skalningsuppsättningar för att associera en närhetsplaceringsgrupp.
- En nodpool kan endast associera en närhetsplaceringsgrupp vid nodpoolens skapandetid.
Nodpooler och närhetsplaceringsgrupper
Den första resursen som du distribuerar med en närhetsplaceringsgrupp kopplas till ett specifikt datacenter. Eventuella extra resurser som du distribuerar med samma närhetsplaceringsgrupp samplaceras i samma datacenter. När alla resurser som använder närhetsplaceringsgruppen stoppas (frigörs) eller tas bort är de inte längre kopplade.
- Du kan associera flera nodpooler med en enda närhetsplaceringsgrupp.
- Du kan bara associera en nodpool med en enda närhetsplaceringsgrupp.
Konfigurera närhetsplaceringsgrupper med tillgänglighetszoner
Kommentar
Även om närhetsplaceringsgrupper kräver att en nodpool endast använder en tillgänglighetszon, gäller standardavtalet för virtuella Azure-datorer på 99,9 % fortfarande för virtuella datorer i en enda zon.
Närhetsplaceringsgrupper är ett nodpoolkoncept och associeras med varje enskild nodpool. Att använda en PPG-resurs påverkar inte tillgängligheten för AKS-kontrollplanet, vilket kan påverka hur du ska utforma klustret med zoner. För att säkerställa att ett kluster är utspritt över flera zoner rekommenderar vi att du använder följande design:
- Etablera ett kluster med den första systempoolen med tre zoner och ingen närhetsplaceringsgrupp som är associerad för att säkerställa att systempoddarna hamnar i en dedikerad nodpool som sprids över flera zoner.
- Lägg till extra användarnodpooler med en unik zon- och närhetsplaceringsgrupp som är associerad med varje pool. Ett exempel är nodepool1 i zon ett och PPG1, nodepool2 i zon två och PPG2 och nodepool3 i zon 3 med PPG3. Den här konfigurationen säkerställer att noder på klusternivå sprids över flera zoner och att varje enskild nodpool samplaceras i den avsedda zonen med en dedikerad PPG-resurs.
Skapa ett nytt AKS-kluster med en närhetsplaceringsgrupp
Accelererat nätverk förbättrar nätverksprestandan för virtuella datorer avsevärt. Använd närhetsplaceringsgrupper med accelererat nätverk. Som standard använder AKS accelererat nätverk på virtuella datorinstanser som stöds, vilket omfattar de flesta virtuella Azure-datorer med två eller flera virtuella processorer.
Skapa en Azure-resursgrupp med kommandot
az group create
.az group create --name myResourceGroup --location centralus
Skapa en närhetsplaceringsgrupp med hjälp av
az ppg create
kommandot . Observera ID-värdet i utdata.az ppg create --name myPPG --resource-group myResourceGroup --location centralus --type standard
Kommandot genererar utdata som liknar följande exempelutdata, som innehåller det ID-värde som du behöver för kommande CLI-kommandon.
{ "availabilitySets": null, "colocationStatus": null, "id": "/subscriptions/yourSubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myPPG", "location": "centralus", "name": "myPPG", "proximityPlacementGroupType": "Standard", "resourceGroup": "myResourceGroup", "tags": {}, "type": "Microsoft.Compute/proximityPlacementGroups", "virtualMachineScaleSets": null, "virtualMachines": null }
Skapa ett AKS-kluster med kommandot
az aks create
och ersätt värdet myPPGResourceID med resurs-ID för närhetsplaceringsgruppen från föregående steg.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --ppg myPPGResourceID --generate-ssh-keys
Lägga till en närhetsplaceringsgrupp i ett befintligt kluster
Du kan lägga till en närhetsplaceringsgrupp i ett befintligt kluster genom att skapa en ny nodpool. Du kan sedan migrera befintliga arbetsbelastningar till den nya nodpoolen och ta bort den ursprungliga nodpoolen.
Använd samma närhetsplaceringsgrupp som du skapade tidigare för att säkerställa att agentnoder i båda nodpoolerna i AKS-klustret finns fysiskt i samma datacenter.
Skapa en ny nodpool med
az aks nodepool add
kommandot och ersätt värdet myPPGResourceID med resurs-ID för närhetsplaceringsgruppen.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name mynodepool \ --node-count 1 \ --ppg myPPGResourceID
Rensa
Ta bort Azure-resursgruppen tillsammans med dess resurser med kommandot
az group delete
.az group delete --name myResourceGroup --yes --no-wait
Nästa steg
Läs mer om närhetsplaceringsgrupper.
Azure Kubernetes Service