Zelfstudie: Een virtuele-machineschaalset maken en beheren met Azure PowerShell
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, maakt u een gratis account voordat u begint.
Azure Cloud Shell
Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde Cloud Shell-opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.
Om Azure Cloud Shell op te starten:
Optie | Voorbeeld/koppeling |
---|---|
Selecteer Uitproberen in de rechterbovenhoek van een code- of opdrachtblok. Als u Try It selecteert, wordt de code of opdracht niet automatisch gekopieerd naar Cloud Shell. | |
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. | |
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. |
Azure Cloud Shell gebruiken:
Start Cloud Shell.
Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.
Plak de code of opdracht in de Cloud Shell-sessie door Ctrl+Shift+V in Windows en Linux te selecteren of door Cmd+Shift+V te selecteren in macOS.
Selecteer Enter om de code of opdracht uit te voeren.
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. Maak een resourcegroep met de opdracht New-AzResourceGroup. In dit voorbeeld wordt er een resourcegroep met de naam myResourceGroup gemaakt in de regio EastUS.
New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "EastUS"
De naam van de resourcegroep moet worden opgegeven als u ergens in deze zelfstudie een schaalset maakt of wijzigt.
Een virtuele-machineschaalset maken
Stel eerst een beheerdersnaam en -wachtwoord in voor de VM-exemplaren met behulp van Get-Credential:
$cred = Get-Credential
Maak nu een virtuele-machineschaalset met New-AzVmss. Om het verkeer te distribueren naar de verschillende VM-exemplaren, wordt er ook een load balancer gemaakt. De load balancer bevat regels voor het distribueren van verkeer op TCP-poort 80 en het toestaan van extern bureaublad-verkeer op TCP-poort 3389 en externe communicatie van PowerShell op TCP-poort 5985:
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
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-OrchestrationMode "Flexible" `
-Location "EastUS" `
-Credential $cred
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.
De VM-exemplaren in een schaalset bekijken
Als u een lijst met VM-exemplaren in een schaalset wilt weergeven, gebruikt u Get-AzVM als volgt:
Get-AzVM -ResourceGroupName "myResourceGroup"
In de volgende voorbeelduitvoer ziet u dat de schaalset twee VM-exemplaren bevat:
ResourceGroupName Name Location VmSize OsType ProvisioningState
----------------- ---- -------- ------ ------ -----------------
myResourceGroup myScaleSet_instance1 eastus Standard_DS1_v2 Windows Succeeded
myResourceGroup myScaleSet_instance2 eastus Standard_DS1_v2 Windows Succeeded
Als u aanvullende informatie over een specifiek VM-exemplaar wilt weergeven, gebruikt u Get-AzVM en geeft u de naam van de VIRTUELE machine op.
Get-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
ResourceGroupName : myresourcegroup
Id : /subscriptions/resourceGroups/myresourcegroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_instance1
VmId : d27b5fde-d469-4087-b08f-87d0bd8df786
Name : myScaleSet_instance1
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
VirtualMachineScaleSet : {Id}
TimeCreated : 11/16/2022 11:02:02 PM
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 VM-instantiegrootte opgeven met de -VMSize
parameter om een VM-exemplaargrootte van Standard_F1 op te geven.
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-OrchestrationMode "Flexible" `
-VMSize "Standard_F1" `
-Location "EastUS" `
-Credential $cred
De capaciteit van een schaalset wijzigen
Bij het maken van een schaalset zijn standaard twee VM-exemplaren geïmplementeerd. Als u het aantal VM-exemplaren in de 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.
Maak eerst een schaalsetobject met Get-AzVmss en geef vervolgens een nieuwe waarde op voor sku.capacity
. Gebruik Update-AzVmss om de capaciteitswijziging toe te passen. In het volgende voorbeeld wordt het aantal VM-exemplaren in de schaalset ingesteld op 3:
# Get current scale set
$vmss = Get-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
# Set and update the capacity of your scale set
$vmss.sku.capacity = 3
Update-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet" -VirtualMachineScaleSet $vmss
Het duurt enkele minuten om de capaciteit van uw schaalset bij te werken. Gebruik Get-Az om het aantal exemplaren te zien dat u nu in de schaalset hebt:
Get-AzVm -ResourceGroupName "myResourceGroup"
De volgende voorbeelduitvoer laat zien dat de capaciteit van de schaalset nu 3 is:
ResourceGroupName Name Location VmSize OsType ProvisioningState
----------------- ---- -------- ------ ------ -----------------
myResourceGroup myScaleSet_instance1 eastus Standard_DS1_v2 Windows Succeeded
myResourceGroup myScaleSet_instance2 eastus Standard_DS1_v2 Windows Succeeded
myResourceGroup myScaleSet_instance3 eastus Standard_DS1_v2 Windows Succeeded
VM-exemplaren in een schaalset stoppen en hun toewijzing ongedaan maken
Als u afzonderlijke VM-exemplaren wilt stoppen, gebruikt u Stop-AzVm en geeft u de exemplaarnamen op.
Stop-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
Standaard worden gestopte VM's ongedaan gemaakt en worden er geen rekenkosten in rekening gebracht. Als u wilt dat de VM de ingerichte status blijft houden nadat deze is gestopt, voeg u de parameter -StayProvisioned
toe aan de voorgaande opdracht. Voor gestopte VM's die ingericht blijven, worden periodieke compute-kosten in rekening gebracht.
VM-exemplaren in een schaalset starten
Als u alle VM-exemplaren in een schaalset wilt starten, gebruikt u Start-AzVmss.
Start-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
Als u een afzonderlijk VM-exemplaar in een schaalset wilt starten, gebruikt u Start-AzVM en geeft u de naam van het exemplaar op.
Start-AzVM -ResourceGroupName "myResourceGroup" -name "myScaleSet_instance1"
VM-exemplaren in een schaalset opnieuw opstarten
Als u alle VM's in een schaalset opnieuw wilt opstarten, gebruikt u Restart-AzVmss.
Restart-AzVmss -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet"
Als u een afzonderlijk exemplaar opnieuw wilt starten, gebruikt u [Restart-AzVM] en geeft u de naam van het exemplaar op.
Restart-AzVM -ResourceGroupName "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 -Force
parameter bevestigt dat u de resources wilt verwijderen zonder een extra prompt om dit te doen. De parameter -AsJob
retourneert het besturingselement naar de prompt zonder te wachten totdat de bewerking is voltooid.
Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob
Volgende stappen
In deze zelfstudie hebt u geleerd hoe u een aantal basistaken voor het maken en beheren van schaalsets kunt uitvoeren met Azure PowerShell:
- 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.