Das Cmdlet New-AzVmss erstellt einen VM Scale Set (VMSS) in Azure.
Verwenden Sie den einfachen Parametersatz (SimpleParameterSet), um schnell eine vordefinierte VMSS und zugeordnete Ressourcen zu erstellen.
Verwenden Sie den Standardparametersatz (DefaultParameter) für komplexere Szenarien, wenn Sie jede Komponente der VMSS und jeder zugeordneten Ressource vor der Erstellung genau konfigurieren müssen.
Verwenden Sie für den Standardparametersatz zuerst das Cmdlet New-AzVmssConfig , um ein VM-Skalierungssatzobjekt zu erstellen.
Verwenden Sie dann die folgenden Cmdlets, um verschiedene Eigenschaften des Skalierungssatzobjekts des virtuellen Computers festzulegen:
Get-AzComputeResourceSku kann auch verwendet werden, um verfügbare Größen für virtuelle Computer für Ihr Abonnement und Ihre Region zu ermitteln.
Weitere Cmdlets für skalierungsgruppe virtueller Computer finden Sie hier.
VMSS creation will default to OrchestrationMode:Flexible. Der Standardparametersatz legt standardmäßig Eigenschaften in VirtualMachineScaleSetVMProfile fest. Verwenden Sie zum Erstellen einer VMSS mit einer leeren VirtualMachineScaleSetVMProfile-Eigenschaft zunächst einen einfachen Parametersatz, indem Sie zuerst ein VirtualMachineScaleSet-Objekt mit einer leeren VirtualMachineScaleSetVMProfile-Eigenschaft mithilfe von New-AzVmssConfig erstellen.
Weitere Informationen finden Sie unter [Schnellstart: Erstellen eines Skalierungssatzes für virtuelle Computer mit Azure PowerShell](https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/quick-create-powershell) zum Lernprogramm.
Beispiele
Beispiel 1: Erstellen einer VMSS mit dem SimpleParameterSet
$vmssName = 'VMSSNAME'
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword)
$securityTypeStnd = "Standard"
#Create a VMSS using the default settings
New-AzVmss -Credential $vmCred -VMScaleSetName $vmssName -SecurityType $securityTypeStnd
Der obige Befehl erstellt Folgendes mit dem Namen $vmssName :
Eine Ressourcengruppe
Ein virtuelles Netzwerk
Ein Lastenausgleich
Eine öffentliche IP
vmSS mit 2 Instanzen
Das Standardimage, das für die virtuellen Computer im VMSS ausgewählt wird, ist 2016-Datacenter Windows Server und die SKU ist Standard_DS1_v2
Beispiel 2: Erstellen einer VMSS mithilfe des DefaultParameterSet
Im obigen komplexen Beispiel wird ein VMSS erstellt. Im Folgenden wird erläutert, was passiert:
Der erste Befehl erstellt eine Ressourcengruppe mit dem angegebenen Namen und Speicherort.
Der zweite Befehl verwendet das Cmdlet New-AzStorageAccount zum Erstellen eines Speicherkontos.
Der dritte Befehl verwendet dann das Cmdlet "Get-AzStorageAccount ", um das speicherkonto abzurufen, das im zweiten Befehl erstellt wurde, und speichert das Ergebnis in der $STOAccount Variablen.
Der fünfte Befehl verwendet das Cmdlet New-AzVirtualNetworkSubnetConfig , um ein Subnetz zu erstellen und das Ergebnis in der Variablen namens $SubNet zu speichern.
Der sechste Befehl verwendet das Cmdlet New-AzVirtualNetwork zum Erstellen eines virtuellen Netzwerks und speichert das Ergebnis in der Variablen mit dem Namen $VNet.
Der siebte Befehl verwendet get-AzVirtualNetwork , um Informationen über das virtuelle Netzwerk abzurufen, das im sechsten Befehl erstellt wurde, und speichert die Informationen in der Variablen namens $VNet.
Der achte und neunte Befehl verwendet die New-AzPublicIpAddress und Get- AzureRmPublicIpAddress , um Informationen von dieser öffentlichen IP-Adresse zu erstellen und abzurufen.
Die Befehle speichern die Informationen in der Variablen namens $PubIP.
Der zehnte Befehl verwendet das Cmdlet New- AzureRmLoadBalancerFrontendIpConfig zum Erstellen eines Frontend-Lastenausgleichs und speichert das Ergebnis in der Variablen mit dem Namen $Frontend.
Der elfte Befehl verwendet die New-AzLoadBalancerBackendAddressPoolConfig zum Erstellen einer Back-End-Adresspoolkonfiguration und speichert das Ergebnis in der Variablen namens $BackendAddressPool.
Der zwölfte Befehl verwendet die New-AzLoadBalancerProbeConfig , um einen Probepunkt zu erstellen und die Probeinformationen in der Variablen namens $Probe zu speichern.
Der dreizehnte Befehl verwendet das Cmdlet New-AzLoadBalancerInboundNatPoolConfig , um eine NAT-Poolkonfiguration (Load Balancer inbound Network Address Translation) zu erstellen.
Der vierzehnte Befehl verwendet die New-AzLoadBalancerRuleConfig zum Erstellen einer Lastenausgleichsregelkonfiguration und speichert das Ergebnis in der Variablen namens $LBRule.
Der fünfzehnte Befehl verwendet das Cmdlet New-AzLoadBalancer zum Erstellen eines Lastenausgleichs und speichert das Ergebnis in der Variablen mit dem Namen $ActualLb.
Der sechzehnte Befehl verwendet den Get-AzLoadBalancer , um Informationen zum Lastenausgleich abzurufen, der im fünfzehnten Befehl erstellt wurde, und speichert die Informationen in der Variablen mit dem Namen $ExpectedLb.
Der siebzehnte Befehl verwendet das Cmdlet New-AzVmssIpConfig , um eine VMSS-IP-Konfiguration zu erstellen und die Informationen in der Variablen namens $IPCfg zu speichern.
Der achtzehnte Befehl verwendet das Cmdlet New-AzVmssConfig zum Erstellen eines VMSS-Konfigurationsobjekts und speichert das Ergebnis in der Variablen namens $VMSS.
Der neunzehnte Befehl verwendet das Cmdlet New-AzVmss , um vmSS zu erstellen.
Beispiel 3: Erstellen eines VMSS mit einem UserData-Wert
$ResourceGroupName = 'RESOURCE GROUP NAME';
$vmssName = 'VMSSNAME';
$domainNameLabel = "dnl" + $ResourceGroupName;
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword);
$text = "UserData value to encode";
$bytes = [System.Text.Encoding]::Unicode.GetBytes($text);
$userData = [Convert]::ToBase64String($bytes);
$securityTypeStnd = "Standard";
#Create a VMSS
New-AzVmss -ResourceGroupName $ResourceGroupName -Name $vmssName -Credential $vmCred -DomainNameLabel $domainNameLabel -Userdata $userData -SecurityType $securityTypeStnd;
$vmss = Get-AzVmss -ResourceGroupName $ResourceGroupName -VMScaleSetName $vmssName -InstanceView:$false -Userdata;
Erstellen eines VMSS mit einem UserData-Wert
Beispiel 4: Erstellen einer VMss mit dem Sicherheitstyp TrustedLaunch
In diesem Beispiel wird ein neuer VMSS mit dem neuen Sicherheitstyp "TrustedLaunch" und den erforderlichen UEFISettings-Werten erstellt, VTpmEnabled und SecureBootEnabled sind wahr. Weitere Informationen finden Sie auf der Seite "Vertrauenswürdige Startfeatures" .
Beispiel 5: Erstellen einer VMss im Orchestrierungsmodus: Standardmäßig flexibel
Der oben festgelegte Skalierungssatz für virtuelle Computer weist standardmäßig die Option "Vertrauenswürdige Start" auf. Weitere Informationen finden Sie auf der Seite "Vertrauenswürdige Startfeatures" .
Parameter
-AddProxyAgentExtension
Gibt an, ob die ProxyAgent-Erweiterung implizit installiert werden soll. Diese Option gilt derzeit nur für Linux-Betriebssysteme.
Zuordnungsmethode für die öffentliche IP-Adresse des Skalierungssatzes (statisch oder dynamisch). Wenn kein Wert angegeben wird, ist die Zuordnung statisch.
Der Name des Back-End-Adresspools, der im Lastenausgleichsmodul für diesen Skalierungssatz verwendet werden soll. Wenn kein Wert angegeben wird, wird ein neuer Back-End-Pool mit demselben Namen wie der Skalierungssatz erstellt.
Back-End-Portnummern, die vom Scale Set Load Balancer für die Kommunikation mit VMs im Skalierungssatz verwendet werden. Wenn keine Werte angegeben sind, werden die Ports 3389 und 5985 für Windows-VMS verwendet, und Port 22 wird für Linux-VMs verwendet.
Die Administratoranmeldeinformationen (Benutzername und Kennwort) für virtuelle Computer in diesem Skalierungssatz.
Benutzername Einschränkung:
Windows: Sonderzeichen /"[]:|<>+=;,?*@& oder enden sie in "."
Linux: Benutzername darf nur Buchstaben, Zahlen, Bindestriche und Unterstriche enthalten und darf nicht mit einem Bindestrich oder einer Zahl beginnen. Unzulässige Werte: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". Mindestlänge: 1 Zeichen Maximale Länge: 20 Zeichen für Windows, 64 Zeichen für Linux Passwort
Muss 3 der folgenden Zeichen aufweisen: 1 Kleinbuchstabe, 1 Großbuchstaben, 1 Zahl und 1 Sonderzeichen.
Der Wert muss zwischen 12 und 123 Zeichen lang sein.
Die Domänennamenbezeichnung für den öffentlichen Fully-Qualified Domänennamen (FQDN) für diesen Skalierungssatz. Dies ist die erste Komponente des Domänennamens, die dem Skalierungssatz automatisch zugewiesen wird. Automatisch zugewiesene Domänennamen verwenden das Formular (<DomainNameLabel>.<Location>.cloudapp.azure.com). Wenn kein Wert angegeben wird, ist die Standardmäßige Domänennamenbezeichnung die Verkettung von <ScaleSetName> und <ResourceGroupName>.
Gibt an, ob Betriebssystemupgrades automatisch auf Skalierungsgruppeninstanzen angewendet werden sollen, wenn eine neuere Version des Images verfügbar wird.
Dieser Parameter aktiviert die Verschlüsselung für alle Datenträger einschließlich Ressourcen-/Temp-Datenträger auf dem Host selbst.
Standard: Die Verschlüsselung auf dem Host wird deaktiviert, es sei denn, diese Eigenschaft ist für die Ressource auf "true" festgelegt.
Der Name des Front-End-Adresspools, der im Scale Set Load Balancer verwendet werden soll. Wenn kein Wert angegeben wird, wird ein neuer Frontend-Adresspool mit demselben Namen wie der Skalierungssatz erstellt.
wird verwendet, um eine Anforderung für die PUT- und andere nicht sichere Methoden bedingt zu stellen. Der Server gibt nur die angeforderten Ressourcen zurück, wenn die Ressource mit einem der aufgelisteten ETag-Werte übereinstimmt. Lassen Sie diesen Wert aus, um die aktuelle Ressource immer zu überschreiben. Geben Sie den zuletzt gesehenen ETag-Wert an, um zu verhindern, dass gleichzeitige Änderungen versehentlich überschrieben werden.
Wird verwendet, um eine Anforderung für die GET- und HEAD-Methoden bedingt zu machen. Der Server gibt nur die angeforderten Ressourcen zurück, wenn keiner der aufgelisteten ETag-Werte mit der aktuellen Entität übereinstimmt. Wird verwendet, um eine Anforderung für die GET- und HEAD-Methoden bedingt zu machen. Der Server gibt nur die angeforderten Ressourcen zurück, wenn keiner der aufgelisteten ETag-Werte mit der aktuellen Entität übereinstimmt. Legen Sie auf '*' fest, damit ein neuer Datensatzsatz erstellt werden kann, aber um zu verhindern, dass ein vorhandener Datensatzsatz aktualisiert wird. Andere Werte führen zu Einem Fehler vom Server, da sie nicht unterstützt werden.
Der Alias des Bilds für VMs in diesem Skalierungssatz. Wenn kein Wert angegeben wird, wird das Image "Windows Server 2016 DataCenter" verwendet. Die verfügbaren Aliase sind: Win2022AzureEdition, Win2022AzureEditionCore, Win2019Datacenter, Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, UbuntuLTS, UbuntuLTS, Ubuntu2204, CentOS85Gen2, Debian11, OpenSuseLeap154Gen2, RHELRaw8LVMGen2, SuseSles15SP3, FlatcarLinuxFreeGen2.
Gibt die eindeutige ID des freigegebenen Katalogimages für die Bereitstellung von vmss an. Dies kann aus dem GET-Aufruf des freigegebenen Katalogbilds abgerufen werden.
Der Name des Lastenausgleichs, der mit diesem Skalierungssatz verwendet werden soll. Ein neuer Lastenausgleichsmodul mit demselben Namen wie der Skalierungssatz wird erstellt, wenn kein Wert angegeben wird.
Der Azure-Speicherort, an dem dieser Skalierungssatz erstellt wird. Wenn kein Wert angegeben ist, wird der Speicherort vom Speicherort anderer Ressourcen abgeleitet, auf die in den Parametern verwiesen wird.
Gibt den Orchestrierungsmodus für den Skalierungssatz des virtuellen Computers an. Mögliche Werte: Uniform, Flexibel
Das Erstellen eines VMSS in OrchestrationMode:Flexible mithilfe des Standardparametersatzes führt dazu, dass virtualMachineScaleSetVMProfile standardmäßig aufgefüllt wird.
Wenn Sie eine VMSS mit einer leeren VirtualMachineScaleSetVMProfile erstellen möchten, erstellen Sie zuerst ein VirtualMachineScaleSet-Objekt mit leerer VMProfile-Eigenschaft mithilfe von New-AzVmssConfig, und erstellen Sie dann die VMSS mit einfachem Parametersatz.
Die Priorität für den virtuellen Computer im Skalierungssatz. Nur unterstützte Werte sind "Regular", "Spot" und "Low".
"Normal" ist für einen normalen virtuellen Computer vorgesehen.
"Spot" ist für einen virtuellen Spotcomputer vorgesehen.
"Niedrig" ist auch für einen virtuellen Spotcomputer vorgesehen, wird aber durch "Spot" ersetzt. Verwenden Sie "Spot" anstelle von "Niedrig".
Der Name der öffentlichen IP-Adresse, die mit diesem Skalierungssatz verwendet werden soll. Eine neue öffentliche IPAddress mit demselben Namen wie der Skalierungssatz wird erstellt, wenn kein Wert angegeben wird.
Gibt den Namen der Ressourcengruppe der VMSS an. Wenn kein Wert angegeben ist, wird eine neue ResourceGroup mit demselben Namen wie der Skalierungssatz erstellt.
Die Regeln, die beim Skalieren in einem Skalierungssatz eines virtuellen Computers befolgt werden sollen. Mögliche Werte sind: 'Default', 'OldestVM' und 'NewestVM'. "Standard", wenn ein Skalierungssatz für virtuelle Computer skaliert wird, wird der Skalierungssatz zuerst über Zonen ausgeglichen, wenn es sich um einen Zonal-Skalierungssatz handelt. Anschließend wird es so weit wie möglich über Fehlerdomänen hinweg ausgeglichen. In jeder Fehlerdomäne sind die virtuellen Computer, die für die Entfernung ausgewählt wurden, die neuesten, die nicht vor der Skalierung geschützt sind. "ÄltesteSVM", wenn ein Skalierungssatz für virtuelle Computer skaliert wird, werden die ältesten virtuellen Computer, die nicht vor der Skalierung geschützt sind, zur Entfernung ausgewählt. Bei Skalierungssätzen für virtuelle Maschinen wird der Skalierungssatz zuerst über Zonen hinweg ausgeglichen. Innerhalb jeder Zone werden die ältesten virtuellen Computer, die nicht geschützt sind, zur Entfernung ausgewählt. "NewestVM", wenn ein Skalierungssatz für virtuelle Computer skaliert wird, werden die neuesten virtuellen Computer, die nicht vor der Skalierung geschützt sind, zur Entfernung ausgewählt. Bei Skalierungssätzen für virtuelle Maschinen wird der Skalierungssatz zuerst über Zonen hinweg ausgeglichen. Innerhalb jeder Zone werden die neuesten virtuellen Computer, die nicht geschützt sind, zur Entfernung ausgewählt.
Der Name der Netzwerksicherheitsgruppe, die auf diesen Skalierungssatz angewendet werden soll. Wenn kein Wert angegeben wird, wird eine Standard-Netzwerksicherheitsgruppe mit demselben Namen wie der Skalierungssatz erstellt und auf den Skalierungssatz angewendet.
Die Sicherheitsstatus-Referenz-ID in Form von /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|latest
Gibt den SecurityType des virtuellen Computers an. Sie muss auf einen beliebigen angegebenen Wert festgelegt werden, um UefiSettings zu aktivieren. UefiSettings wird nur aktiviert, wenn diese Eigenschaft festgelegt ist.
Gibt die eindeutige ID des freigegebenen Katalogimages für die Vm-Bereitstellung an. Dies kann aus dem GET-Aufruf des freigegebenen Katalogbilds abgerufen werden.
Das Adresspräfix des Subnetzes dieses ScaleSets wird verwendet. Standardmäßige Subnetzeinstellungen (192.168.1.0/24) werden angewendet, wenn kein Wert angegeben wird.
Der Name des Subnetzes, das mit diesem Skalierungssatz verwendet werden soll. Ein neues Subnetz wird mit demselben Namen wie der Skalierungssatz erstellt, wenn kein Wert angegeben wird.
Der Upgraderichtlinienmodus für VM-Instanzen in diesem Skalierungssatz. Die Upgraderichtlinie kann automatische, manuelle oder rollierende Upgrades angeben.
Der Name für das virtuelle Netzwerk, das mit diesem Skalierungssatz verwendet werden soll. Wenn kein Wert angegeben wird, wird ein neues virtuelles Netzwerk mit demselben Namen wie der Skalierungssatz erstellt.
Die Größe der VM-Instanzen in diesem Skalierungssatz.
Get-AzComputeResourceSku kann verwendet werden, um verfügbare Größen für Ihr Abonnement und Ihre Region zu ermitteln. Wenn keine Größe angegeben ist, wird eine Standardgröße (Standard_DS1_v2) verwendet.
Das Adresspräfix für das virtuelle Netzwerk, das mit diesem Skalierungssatz verwendet wird. Standardmäßige Präfixeinstellungen für virtuelle Netzwerke (192.168.0.0/16) werden verwendet, wenn kein Wert angegeben wird.
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.