New-AzVmss
Hiermee maakt u een VMSS.
Syntaxis
New-AzVmss
[-ResourceGroupName] <String>
[-VMScaleSetName] <String>
[-VirtualMachineScaleSet] <PSVirtualMachineScaleSet>
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzVmss
[[-ResourceGroupName] <String>]
[-VMScaleSetName] <String>
[-AsJob]
[-ImageName <String>]
-Credential <PSCredential>
[-InstanceCount <Int32>]
[-VirtualNetworkName <String>]
[-SubnetName <String>]
[-PublicIpAddressName <String>]
[-DomainNameLabel <String>]
[-SecurityGroupName <String>]
[-LoadBalancerName <String>]
[-BackendPort <Int32[]>]
[-Location <String>]
[-VmSize <String>]
[-UpgradePolicyMode <UpgradeMode>]
[-AllocationMethod <String>]
[-VnetAddressPrefix <String>]
[-SubnetAddressPrefix <String>]
[-FrontendPoolName <String>]
[-BackendPoolName <String>]
[-Zone <System.Collections.Generic.List`1[System.String]>]
[-NatBackendPort <Int32[]>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Met de cmdlet New-AzVmss maakt u een virtuele-machineschaalset (VMSS) in Azure. Deze cmdlet gebruikt een VirtualMachineScaleSet-object als invoer.
Voorbeelden
Voorbeeld 1: Een VMSS maken
# Common
$LOC = "WestUs";
$RGName = "rgkyvms";
New-AzResourceGroup -Name $RGName -Location $LOC -Force;
# SRP
$STOName = "STO" + $RGName;
$STOType = "Standard_GRS";
New-AzStorageAccount -ResourceGroupName $RGName -Name $STOName -Location $LOC -Type $STOType;
$STOAccount = Get-AzStorageAccount -ResourceGroupName $RGName -Name $STOName;
# NRP
$SubNet = New-AzVirtualNetworkSubnetConfig -Name ("subnet" + $RGName) -AddressPrefix "10.0.0.0/24";
$VNet = New-AzVirtualNetwork -Force -Name ("vnet" + $RGName) -ResourceGroupName $RGName -Location $LOC -AddressPrefix "10.0.0.0/16" -DnsServer "10.1.1.1" -Subnet $SubNet;
$VNet = Get-AzVirtualNetwork -Name ('vnet' + $RGName) -ResourceGroupName $RGName;
$SubNetId = $VNet.Subnets[0].Id;
$PubIP = New-AzPublicIpAddress -Force -Name ("PubIP" + $RGName) -ResourceGroupName $RGName -Location $LOC -AllocationMethod Dynamic -DomainNameLabel ("PubIP" + $RGName);
$PubIP = Get-AzPublicIpAddress -Name ("PubIP" + $RGName) -ResourceGroupName $RGName;
# Create LoadBalancer
$FrontendName = "fe" + $RGName
$BackendAddressPoolName = "bepool" + $RGName
$ProbeName = "vmssprobe" + $RGName
$InboundNatPoolName = "innatpool" + $RGName
$LBRuleName = "lbrule" + $RGName
$LBName = "vmsslb" + $RGName
$Frontend = New-AzLoadBalancerFrontendIpConfig -Name $FrontendName -PublicIpAddress $PubIP
$BackendAddressPool = New-AzLoadBalancerBackendAddressPoolConfig -Name $BackendAddressPoolName
$Probe = New-AzLoadBalancerProbeConfig -Name $ProbeName -RequestPath healthcheck.aspx -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2
$InboundNatPool = New-AzLoadBalancerInboundNatPoolConfig -Name $InboundNatPoolName -FrontendIPConfigurationId `
$Frontend.Id -Protocol Tcp -FrontendPortRangeStart 3360 -FrontendPortRangeEnd 3362 -BackendPort 3370;
$LBRule = New-AzLoadBalancerRuleConfig -Name $LBRuleName `
-FrontendIPConfiguration $Frontend -BackendAddressPool $BackendAddressPool `
-Probe $Probe -Protocol Tcp -FrontendPort 80 -BackendPort 80 `
-IdleTimeoutInMinutes 15 -EnableFloatingIP -LoadDistribution SourceIP;
$ActualLb = New-AzLoadBalancer -Name $LBName -ResourceGroupName $RGName -Location $LOC `
-FrontendIpConfiguration $Frontend -BackendAddressPool $BackendAddressPool `
-Probe $Probe -LoadBalancingRule $LBRule -InboundNatPool $InboundNatPool;
$ExpectedLb = Get-AzLoadBalancer -Name $LBName -ResourceGroupName $RGName
# New VMSS Parameters
$VMSSName = "VMSS" + $RGName;
$AdminUsername = "Admin01";
$AdminPassword = "p4ssw0rd@123" + $RGName;
$PublisherName = "MicrosoftWindowsServer"
$Offer = "WindowsServer"
$Sku = "2012-R2-Datacenter"
$Version = "latest"
$VHDContainer = "https://" + $STOName + ".blob.core.contoso.net/" + $VMSSName;
$ExtName = "CSETest";
$Publisher = "Microsoft.Compute";
$ExtType = "BGInfo";
$ExtVer = "2.1";
#IP Config for the NIC
$IPCfg = New-AzVmssIPConfig -Name "Test" `
-LoadBalancerInboundNatPoolsId $ExpectedLb.InboundNatPools[0].Id `
-LoadBalancerBackendAddressPoolsId $ExpectedLb.BackendAddressPools[0].Id `
-SubnetId $SubNetId;
#VMSS Config
$VMSS = New-AzVmssConfig -Location $LOC -SkuCapacity 2 -SkuName "Standard_A2" -UpgradePolicyMode "Automatic" `
| Add-AzVmssNetworkInterfaceConfiguration -Name "Test" -Primary $True -IPConfiguration $IPCfg `
| Add-AzVmssNetworkInterfaceConfiguration -Name "Test2" -IPConfiguration $IPCfg `
| Set-AzVmssOSProfile -ComputerNamePrefix "Test" -AdminUsername $AdminUsername -AdminPassword $AdminPassword `
| Set-AzVmssStorageProfile -Name "Test" -OsDiskCreateOption 'FromImage' -OsDiskCaching "None" `
-ImageReferenceOffer $Offer -ImageReferenceSku $Sku -ImageReferenceVersion $Version `
-ImageReferencePublisher $PublisherName -VhdContainer $VHDContainer `
| Add-AzVmssExtension -Name $ExtName -Publisher $Publisher -Type $ExtType -TypeHandlerVersion $ExtVer -AutoUpgradeMinorVersion $True
#Create the VMSS
New-AzVmss -ResourceGroupName $RGName -Name $VMSSName -VirtualMachineScaleSet $VMSS;
In het volgende complexe voorbeeld wordt een VMSS gemaakt. Met de eerste opdracht maakt u een resourcegroep met de opgegeven naam en locatie. De tweede opdracht maakt gebruik van de cmdlet New-AzStorageAccount om een opslagaccount te maken. De derde opdracht gebruikt vervolgens de cmdlet Get-AzStorageAccount om het opslagaccount op te halen dat in de tweede opdracht is gemaakt en slaat het resultaat op in de $STOAccount variabele. De vijfde opdracht maakt gebruik van de cmdlet New-AzVirtualNetworkSubnetConfig om een subnet te maken en slaat het resultaat op in de variabele met de naam $SubNet. De zesde opdracht maakt gebruik van de cmdlet New-AzVirtualNetwork om een virtueel netwerk te maken en slaat het resultaat op in de variabele met de naam $VNet. De zevende opdracht maakt gebruik van Get-AzVirtualNetwork voor informatie over het virtuele netwerk dat is gemaakt in de zesde opdracht en slaat de informatie op in de variabele met de naam $VNet. De achtste en negende opdracht maakt gebruik van new-AzPublicIpAddress en Get- AzureRmPublicIpAddress om informatie te maken en op te halen van dat openbare IP-adres. Met de opdrachten worden de gegevens opgeslagen in de variabele met de naam $PubIP. De tiende opdracht maakt gebruik van de cmdlet New- AzureRmLoadBalancerFrontendIpConfig om een front-end load balancer te maken en slaat het resultaat op in de variabele met de naam $Frontend. De elfde opdracht maakt gebruik van new-AzLoadBalancerBackendAddressPoolConfig om een back-endadresgroepconfiguratie te maken en slaat het resultaat op in de variabele met de naam $BackendAddressPool. De twaalfde opdracht maakt gebruik van new-AzLoadBalancerProbeConfig om een test te maken en slaat de testgegevens op in de variabele met de naam $Probe. De dertiende opdracht maakt gebruik van de cmdlet New-AzLoadBalancerInboundNatPoolConfig om een nat-poolconfiguratie (Network Address Translation) voor een load balancer te maken. De veertiende opdracht maakt gebruik van new-AzLoadBalancerRuleConfig om een load balancer-regelconfiguratie te maken en slaat het resultaat op in de variabele met de naam $LBRule. De vijftiende opdracht maakt gebruik van de cmdlet New-AzLoadBalancer om een load balancer te maken en slaat het resultaat op in de variabele met de naam $ActualLb. De zestiende opdracht gebruikt de Get-AzLoadBalancer om informatie op te halen over de load balancer die is gemaakt in de vijftiende opdracht en slaat de informatie op in de variabele met de naam $ExpectedLb. De zeventiende opdracht maakt gebruik van de cmdlet New-AzVmssIPConfig om een VMSS IP-configuratie te maken en slaat de informatie op in de variabele met de naam $IPCfg. De achttiende opdracht maakt gebruik van de cmdlet New-AzVmssConfig om een VMSS-configuratieobject te maken en slaat het resultaat op in de variabele met de naam $VMSS. De negentiende opdracht maakt gebruik van de cmdlet New-AzVmss om de VMSS te maken.
Parameters
-AllocationMethod
Toewijzingsmethode voor het openbare IP-adres van de schaalset (statisch of dynamisch). Als er geen waarde wordt opgegeven, is toewijzing statisch.
Type: | String |
Geaccepteerde waarden: | Static, Dynamic |
Position: | Named |
Default value: | Static |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-AsJob
Voer de cmdlet op de achtergrond uit en retourneer een taak om de voortgang bij te houden.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-BackendPoolName
De naam van de back-endadresgroep die moet worden gebruikt in de load balancer voor deze schaalset. Als er geen waarde wordt opgegeven, wordt er een nieuwe back-endpool gemaakt met dezelfde naam als de schaalset.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-BackendPort
Back-endpoortnummers die door de load balancer van de schaalset worden gebruikt om te communiceren met VM's in de schaalset. Als er geen waarden zijn opgegeven, worden poorten 3389 en 5985 gebruikt voor Windows VMS en worden poort 22 gebruikt voor Linux-VM's.
Type: | Int32[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Confirm
Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Credential
De beheerdersreferenties (gebruikersnaam en wachtwoord) voor VM's in deze schaalset.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DefaultProfile
De referenties, het account, de tenant en het abonnement die worden gebruikt voor communicatie met Azure.
Type: | IAzureContextContainer |
Aliassen: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DomainNameLabel
Het domeinnaamlabel voor de openbare FQDN (Fully Qualified Domain Name) voor deze schaalset. Dit is het eerste onderdeel van de domeinnaam die automatisch wordt toegewezen aan de schaalset. Automatisch toegewezen domeinnamen gebruiken het formulier (<DomainNameLabel>.<Location>.cloudapp.azure.com
). Als er geen waarde wordt opgegeven, is het standaarddomeinnaamlabel de samenvoeging van <ScaleSetName>
en <ResourceGroupName>
.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-FrontendPoolName
De naam van de front-endadresgroep die moet worden gebruikt in de locad balancer van de schaalset. Als er geen waarde wordt opgegeven, wordt er een nieuwe front-endadresgroep gemaakt met dezelfde naam als de schaalset.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ImageName
De naam van de installatiekopieën voor VM's in deze schaalset. Als er geen waarde wordt opgegeven, wordt de installatiekopieën van Windows Server 2016 DataCenter gebruikt.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-InstanceCount
Het aantal VM-installatiekopieën in de schaalset. Als er geen waarde is opgegeven, worden 2 exemplaren gemaakt.
Type: | Int32 |
Position: | Named |
Default value: | 2 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-LoadBalancerName
De naam van de load balancer die moet worden gebruikt met deze schaalset. Er wordt een nieuwe load balancer gemaakt met dezelfde naam als de schaalset als er geen waarde is opgegeven.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Location
De Azure-locatie waar deze schaalset wordt gemaakt. Als er geen waarde is opgegeven, wordt de locatie afgeleid van de locatie van andere resources waarnaar wordt verwezen in de parameters.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-NatBackendPort
Back-endpoort voor binnenkomende netwerkadresomzetting.
Type: | Int32[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-PublicIpAddressName
De naam van het openbare IP-adres dat moet worden gebruikt met deze schaalset. Er wordt een nieuw openbaar IP-adres met dezelfde naam gemaakt als de schaalset als er geen waarde wordt opgegeven.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ResourceGroupName
Hiermee geeft u de naam van de resourcegroep van de VMSS. Als er geen waarde is opgegeven, wordt er een nieuwe ResourceGroup gemaakt met dezelfde naam als de schaalset.
Type: | String |
Position: | 1 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-SecurityGroupName
De naam van de netwerkbeveiligingsgroep die moet worden toegepast op deze schaalset. Als er geen waarde wordt opgegeven, wordt er een standaardnetwerkbeveiligingsgroep met dezelfde naam als de schaalset gemaakt en toegepast op de schaalset.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-SubnetAddressPrefix
Het adresvoorvoegsel van het subnet dat door deze schaalset wordt gebruikt. Standaardsubnetinstellingen (192.168.1.0/24) worden toegepast als er geen waarde wordt opgegeven.
Type: | String |
Position: | Named |
Default value: | 192.168.1.0/24 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-SubnetName
De naam van het subnet dat moet worden gebruikt met deze schaalset. Er wordt een nieuw subnet gemaakt met dezelfde naam als de schaalset als er geen waarde is opgegeven.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-UpgradePolicyMode
De upgradebeleidsmodus voor VM-exemplaren in deze schaalset. Upgradebeleid kan automatische, handmatige of rolling upgrades opgeven.
Type: | UpgradeMode |
Geaccepteerde waarden: | Automatic, Manual, Rolling |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-VirtualMachineScaleSet
Hiermee geeft u het VirtualMachineScaleSet-object op dat de eigenschappen bevat van de VMSS die met deze cmdlet worden gemaakt.
Type: | PSVirtualMachineScaleSet |
Position: | 3 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-VirtualNetworkName
De naam van het virtuele netwerk dat moet worden gebruikt met deze schaalset. Als er geen waarde wordt opgegeven, wordt er een nieuw virtueel netwerk met dezelfde naam gemaakt als de schaalset.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-VMScaleSetName
Hiermee geeft u de naam op van de VMSS die met deze cmdlet wordt gemaakt.
Type: | String |
Aliassen: | Name |
Position: | 2 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-VmSize
De grootte van de VM-exemplaren in deze schaalset. Er wordt een standaardgrootte (Standard_DS1_v2) gebruikt als er geen grootte is opgegeven.
Type: | String |
Position: | Named |
Default value: | Standard_DS1_v2 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-VnetAddressPrefix
Het adresvoorvoegsel voor het virtuele netwerk dat met deze schaalset wordt gebruikt. Standaardinstellingen voor het adresvoorvoegsel van het virtuele netwerk (192.168.0.0/16) worden gebruikt als er geen waarde wordt opgegeven.
Type: | String |
Position: | Named |
Default value: | 192.168.0.0/16 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-WhatIf
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert.
De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Zone
Een lijst met beschikbaarheidszones die het IP-adres aangeeft dat voor de resource is toegewezen, moet afkomstig zijn van.
Type: | List<T>[String] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
Invoerwaarden
VirtualMachineScaleSet
Parameter 'VirtualMachineScaleSet' accepteert de waarde van het type VirtualMachineScaleSet uit de pijplijn
Uitvoerwaarden
This cmdlet does not generate any output.