Oktatóanyag: Virtuálisgép-méretezési csoport módosítása a PowerShell használatával
Előfordulhat, hogy az alkalmazások teljes életciklusa során módosítania vagy frissítenie kell a virtuálisgép-méretezési csoportot. Ezek a frissítések magukban foglalhatják a méretezési csoport konfigurációjának frissítését vagy az alkalmazás konfigurációjának módosítását. Ez a cikk azt ismerteti, hogyan módosíthatja a meglévő méretezési csoportokat a PowerShell használatával.
A méretezési csoport modelljének frissítése
A méretezési csoportok olyan "méretezési csoportmodellel" rendelkeznek, amely a méretezési csoport kívánt állapotát rögzíti egészként. A méretezési csoport modelljének lekérdezéséhez használhatja a Get-AzVmss parancsot.
Get-AzVmss -ResourceGroupName myResourceGroup -Name myScaleSet
A kimenet pontos megjelenítése a parancshoz megadott beállításoktól függ. Az alábbi példa a PowerShell sűrített mintakimenetét mutatja be:
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
Az Update-AzVmss használatával is frissítheti a méretezési csoport különböző tulajdonságait. Például frissítse a licenctípust.
$myVmss = Get-AzVmss -ResourceGroupName myResourceGroup -Name myScaleSet
Update-AzVmss -ResourceGroupName myResourceGroup -VirtualMachineScaleSet $myVMss -VMScaleSetName myScaleSet -LicenseType Windows_Server
Egyes virtuálisgép-példányok frissítése méretezési csoportban
A méretezési csoport modellnézetéhez hasonlóan a méretezési csoport minden virtuálisgép-példánya saját modellnézettel rendelkezik. Ha egy méretezési csoportban egy adott virtuálisgép-példány modellnézetét szeretné lekérdezni, használhatja a Get-AzVM-et.
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
A jelölőt is hozzáadhatja a -Status
példánynézet beszerzéséhez, amely további részleteket tartalmaz a virtuális gépről.
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
Ezek a tulajdonságok a méretezési csoportban lévő virtuálisgép-példány konfigurációját írják le, nem pedig a méretezési csoport egészének konfigurációját.
Az egyes virtuálisgép-példányok frissítését ugyanúgy végezheti el egy méretezési csoportban, mint egy önálló virtuális gép. Például egy új adatlemez csatolása az 1. példányhoz:
$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
Példány hozzáadása a méretezési csoporthoz
Előfordulhat, hogy új virtuális gépet szeretne hozzáadni a méretezési csoporthoz, de más konfigurációs beállításokat szeretne, mint a méretezési csoport modelljében. A virtuális gépek a létrehozás során a Get-AzVmss paranccsal és annak a méretezési csoportnak a nevének megadásával adhatók hozzá a méretezési csoporthoz, amelyhez hozzá szeretné adni a példányt.
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
A Get-AzVM ismételt futtatásával láthatjuk, hogy az új példány létrejött, és hozzá lett adva a meglévő méretezési csoporthoz.
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
Virtuális gépek naprakészen helyezése a legújabb méretezési csoportmodellel
Feljegyzés
A frissítési módok jelenleg nem támogatottak a rugalmas vezénylési módot használó virtuálisgép-méretezési csoportokban.
A méretezési csoportok "frissítési szabályzattal" rendelkeznek, amely meghatározza, hogy a virtuális gépek hogyan legyenek naprakészek a legújabb méretezési csoportmodellel. A frissítési szabályzat három módja:
- Automatikus – Ebben a módban a méretezési csoport nem garantálja a virtuális gépek leállásának sorrendjét. A méretezési csoport egyszerre minden virtuális gépet leállíthat.
- Működés – Ebben a módban a méretezési csoport kötegekben hajtja végre a frissítést, és a kötegek között nem kötelező szüneteltetni az időt.
- Manuális – Ebben a módban a méretezési csoport modelljének frissítésekor semmi sem történik a meglévő virtuális gépekkel, amíg a manuális frissítés nem aktiválódik.
Ha a méretezési csoport manuális frissítésre van beállítva, manuálisan frissíthet az Update-AzVmss használatával.
$myVmss = Get-AzVmss -ResourceGroupName myResourceGroup -Name myScaleSet
Update-AzVmss -ResourceGroupName myResourceGroup -VirtualMachineScaleSet $myVMss -VMScaleSetName myScaleSet
Feljegyzés
A Service Fabric-fürtök csak automatikus módot használhatnak, a frissítést azonban másképp kezelik. További információ: Service Fabric-alkalmazásfrissítések.
Méretezési csoport újraimázása
A virtuálisgép-méretezési csoportok egyedi nevet fognak létrehozni a méretezési csoportban lévő összes virtuális géphez. Az elnevezési konvenció vezénylési mód szerint különbözik:
- Rugalmas vezénylési mód:
{scale-set-name}_{8-char-guid}
- Egységes vezénylési mód:
{scale-set-name}_{instance-id}
Azokban az esetekben, amikor újra kell létrehoznia egy adott példányt, használja a Set-AzVmss parancsot , és adja meg a példány nevét.
Set-AzVmssVM -ResourceGroupName myResourceGroup -VMScaleSetName myScaleSet -InstanceId myScaleSet_Instance1 -Reimage
A méretezési csoport összes példányának újraimázásához egyszerűen adja meg a méretezési csoport nevét, és hagyja ki a példányazonosítókat.
Set-AzVmssVM -Reimage -ResourceGroupName myResourceGroup -VMScaleSetName myScaleSet
A méretezési csoport operációsrendszer-lemezképének frissítése
Előfordulhat, hogy olyan méretezési csoport van, amely az Ubuntu LTS 18.04 régi verzióját futtatja. Frissíteni szeretne az Ubuntu LTS 16.04 újabb verziójára, például a 18.04.202210180-as verzióra. A képhivatkozás verziótulajdonsága nem része a listáknak, így közvetlenül módosíthatja ezeket a tulajdonságokat az Update-AzVmss használatával.
$myVmss = Get-AzVmss -ResourceGroupName myResourceGroup -Name myScaleSet
Update-AzVmss -ResourceGroupName myResourceGroup -VirtualMachineScaleSet $myVMss -VMScaleSetName myScaleSet -ImageReferenceVersion virtualMachineProfile.storageProfile.imageReference.version=18.04.202210180
Másik lehetőségként módosíthatja a méretezési csoport által használt képet. Előfordulhat például, hogy frissíteni vagy módosítani szeretné a méretezési csoport által használt egyéni rendszerképet. A méretezési csoport által használt lemezképet a rendszerkép referencia-azonosító tulajdonságának frissítésével módosíthatja. A képhivatkozás azonosító tulajdonsága nem része a listanak, így közvetlenül módosíthatja ezt a tulajdonságot az Update-AzVmss használatával.
$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
Ha Azure-platformrendszerképeket használ, az imageReference módosításával frissítheti a rendszerképet (további információkért tekintse meg a REST API dokumentációját).
Feljegyzés
A platformrendszerképek esetében gyakori, hogy a rendszerkép referenciaverziójának "legújabb" elemét adja meg. A virtuális gépek létrehozása, vertikális felskálázása és újraimázásakor a rendszer a legújabb elérhető verzióval hozza létre a virtuális gépeket. Ez azonban nem jelenti azt, hogy az operációsrendszer-rendszerkép automatikusan frissül az új rendszerképverziók megjelenésekor. Egy külön funkció automatikus operációsrendszer-frissítéseket biztosít. További információkért tekintse meg az automatikus operációsrendszer-frissítések dokumentációját.
Egyéni rendszerképek használata esetén az imageReference azonosítójának frissítésével frissítheti a képet (további információ: REST API-dokumentáció).
Következő lépések
Ebben az oktatóanyagban megtanulta, hogyan módosíthatja a méretezési csoport és az egyes példányok különböző aspektusait a PowerShell használatával.
- A méretezési csoport modelljének frissítése
- Egyéni virtuálisgép-példány frissítése méretezési csoportban
- Példány hozzáadása a méretezési csoporthoz
- Virtuális gépek naprakészen helyezése a legújabb méretezési csoportmodellel
- Méretezési csoport újraimázása
- A méretezési csoport operációsrendszer-lemezképének frissítése