Delen via


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 je geen Azure-abonnement hebt, maak dan een gratis account aan voordat je 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. Schermopname met een voorbeeld van Try It for Azure Cloud Shell.
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. knop om Azure Cloud Shell te starten.
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. Schermopname van de knop Cloud Shell in Azure Portal

Azure Cloud Shell gebruiken:

  1. Start Cloud Shell.

  2. Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.

  3. Plak de code of opdracht in de Cloud Shell-sessie door op Windows en Linux de toetsencombinatie Ctrl+Shift+V in te drukken, of op macOS de toetsencombinatie Cmd+Shift+V te gebruiken.

  4. 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 een resourcegroep met de naam myResourceGroup gemaakt in de regio EastUS .

New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "EastUS"

De naam van de resourcegroep wordt opgegeven wanneer u tijdens deze tutorial een schaalset maakt of wijzigt.

Een virtuele machineschaalset maken

Stel eerst een gebruikersnaam en wachtwoord voor de beheerder in voor de VM-exemplaren met Get-Credential:

$cred = Get-Credential

Maak nu met New-AzVmss een set met schaalbare virtuele machines. Er wordt ook een load balancer gemaakt om verkeer te distribueren naar de afzonderlijke VM-exemplaren. De load balancer bevat regels om verkeer te distribueren op TCP-poort 80, verkeer voor extern bureaublad toe te staan op TCP-poort 3389, en PowerShell-remoting toe te staan 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 schaalsetbronnen en VM-exemplaren te maken en te configureren. Er wordt ook een load balancer gemaakt om verkeer te distribueren naar de afzonderlijke VM-exemplaren.

De VM-exemplaren in een schaalset weergeven

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 voorbeeldoutput ziet u twee VM-exemplaren in de schaalset:

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 maken met een specifieke VM-instantiegrootte

Wanneer u aan het begin van de zelfstudie een schaalset hebt gemaakt, is 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 schaalset maakt of verwijdert het vereiste aantal VM-exemplaren en configureert vervolgens de load balancer om verkeer te distribueren.

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 uw 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 instanties te zien dat u nu in de schaalset hebt.

Get-AzVm -ResourceGroupName "myResourceGroup" 

In de volgende voorbeelduitvoer ziet u 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   

Het stoppen en vrijgeven van VM-exemplaren in een schaalset

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 gedealloceerd en worden er geen compute-kosten berekend. Als u wilt dat de virtuele machine in een ingerichte status blijft wanneer deze is gestopt, voegt u de -StayProvisioned parameter toe aan de voorgaande opdracht. Normale rekenkosten worden in rekening gebracht voor gestopte VM's die ingericht blijven.

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 opnieuw opstarten in een schaalset

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"

De hulpbronnen opschonen

Wanneer u een resourcegroep verwijdert, worden alle resources die zich bevinden, zoals de VM-exemplaren, het virtuele netwerk en schijven, ook verwijderd. 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 enkele eenvoudige schaalsets kunt maken en beheren 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 door naar de volgende tutorial om te leren hoe u kunt aansluiten op de instanties van uw schaalset.