Delen via


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.