Zelfstudie: Een virtuele-machineschaalset maken en beheren met de Azure CLI
Met een virtuele-machineschaalset kunt u een set virtuele machines implementeren en beheren. Gedurende de levenscyclus van een virtuele-machineschaalset moet u mogelijk een of meer beheertaken uitvoeren. In deze zelfstudie leert u het volgende:
- Een brongroep maken
- Een virtuele-machineschaalset maken
- Uit- en inschalen
- VM-exemplaren stoppen, starten en opnieuw starten
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Vereisten
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
Voor dit artikel is versie 2.0.29 of hoger van Azure CLI vereist. Als u Azure Cloud Shell gebruikt, is de nieuwste versie al geïnstalleerd.
Een brongroep maken
Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd. Er moet een resourcegroep worden gemaakt voordat een virtuele-machineschaalset wordt gemaakt. Een resourcegroep maken met de opdracht az group create. In dit voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt in de regio eastus.
az group create --name myResourceGroup --location eastus
De naam van de resourcegroep moet worden opgegeven als u ergens in deze zelfstudie een schaalset maakt of wijzigt.
Een schaalset maken
Belangrijk
Vanaf november 2023 worden VM-schaalsets die zijn gemaakt met PowerShell en Azure CLI standaard ingesteld op de flexibele indelingsmodus als er geen indelingsmodus is opgegeven. Voor meer informatie over deze wijziging en welke acties u moet ondernemen, gaat u naar Belangrijke wijziging voor VMSS PowerShell/CLI-klanten - Microsoft Community Hub
U maakt een virtuele-machineschaalset met de opdracht az vmss create . In het volgende voorbeeld wordt een schaalset met de naam myScaleSet gemaakt en worden SSH-sleutels gegenereerd als deze niet bestaan:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode flexible \
--image <SKU image> \
--admin-username azureuser \
--generate-ssh-keys
Het duurt enkele minuten om alle schaalsetresources en VM-exemplaren te maken en te configureren. Om het verkeer te distribueren naar de verschillende VM-exemplaren, wordt er ook een load balancer gemaakt.
Informatie weergeven over de VM-exemplaren in uw schaalset
Als u een lijst met VM-exemplaren in een schaalset wilt weergeven, gebruikt u az vm list als volgt:
az vm list --resource-group myResourceGroup --output table
In de volgende voorbeelduitvoer ziet u dat de schaalset twee VM-exemplaren bevat:
Name ResourceGroup Location Zones
------------------- --------------- ---------- -------
myScaleSet_instance1 myResourceGroup eastus
myScaleSet_instance2 myResourceGroup eastus
Als u meer informatie over een specifiek VM-exemplaar wilt zien, gebruikt u az vm show en geeft u de naam van de virtuele machine op.
az vm show --resource-group myResourceGroup --name myScaleSet_instance1
{
"hardwareProfile": {
"vmSize": "Standard_DS1_v2",
},
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1",
"location": "eastus",
"name": "myScaleSet_instance1",
"networkProfile": {
"networkInterfaces": [
{
"deleteOption": "Delete",
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/mysca2215Nic-0396c71c",
"primary": true,
"resourceGroup": "myResourceGroup"
}
]
},
"osProfile": {
"adminUsername": "azureuser",
"allowExtensionOperations": true,
"computerName": "myScaleSN30BP1",
"linuxConfiguration": {
"disablePasswordAuthentication": true,
"enableVmAgentPlatformUpdates": false,
"patchSettings": {
"assessmentMode": "ImageDefault",
"patchMode": "ImageDefault"
},
"provisionVmAgent": true,
"ssh": {
"publicKeys": [
{
"keyData": "ssh-rsa",
"path": "/home/azureuser/.ssh/authorized_keys"
}
]
}
},
"requireGuestProvisionSignal": true,
"secrets": [],
},
"provisioningState": "Succeeded",
"resourceGroup": "myResourceGroup",
"storageProfile": {
"dataDisks": [],
"imageReference": {
"exactVersion": "XXXXX",
"offer": "myOffer",
"publisher": "myPublisher",
"sku": "mySKU",
"version": "latest"
},
"osDisk": {
"caching": "ReadWrite",
"createOption": "FromImage",
"deleteOption": "Delete",
"diskSizeGb": 30,
"managedDisk": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myScaleSet_instance1_disk1",
"resourceGroup": "myResourceGroup",
"storageAccountType": "Premium_LRS"
},
"name": "myScaleSet_instance1_disk1",
"osType": "Linux",
}
},
"tags": {},
"timeCreated": "2022-11-16T20:32:15.024581+00:00",
"type": "Microsoft.Compute/virtualMachines",
"virtualMachineScaleSet": {
"id": "/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet",
"resourceGroup": "myResourceGroup"
},
}
Een schaalset met een specifieke VM-exemplaargrootte maken
Toen u aan het begin van de zelfstudie een schaalset hebt gemaakt, werd er een standaard-VM-SKU van Standard_D1_v2 opgegeven voor de VM-exemplaren. U kunt een andere grootte voor het VM-exemplaar opgeven op basis van de uitvoer van az vm list-sizes. In het volgende voorbeeld wordt een schaalset gemaakt met de parameter --vm-sku
om een VM-exemplaargrootte op te geven van Standard_F1. Aangezien het enkele minuten duurt om alle schaalsetresources en VM-exemplaren te maken en te configureren, hoeft u de volgende schaalset niet te implementeren:
az vmss create \
--resource-group myResourceGroup \
--name myScaleSet \
--orchestration-mode flexible \
--image <SKU image> \
--vm-sku Standard_F1 \
--admin-user azureuser \
--generate-ssh-keys
De capaciteit van een schaalset wijzigen
Toen u aan het begin van de zelfstudie een schaalset hebt gemaakt, zijn er standaard twee VM-exemplaren geïmplementeerd. U kunt de parameter --instance-count
opgeven met az vmss create om het aantal exemplaren te wijzigen dat wordt gemaakt met een schaalset. Als u het aantal VM-exemplaren in een bestaande schaalset wilt vergroten of verkleinen, kunt u de capaciteit handmatig wijzigen. De grootte van de schaalset wordt dan aangepast, waarna de load balancer wordt geconfigureerd voor het verdelen van het verkeer.
Als u het aantal VM-exemplaren in de schaalset handmatig wilt vergroten of verkleinen, gebruikt u az vmss scale. In het volgende voorbeeld wordt het aantal VM-exemplaren in de schaalset ingesteld op 3:
az vmss scale \
--resource-group myResourceGroup \
--name myScaleSet \
--new-capacity 3
Het duurt enkele minuten om de capaciteit van uw schaalset bij te werken. Als u het aantal exemplaren wilt zien dat u nu in de schaalset hebt, gebruikt u az vm list en query voor de bijbehorende resourcegroep.
az vm list --resource-group myResourceGroup --output table
Name ResourceGroup Location Zones
------------------- --------------- ---------- -------
myScaleSet_instance1 myResourceGroup eastus
myScaleSet_instance2 myResourceGroup eastus
myScaleSet_instance3 myResourceGroup eastus
VM-exemplaren in een schaalset stoppen en hun toewijzing ongedaan maken
Als u alle VM-exemplaren in een schaalset wilt stoppen, gebruikt u az vmss stop.
az vmss stop \
--resource-group myResourceGroup \
--name myScaleSet
Als u afzonderlijke VM-exemplaren in een schaalset wilt stoppen, gebruikt u az vm stop en geeft u de naam van het exemplaar op.
az vm stop \
--resource-group myResourceGroup \
--name myScaleSet_instance1
De toewijzing van gestopte VM-exemplaren wordt niet ongedaan gemaakt, wat betekent dat er nog steeds compute-kosten in rekening worden gebracht voor deze exemplaren. Als u in plaats daarvan wilt dat de toewijzing van de VM-exemplaren ongedaan wordt gemaakt en alleen opslagkosten in rekening worden gebracht, gebruikt u az vm deallocate en geeft u de naam van de instantie op die u de toewijzing ongedaan wilt maken.
az vm deallocate \
--resource-group myResourceGroup \
--name myScaleSet_instance1
VM-exemplaren in een schaalset starten
Als u alle VM-exemplaren in een schaalset wilt starten, gebruikt u az vmss start.
az vmss start \
--resource-group myResourceGroup \
--name myScaleSet
Als u afzonderlijke VM-exemplaren in een schaalset wilt starten, gebruikt u az vm start en geeft u de naam van het exemplaar op.
az vm start \
--resource-group myResourceGroup \
--name myScaleSet_instance1
VM-exemplaren in een schaalset opnieuw opstarten
Als u alle VM-exemplaren in een schaalset opnieuw wilt opstarten, gebruikt u az vmss restart.
az vmss restart \
--resource-group myResourceGroup \
--name myScaleSet
Als u afzonderlijke VM-exemplaren in een schaalset opnieuw wilt starten, gebruikt u az vm restart en geeft u de naam van het exemplaar op.
az vm restart \
--resource-group myResourceGroup \
--name myScaleSet_instance1
Resources opschonen
Als u een resourcegroep verwijdert, verwijdert u ook alle resources binnen deze groep, zoals de VM-exemplaren, het virtuele netwerk en schijven. De parameter --no-wait
retourneert het besturingselement naar de prompt zonder te wachten totdat de bewerking is voltooid. De --yes
parameter bevestigt dat u de resources wilt verwijderen zonder een extra prompt om dit te doen.
az group delete --name myResourceGroup --no-wait --yes
Volgende stappen
In deze zelfstudie hebt u geleerd hoe u een aantal basistaken voor het maken en beheren van schaalsets kunt uitvoeren met Azure CLI:
- Een brongroep maken
- Een schaalset maken
- Specifieke VM-grootten weergeven en gebruiken
- Een schaalset handmatig schalen
- Algemene beheertaken voor schaalsets uitvoeren, zoals stoppen, starten en opnieuw starten van uw schaalset
Ga naar de volgende zelfstudie om te leren hoe u verbinding maakt met uw schaalsetexemplaren.