Nabijheidsplaatsingsgroepen gebruiken om de latentie voor AKS-clusters (Azure Kubernetes Service) te verminderen
Notitie
Wanneer u nabijheidsplaatsingsgroepen op AKS gebruikt, is colocatie alleen van toepassing op de agentknooppunten. Knooppunt naar knooppunt en de bijbehorende gehoste pod naar podlatentie is verbeterd. De colocatie heeft geen invloed op de plaatsing van het besturingsvlak van een cluster.
Wanneer u uw toepassing in Azure implementeert, kunt u netwerklatentie maken door VM-exemplaren (virtuele machines) te spreiden tussen regio's of beschikbaarheidszones, wat de algehele prestaties van uw toepassing kan beïnvloeden. Een nabijheidsplaatsingsgroep is een logische groepering die wordt gebruikt om ervoor te zorgen dat Azure-rekenresources zich fysiek dicht bij elkaar bevinden. Sommige toepassingen, zoals gaming, engineeringsimulaties en high-frequency trading (HFT), vereisen lage latentie en taken die snel kunnen worden voltooid. Voor vergelijkbare HPC-scenario's (High Performance Computing) kunt u overwegen om nabijheidsplaatsingsgroepen (PPG) te gebruiken voor de knooppuntgroepen van uw cluster.
Voordat u begint
Voor dit artikel is Azure CLI versie 2.14 of hoger vereist. Voer az --version
uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.
Beperkingen
- Een nabijheidsplaatsingsgroep kan slechts aan één beschikbaarheidszone worden toegewezen.
- Een knooppuntgroep moet virtuele-machineschaalsets gebruiken om een nabijheidsplaatsingsgroep te koppelen.
- Een knooppuntgroep kan een nabijheidsplaatsingsgroep alleen aan een knooppuntgroep koppelen om tijd te maken.
Knooppuntgroepen en nabijheidsplaatsingsgroepen
De eerste resource die u implementeert met een nabijheidsplaatsingsgroep, wordt gekoppeld aan een specifiek datacenter. Alle extra resources die u implementeert met dezelfde nabijheidsplaatsingsgroep, bevinden zich in hetzelfde datacenter. Zodra alle resources die gebruikmaken van de nabijheidsplaatsingsgroep zijn gestopt (de toewijzing ongedaan gemaakt) of verwijderd, wordt deze niet meer gekoppeld.
- U kunt meerdere knooppuntgroepen koppelen aan één nabijheidsplaatsingsgroep.
- U kunt een knooppuntgroep alleen koppelen aan één nabijheidsplaatsingsgroep.
Nabijheidsplaatsingsgroepen configureren met beschikbaarheidszones
Notitie
Hoewel nabijheidsplaatsingsgroepen een knooppuntgroep nodig hebben om slechts één beschikbaarheidszone te gebruiken, is de AZURE VM-BASISlijn-SLA van 99,9% nog steeds van kracht voor VM's in één zone.
Nabijheidsplaatsingsgroepen zijn een concept van een knooppuntgroep en zijn gekoppeld aan elke afzonderlijke knooppuntgroep. Het gebruik van een PPG-resource heeft geen invloed op de beschikbaarheid van het AKS-besturingsvlak, wat van invloed kan zijn op het ontwerpen van uw cluster met zones. Om ervoor te zorgen dat een cluster verspreid is over meerdere zones, raden we u aan het volgende ontwerp te gebruiken:
- Richt een cluster in met de eerste systeemgroep met behulp van drie zones en geen nabijheidsplaatsingsgroep die is gekoppeld om ervoor te zorgen dat de systeempods in een toegewezen knooppuntgroep terechtkomen, die zich verspreidt over meerdere zones.
- Voeg extra gebruikersknooppuntgroepen toe met een unieke zone en nabijheidsplaatsingsgroep die aan elke groep is gekoppeld. Een voorbeeld is nodepool1 in zone 1 en PPG1, nodepool2 in zone twee en PPG2 en nodepool3 in zone 3 met PPG3. Deze configuratie zorgt ervoor dat knooppunten op clusterniveau worden verdeeld over meerdere zones en dat elke afzonderlijke knooppuntgroep zich in de aangewezen zone bevindt met een toegewezen PPG-resource.
Een nieuw AKS-cluster maken met een nabijheidsplaatsingsgroep
Versneld netwerken verbetert de netwerkprestaties van virtuele machines aanzienlijk. Gebruik idealiter nabijheidsplaatsingsgroepen met versneld netwerken. AKS maakt standaard gebruik van versneld netwerken op ondersteunde exemplaren van virtuele machines, waaronder de meeste virtuele Azure-machines met twee of meer vCPU's.
Maak een Azure-resourcegroep met behulp van de
az group create
opdracht.az group create --name myResourceGroup --location centralus
Maak een nabijheidsplaatsingsgroep met behulp van de
az ppg create
opdracht. Noteer de id-waarde in de uitvoer.az ppg create --name myPPG --resource-group myResourceGroup --location centralus --type standard
De opdracht produceert een uitvoer die vergelijkbaar is met de volgende voorbeelduitvoer, die de id-waarde bevat die u nodig hebt voor toekomstige CLI-opdrachten.
{ "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 }
Maak een AKS-cluster met behulp van de
az aks create
opdracht en vervang de waarde myPPGResourceID door de resource-id van de nabijheidsplaatsingsgroep uit de vorige stap.az aks create \ --resource-group myResourceGroup \ --name myAKSCluster \ --ppg myPPGResourceID --generate-ssh-keys
Een nabijheidsplaatsingsgroep toevoegen aan een bestaand cluster
U kunt een nabijheidsplaatsingsgroep toevoegen aan een bestaand cluster door een nieuwe knooppuntgroep te maken. U kunt vervolgens eventueel bestaande workloads migreren naar de nieuwe knooppuntgroep en de oorspronkelijke knooppuntgroep verwijderen.
Gebruik dezelfde nabijheidsplaatsingsgroep die u eerder hebt gemaakt om ervoor te zorgen dat agentknooppunten in beide knooppuntgroepen in uw AKS-cluster zich fysiek in hetzelfde datacenter bevinden.
Maak een nieuwe knooppuntgroep met behulp van de
az aks nodepool add
opdracht en vervang de waarde myPPGResourceID door de resource-id van de nabijheidsplaatsingsgroep.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name mynodepool \ --node-count 1 \ --ppg myPPGResourceID
Opschonen
Verwijder de Azure-resourcegroep samen met de bijbehorende resources met behulp van de
az group delete
opdracht.az group delete --name myResourceGroup --yes --no-wait
Volgende stappen
Meer informatie over nabijheidsplaatsingsgroepen.
Azure Kubernetes Service