Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Tijdens de levenscyclus van uw toepassingen moet u mogelijk uw virtuele-machineschaalset wijzigen of bijwerken. Deze updates kunnen omvatten hoe u de configuratie van de schaalset bijwerkt of de toepassingsconfiguratie wijzigt. In dit artikel wordt beschreven hoe u een bestaande schaalset wijzigt met behulp van PowerShell.
Het schaalsetmodel bijwerken
Een schaalset heeft een 'schaalsetmodel' waarmee de gewenste status van de schaalset als geheel wordt vastgelegd. Als u een query wilt uitvoeren op het model voor een schaalset, kunt u Get-AzVmss gebruiken.
Get-AzVmss -ResourceGroupName myResourceGroup -Name myScaleSet
De exacte presentatie van de uitvoer is afhankelijk van de opties die u aan de opdracht geeft. In het volgende voorbeeld ziet u verkorte voorbeelduitvoer van PowerShell:
Sku :
Name : Standard_DS1_v2
Tier : Standard
Capacity : 2
ProvisioningState : Succeeded
SinglePlacementGroup : False
Id : /subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet
Name : myScaleSet
Type : Microsoft.Compute/virtualMachineScaleSets
Location : eastus
VirtualMachineProfile :
ComputerNamePrefix : myScaleSe
ProvisionVMAgent : True
EnableAutomaticUpdates : True
PatchMode : AutomaticByOS
AssessmentMode : ImageDefault
EnableVMAgentPlatformUpdates : False
AllowExtensionOperations : True
StorageProfile :
Publisher : MicrosoftWindowsServer
Offer : WindowsServer
Sku : 2016-Datacenter
Version : latest
OsDisk :
Caching : None
CreateOption : FromImage
DiskSizeGB : 127
OsType : Windows
StorageAccountType : Premium_LRS
DeleteOption : Delete
NetworkProfile :
NetworkInterfaceConfigurations[0] :
Name : myScaleSet
Primary : True
DisableTcpStateTracking : False
Name : myScaleSet
Subnet :
Id : /subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myScaleSet/subnets/myScaleSet
PrivateIPAddressVersion : IPv4
LoadBalancerBackendAddressPools[0] :
/subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myScaleSet/backendAddressPools/myScaleSet
EnableIPForwarding : False
DeleteOption : Delete
NetworkApiVersion : 2020-11-01
OrchestrationMode : Flexible
TimeCreated : 12/2/2022 5:41:21 PM
U kunt ook Update-AzVmss gebruiken om verschillende eigenschappen van uw schaalset bij te werken. Bijvoorbeeld het bijwerken van uw licentietype.
$myVmss = Get-AzVmss -ResourceGroupName myResourceGroup -Name myScaleSet
Update-AzVmss -ResourceGroupName myResourceGroup -VirtualMachineScaleSet $myVMss -VMScaleSetName myScaleSet -LicenseType Windows_Server
Afzonderlijke VM-exemplaren in een schaalset bijwerken
Net als bij hoe een schaalset een modelweergave heeft, heeft elk VM-exemplaar in de schaalset een eigen modelweergave. Als u een query wilt uitvoeren op de modelweergave voor een bepaald VM-exemplaar in een schaalset, kunt u Get-AzVM gebruiken.
Get-AzVM -ResourceGroupName myResourceGroup -name MyScaleSet_Instance1
ResourceGroupName : myResourceGroup
Id : /subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myScaleSet_Instance1
Name : myScaleSet_Instance1
Type : Microsoft.Compute/virtualMachines
Location : eastus
Extensions : {MicrosoftMonitoringAgent}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
VirtualMachineScaleSet : {Id}
TimeCreated : 12/2/2022 5:41:23 PM
U kunt ook de -Status vlag toevoegen om de exemplaarweergave op te halen. Hier vindt u meer informatie over de virtuele machine.
Get-AzVM -ResourceGroupName myResourceGroup -name MyScaleSet_Instance1 -Status
ResourceGroupName : myResourceGroup
Name : MyScaleSet_Instance1
OsName : Windows Server 2016 Datacenter
OsVersion : 10.0.14393.5501
HyperVGeneration : V1
Disks[0] :
Name : myScaleSet_Instance1_disk1_cab60acccff7414b81d60572eeecb9e3
Statuses[0] :
Code : ProvisioningState/succeeded
Level : Info
DisplayStatus : Provisioning succeeded
Time : 12/2/2022 5:41:25 PM
Disks[1] :
Name : disk1
Statuses[0] :
Code : ProvisioningState/succeeded
Level : Info
DisplayStatus : Provisioning succeeded
Time : 12/2/2022 6:33:36 PM
Extensions[0] :
Name : MicrosoftMonitoringAgent
Type : Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent
TypeHandlerVersion : 1.0.18067.0
Statuses[0] :
Code : ProvisioningState/succeeded
Level : Info
DisplayStatus : Provisioning succeeded
Message : Latest configuration has been applied to the Microsoft Monitoring Agent.
VMAgent :
VmAgentVersion : 2.7.41491.1071
ExtensionHandlers[0] :
Type : Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent
TypeHandlerVersion : 1.0.18067.0
Status :
Code : ProvisioningState/succeeded
Level : Info
DisplayStatus : Ready
Message : This virtual machine has successfully connected to Azure Log Analytics.
Statuses[0] :
Code : ProvisioningState/succeeded
Level : Info
DisplayStatus : Ready
Message : GuestAgent is running and processing the extensions.
Time : 12/2/2022 6:34:55 PM
Statuses[0] :
Code : ProvisioningState/succeeded
Level : Info
DisplayStatus : Provisioning succeeded
Time : 12/2/2022 6:33:42 PM
Statuses[1] :
Code : PowerState/running
Level : Info
DisplayStatus : VM running
Deze eigenschappen beschrijven de configuratie van een VM-exemplaar in een schaalset, niet de configuratie van de schaalset als geheel.
U kunt updates uitvoeren op afzonderlijke VM-exemplaren in een schaalset, net zoals bij een zelfstandige VM. Als u bijvoorbeeld een nieuwe gegevensschijf koppelt aan exemplaar 1:
$VirtualMachine = Get-AzVM -ResourceGroupName "myResourceGroup" -Name "myScaleSet_Instance1".
Add-AzVMDataDisk -VM $VirtualMachine -Name "disk1" -LUN 0 -Caching ReadOnly -DiskSizeinGB 128 -CreateOption Empty
Update-AzVM -ResourceGroupName "myResourceGroup" -VM $VirtualMachine
Een exemplaar aan uw schaalgroep toevoegen
Het kan voorkomen dat u een nieuwe VIRTUELE machine aan uw schaalset wilt toevoegen, maar andere configuratieopties wilt gebruiken dan in het schaalsetmodel wordt vermeld. Vm's kunnen tijdens het maken aan een schaalset worden toegevoegd met behulp van de opdracht Get-AzVmss en de naam van de schaalset opgeven waaraan u het exemplaar wilt toevoegen.
New-AzVM -Name myNewInstance -ResourceGroupName myResourceGroup -image Ubuntu2204 -VmssId /subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myScaleSet
ResourceGroupName : myResourceGroup
Id : /subscriptions/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myNewInstance
Name : myNewInstance
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, LinuxConfiguration, Secrets, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : mynewinstance-21bc01.eastus.cloudapp.azure.com
VirtualMachineScaleSet : {Id}
TimeCreated : 12/2/2022 6:40:20 PM
Door Get-AzVM opnieuw uit te voeren, kunnen we zien dat het nieuwe exemplaar is gemaakt en toegevoegd aan de bestaande schaalset.
Get-AzVm -ResourceGroupName myResourceGroup
ResourceGroupName Name Location VmSize OsType NIC ProvisioningState
----------------- ---- -------- ------ ------ --- -----------------
myResourceGroup myNewInstance eastus Standard_D2s_v3 Linux myNewInstance Succeeded
myResourceGroup myScaleSet_Instance1 eastus Standard_DS1_v2 Windows myScaleSet-a9f1d54c Succeeded
myResourceGroup myScaleSet_Instance2 eastus Standard_DS1_v2 Windows myScaleSet-4dc708e5 Succeeded
VM’s bijwerken met het nieuwste schaalsetmodel
Opmerking
Upgrade-modi worden momenteel niet ondersteund voor Virtual Machine Scale Sets die de modus Flexibele indeling gebruiken.
Schaalsets hebben een upgradebeleid waarmee wordt bepaald hoe VM's up-to-date worden gebracht met het meest recente schaalsetmodel. De drie modi voor het upgradebeleid zijn:
- Automatisch : in deze modus biedt de schaalset geen garanties over de volgorde van vm's die worden neergezet. De schaalset kan alle VM's tegelijkertijd uitschakelen.
- Rolling - In deze modus rolt de schaalset de update in batches uit, met een optionele pauzetijd tussen de batches.
- Handmatig: wanneer u het schaalsetmodel bijwerkt, gebeurt er in deze modus niets met bestaande VM's totdat een handmatige update wordt geactiveerd.
Als uw schaalset is ingesteld op handmatige upgrades, kunt u een handmatige upgrade activeren met Update-AzVmss.
$myVmss = Get-AzVmss -ResourceGroupName myResourceGroup -Name myScaleSet
Update-AzVmss -ResourceGroupName myResourceGroup -VirtualMachineScaleSet $myVMss -VMScaleSetName myScaleSet
Opmerking
Service Fabric clusters kunnen alleen de automatische modus gebruiken, maar de update wordt anders verwerkt. Zie Service Fabric-toepassingsupgrades voor meer informatie.
Een schaalset opnieuw instellen
Virtuele-machineschaalsets genereren een unieke naam voor elke virtuele machine in de schaalset. De naamconventie verschilt per orkestratiemodus:
- Flexibele orkestratiemodus:
{scale-set-name}_{8-char-guid} - Uniforme orkestratiemodus:
{scale-set-name}_{instance-id}
Als u een specifieke instantie opnieuw van een installatiekopie moet voorzien, gebruikt u Set-AzVmss en geeft u de instantienaam op.
Set-AzVmssVM -ResourceGroupName myResourceGroup -VMScaleSetName myScaleSet -InstanceId myScaleSet_Instance1 -Reimage
Als u alle instanties in een schaalset opnieuw wilt image’en, geeft u de naam van de schaalset op en laat u eventuele instantie-id’s weg.
Set-AzVmssVM -Reimage -ResourceGroupName myResourceGroup -VMScaleSetName myScaleSet
De installatiekopieën van het besturingssysteem voor uw schaalset bijwerken
Mogelijk hebt u een schaalset waarop een oude versie van Ubuntu LTS 18.04 wordt uitgevoerd. U wilt bijwerken naar een nieuwere versie van Ubuntu LTS 16.04, zoals versie 18.04.202210180. De eigenschap van de installatiekopieënverwijzingsversie maakt geen deel uit van een lijst, dus u kunt deze eigenschappen rechtstreeks wijzigen met Update-AzVmss.
$myVmss = Get-AzVmss -ResourceGroupName myResourceGroup -Name myScaleSet
Update-AzVmss -ResourceGroupName myResourceGroup -VirtualMachineScaleSet $myVMss -VMScaleSetName myScaleSet -ImageReferenceVersion virtualMachineProfile.storageProfile.imageReference.version=18.04.202210180
U wilt mogelijk ook de installatiekopie wijzigen die door uw schaalset wordt gebruikt. U wilt bijvoorbeeld mogelijk een aangepaste installatiekopie bijwerken of wijzigen die door uw schaalset wordt gebruikt. U kunt de afbeelding wijzigen die door de schaalset wordt gebruikt door de eigenschap afbeeldingsreferentie-id bij te werken. De eigenschap afbeeldingsverwijzings-id maakt geen deel uit van een lijst, dus u kunt deze eigenschap rechtstreeks wijzigen met Update-AzVmss.
$myVmss = Get-AzVmss -ResourceGroupName myResourceGroup -Name myScaleSet
Update-AzVmss -ResourceGroupName myResourceGroup -VirtualMachineScaleSet $myVMss -VMScaleSetName myScaleSet -ImageReferenceVersion virtualMachineProfile.storageProfile.imageReference.id=/subscriptions/{subscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myNewImage
Als u platforminstallatiekopieën van Azure gebruikt, kunt u de installatiekopie bijwerken door de imageReference te wijzigen (zie de REST API-documentatie voor meer informatie).
Opmerking
Bij platformafbeeldingen is het gebruikelijk om "latest" op te geven voor de referentieversie van de afbeelding. Wanneer u vm's maakt, uitschaalt en opnieuw maakt, worden vm's gemaakt met de nieuwste beschikbare versie. Het betekent echter niet dat de installatiekopieën van het besturingssysteem na verloop van tijd automatisch worden bijgewerkt wanneer nieuwe installatiekopieën worden uitgebracht. Een afzonderlijke functie biedt automatische upgrades van het besturingssysteem. Zie de documentatie over automatische upgrades van het besturingssysteem voor meer informatie.
Als u aangepaste images gebruikt, kunt u de image bijwerken door de ID van imageReference bij te werken (zie de REST API-documentatie voor meer informatie).
Volgende stappen
In deze zelfstudie hebt u geleerd hoe u verschillende aspecten van uw schaalset en afzonderlijke exemplaren kunt wijzigen met behulp van PowerShell.
- Het schaalsetmodel bijwerken
- Een afzonderlijk VM-exemplaar in een schaalset bijwerken
- Een exemplaar toevoegen aan uw schaalset
- VM’s bijwerken met het nieuwste schaalsetmodel
- Een schaalset opnieuw instellen
- De installatiekopieën van het besturingssysteem voor uw schaalset bijwerken