Virtuele-machineschaalsets en plaatsingsgroepen
Notitie
Dit document bevat informatie over virtuele-machineschaalsets die worden uitgevoerd in de uniformindelingsmodus. We raden u aan Flexibele indeling te gebruiken voor nieuwe workloads. Zie Orchesration-modi voor virtuele-machineschaalsets in Azure voor meer informatie.
U kunt nu virtuele-machineschaalsets van Azure maken met een capaciteit van maximaal 1000 VM's. In dit document wordt een grote virtuele-machineschaalset gedefinieerd als een schaalset die kan worden geschaald naar meer dan 100 VM's. Deze mogelijkheid wordt ingesteld met een schaalseteigenschap (singlePlacementGroup=False).
Bepaalde aspecten van grote schaalsets, zoals taakverdeling en foutdomeinen, werken anders dan in een standaardschaalset. In dit document worden de kenmerken van grote schaalsets uitgelegd en wordt beschreven wat u moet weten om ze in uw toepassingen te gebruiken.
Een algemene aanpak voor de implementatie van een grootschalige cloudinfrastructuur is het maken van een reeks schaaleenheden, bijvoorbeeld door meerdere virtuele-machineschaalsets op meerdere VNETs en opslagaccounts te maken. Deze aanpak is eenvoudiger te beheren dan enkelvoudige virtuele machines, en meerdere schaaleenheden zijn nuttig voor veel toepassingen, met name voor toepassingen die ook andere stapelbare onderdelen nodig hebben, zoals meerdere virtuele netwerken en eindpunten. Als uw toepassing echter een groot cluster nodig heeft, is het misschien eenvoudiger om één schaalset van maximaal 1000 virtuele machines te implementeren. Voorbeeldscenario's zijn gecentraliseerde big data-implementaties, of rekenrasters die een eenvoudig beheer van een grote groep werkrolknooppunten vereisen. In combinatie met gekoppelde gegevensschijven van virtuele-machineschaalsets kunt u met grote schaalsets een schaalbare infrastructuur implementeren die bestaat uit duizenden vCPU's en petabytes aan opslag, als één bewerking.
Plaatsingsgroepen
Wat een grote schaalset zo bijzonder maakt, is niet het aantal virtuele machines, maar het aantal plaatsingsgroepen dat deze bevat. Een plaatsingsgroep is een constructie die vergelijkbaar is met een Azure-beschikbaarheidsset, met eigen foutdomeinen en upgradedomeinen. Standaard bestaat een schaalset uit één plaatsingsgroep met een omvang van maximaal 100 virtuele machines. Als een schaaleigenschap met de naam singlePlacementGroup is ingesteld op onwaar, kan de schaal bestaan uit meerdere plaatsingsgroepen en heeft deze een capaciteit van 0-1000 virtuele machines. Als de eigenschap de standaardwaarde waar heeft, bestaat een schaalset uit één plaatsingsgroep en heeft deze een capaciteit van 0-100 virtuele machines.
Controlelijst voor het gebruik van grote schaalsets
Overweeg de volgende vereisten voordat u beslist of uw toepassing doeltreffend gebruik kan maken van grootschalige sets:
- Als u een groot aantal VM’s wilt implementeren, moeten de quotumlimieten voor uw reken-vCPU’s mogelijk worden verhoogd.
- Schaalsets die zijn gemaakt op basis van Azure Marketplace-installatiekopieën of Azure Compute Gallery-installatiekopieën kunnen maximaal 1000 VM's worden geschaald.
- Schaalsets die vanuit aangepaste installatiekopieën (VM-installatiekopieën die u zelf maakt en uploadt) zijn gemaakt, kunnen op dit moment worden geschaald tot maximaal 600 VM’s.
- Grote schaalsets vereisen Azure Managed Disks. Voor schaalsets die niet worden gemaakt met Managed Disks zijn meerdere opslagaccounts vereist (één voor elke 20 virtuele machines). Grote schaalsets zijn ontworpen om exclusief met Managed Disks te werken om de overhead voor opslagbeheer te beperken en om het risico te vermijden dat u met abonnementslimieten van opslagaccounts wordt geconfronteerd.
- Grootschalige (SPG=false) biedt geen ondersteuning voor InfiniBand-netwerken
- Laag-4 taakverdeling met schaalsets die uit meerdere plaatsingsgroepen bestaan vereist Azure Load Balancer standaard-SKU. De Load Balancer standaard-SKU biedt extra voordelen, zoals de mogelijkheid om taken te verdelen tussen meerdere schaalsets. Standaard-SKU vereist ook dat er een netwerkbeveiligingsgroep is gekoppeld aan de schaalset, anders werken de NAT-pools niet correct. Als u de Azure Load Balancer basis-SKU moet gebruiken, zorgt u dat de schaalset is geconfigureerd voor het gebruik van één plaatsingsgroep. Dit is de standaardinstelling.
- Laag-7 taakverdeling met de Azure Application Gateway wordt voor alle schaalsets ondersteund.
- Een schaalset wordt gedefinieerd met één subnet. Zorg dat het subnet een adresruimte heeft die groot genoeg is voor alle virtuele machines die u nodig hebt. Standaard wordt een schaalset te groot ingericht (dat wil zeggen dat er tijdens de implementatie of bij het uitschalen extra virtuele machines worden gemaakt, waarvoor u niet hoeft te betalen), om de betrouwbaarheid en prestaties van de implementatie te verbeteren. Zorg daarom voor een adresruimte die 20% groter is dan het aantal virtuele machines waarnaar u wilt gaan schalen.
- Fout- en upgradedomeinen zijn alleen consistent binnen een plaatsingsgroep. Deze architectuur wijzigt de algehele beschikbaarheid van een schaalset niet, omdat VM's gelijkmatig zijn verdeeld over afzonderlijke fysieke hardware, maar dit betekent wel dat als u wilt garanderen dat twee VM's zich op verschillende hardware bevinden, ervoor zorgen dat ze zich in verschillende foutdomeinen in dezelfde plaatsingsgroep bevinden. Raadpleeg deze koppeling beschikbaarheidsopties.
- Het foutdomein en de id van de plaatsingsgroep worden weergegeven in de exemplaarweergave van een schaalset-VM. U kunt de exemplaarweergave van een schaalset-VM bekijken in de Azure Resource Explorer.
Een grote schaalset maken
Als u een schaalset maakt in de Azure-portal, hoeft u alleen maar de waarde bij het aantal exemplaren van maximaal 1.000 in te vullen. Als het om meer dan 100 exemplaren gaat, wordt Schalen naar meer dan 100 exemplaren inschakelen ingesteld op Ja. Hierdoor kan de schaal worden aangepast naar meerdere plaatsingsgroepen.
U kunt een grote virtuele-machineschaalset maken met behulp van de Azure CLI az vmss create command. Met deze opdracht stelt u intelligente standaardinstellingen in, zoals een subnetgrootte op basis van het argument instance-count:
az group create -l southcentralus -n biginfra
az vmss create -g biginfra -n bigvmss --image Ubuntu2204 --instance-count 1000
De opdracht vmss create gebruikt standaard bepaalde configuratiewaarden als u ze niet opgeeft. Probeer het volgende om de beschikbare opties te bekijken die u kunt overschrijven:
az vmss create --help
Als u een grote schaalset maakt door een Azure Resource Manager-sjabloon te maken, zorg dan dat de sjabloon een schaalset maakt op basis van Azure Managed Disks. U kunt de eigenschap singlePlacementGroup in de sectie Properties van de resource Microsoft.Compute/virtualMAchineScaleSets instellen op false. In het volgende JSON-fragment ziet u het begin van een schaalsetsjabloon, met een capaciteit voor 1000 virtuele machines en de instelling "singlePlacementGroup": false:
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"location": "australiaeast",
"name": "bigvmss",
"sku": {
"name": "Standard_DS1_v2",
"tier": "Standard",
"capacity": 1000
},
"properties": {
"singlePlacementGroup": false,
"upgradePolicy": {
"mode": "Automatic"
}
Raadpleeg https://github.com/gbowerman/azure-myriad/blob/main/bigtest/bigbottle.json voor een compleet voorbeeld van een grote schaalset-sjabloon.
Een bestaande schaalset converteren zodat deze meerdere plaatsingsgroepen omvat
Als u een bestaande virtuele-machineschaalset wilt maken die kan worden geschaald naar meer dan 100 VM's, moet u de eigenschap singlePlacementGroup wijzigen in false in het schaalsetmodel. Met de Azure Resource Explorer kunt u controleren of deze eigenschap is gewijzigd. Zoek een bestaande schaalset, selecteer Edit (Bewerken) en wijzig de eigenschap singlePlacementGroup. Als u deze eigenschap niet ziet, bekijkt u de schaalset misschien met een oudere versie van de Microsoft.Compute-API.
Notitie
U kunt een schaalset zo wijzigen dat deze in plaats van slechts één plaatsingsgroep (de standaardinstelling) ondersteuning biedt voor meerdere plaatsingsgroepen. Andersom is echter niet mogelijk. Zorg daarom dat u begrijpt waarvoor de eigenschappen van grote schaalsets dienen, voordat u deze converteert.