Megosztás a következőn keresztül:


New-AzureRmVmss

Létrehoz egy VMSS-t.

Figyelmeztetés

Az AzureRM PowerShell-modul 2024. február 29-én hivatalosan elavult. Javasoljuk a felhasználóknak, hogy migráljanak az AzureRM-ből az Az PowerShell-modulba a folyamatos támogatás és frissítések biztosítása érdekében.

Bár az AzureRM-modul továbbra is működik, a továbbiakban nem tart fenn vagy nem támogatott, így a folyamatos használatot a felhasználó saját belátása szerint és kockázatára teheti. Az Az modulra való áttéréshez tekintse meg a migrálási erőforrásainkat.

Syntax

New-AzureRmVmss
   [-ResourceGroupName] <String>
   [-VMScaleSetName] <String>
   [-VirtualMachineScaleSet] <PSVirtualMachineScaleSet>
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzureRmVmss
   [[-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>]
   [-SystemAssignedIdentity]
   [-UserAssignedIdentity <String>]
   [-Zone <System.Collections.Generic.List`1[System.String]>]
   [-NatBackendPort <Int32[]>]
   [-DataDiskSizeInGb <Int32[]>]
   [-DefaultProfile <IAzureContextContainer>]
   [-SinglePlacementGroup]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

A New-AzureRmVmss parancsmag létrehoz egy virtuálisgép-méretezési csoportot (VMSS) az Azure-ban. Az egyszerű paraméterkészlet (SimpleParameterSet) használatával gyorsan létrehozhat egy előre beállított VMSS-t és a társított erőforrásokat. Használja az alapértelmezett paraméterkészletet (DefaultParameter) a speciálisabb forgatókönyvekhez, ha a létrehozás előtt pontosan konfigurálnia kell a VMSS egyes összetevőit és az egyes társított erőforrásokat.

Példák

1. példa: VMSS létrehozása a **'SimpleParameterSet'** használatával

$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 <PASSWORD_HERE> -AsPlainText -Force
$vmCred = New-Object System.Management.Automation.PSCredential(<USERNAME_HERE>, $vmPassword)

#Create a VMSS using the default settings
New-AzureRmVmss -Credential $vmCred -VMScaleSetName $vmssName

A fenti parancs a következőt hozza létre a következő névvel $vmssName :

  • Erőforráscsoport
  • Egy virtuális hálózatot
  • Terheléselosztó
  • Nyilvános IP-cím
  • a VMSS 2 példánysal

A VMSS-ben a virtuális gépekhez választott alapértelmezett rendszerkép és 2016-Datacenter Windows Server az SKU Standard_DS1_v2

2. példa: VMSS létrehozása a **'DefaultParameterSet'** használatával

# Common
$LOC = "WestUs";
$RGName = "rgkyvms";

New-AzureRmResourceGroup -Name $RGName -Location $LOC -Force;

# SRP
$STOName = "STO" + $RGName;
$STOType = "Standard_GRS";
New-AzureRmStorageAccount -ResourceGroupName $RGName -Name $STOName -Location $LOC -Type $STOType;
$STOAccount = Get-AzureRmStorageAccount -ResourceGroupName $RGName -Name $STOName;

# NRP
$SubNet = New-AzureRmVirtualNetworkSubnetConfig -Name ("subnet" + $RGName) -AddressPrefix "10.0.0.0/24";
$VNet = New-AzureRmVirtualNetwork -Force -Name ("vnet" + $RGName) -ResourceGroupName $RGName -Location $LOC -AddressPrefix "10.0.0.0/16" -DnsServer "10.1.1.1" -Subnet $SubNet;
$VNet = Get-AzureRmVirtualNetwork -Name ('vnet' + $RGName) -ResourceGroupName $RGName;
$SubNetId = $VNet.Subnets[0].Id;

$PubIP = New-AzureRmPublicIpAddress -Force -Name ("PubIP" + $RGName) -ResourceGroupName $RGName -Location $LOC -AllocationMethod Dynamic -DomainNameLabel ("PubIP" + $RGName);
$PubIP = Get-AzureRmPublicIpAddress -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-AzureRmLoadBalancerFrontendIpConfig -Name $FrontendName -PublicIpAddress $PubIP
$BackendAddressPool = New-AzureRmLoadBalancerBackendAddressPoolConfig -Name $BackendAddressPoolName
$Probe = New-AzureRmLoadBalancerProbeConfig -Name $ProbeName -RequestPath healthcheck.aspx -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2
$InboundNatPool = New-AzureRmLoadBalancerInboundNatPoolConfig -Name $InboundNatPoolName  -FrontendIPConfigurationId `
    $Frontend.Id -Protocol Tcp -FrontendPortRangeStart 3360 -FrontendPortRangeEnd 3362 -BackendPort 3370;
$LBRule = New-AzureRmLoadBalancerRuleConfig -Name $LBRuleName `
    -FrontendIPConfiguration $Frontend -BackendAddressPool $BackendAddressPool `
    -Probe $Probe -Protocol Tcp -FrontendPort 80 -BackendPort 80 `
    -IdleTimeoutInMinutes 15 -EnableFloatingIP -LoadDistribution SourceIP;
$ActualLb = New-AzureRmLoadBalancer -Name $LBName -ResourceGroupName $RGName -Location $LOC `
    -FrontendIpConfiguration $Frontend -BackendAddressPool $BackendAddressPool `
    -Probe $Probe -LoadBalancingRule $LBRule -InboundNatPool $InboundNatPool;
$ExpectedLb = Get-AzureRmLoadBalancer -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-AzureRmVmssIPConfig -Name "Test" `
    -LoadBalancerInboundNatPoolsId $ExpectedLb.InboundNatPools[0].Id `
    -LoadBalancerBackendAddressPoolsId $ExpectedLb.BackendAddressPools[0].Id `
    -SubnetId $SubNetId;

#VMSS Config
$VMSS = New-AzureRmVmssConfig -Location $LOC -SkuCapacity 2 -SkuName "Standard_A2" -UpgradePolicyMode "Automatic" `
    | Add-AzureRmVmssNetworkInterfaceConfiguration -Name "Test" -Primary $True -IPConfiguration $IPCfg `
    | Add-AzureRmVmssNetworkInterfaceConfiguration -Name "Test2"  -IPConfiguration $IPCfg `
    | Set-AzureRmVmssOSProfile -ComputerNamePrefix "Test"  -AdminUsername $AdminUsername -AdminPassword $AdminPassword `
    | Set-AzureRmVmssStorageProfile -Name "Test"  -OsDiskCreateOption 'FromImage' -OsDiskCaching "None" `
    -ImageReferenceOffer $Offer -ImageReferenceSku $Sku -ImageReferenceVersion $Version `
    -ImageReferencePublisher $PublisherName -VhdContainer $VHDContainer `
    | Add-AzureRmVmssExtension -Name $ExtName -Publisher $Publisher -Type $ExtType -TypeHandlerVersion $ExtVer -AutoUpgradeMinorVersion $True

#Create the VMSS
New-AzureRmVmss -ResourceGroupName $RGName -Name $VMSSName -VirtualMachineScaleSet $VMSS;

A fenti összetett példa létrehoz egy VMSS-t, az alábbiakban a történések magyarázatát mutatjuk be:

  • Az első parancs létrehoz egy erőforráscsoportot a megadott névvel és hellyel.
  • A második parancs a New-AzureRmStorageAccount parancsmaggal hoz létre egy tárfiókot.
  • A harmadik parancs ezután a Get-AzureRmStorageAccount parancsmaggal lekéri a második parancsban létrehozott tárfiókot, és az eredményt a $STOAccount változóban tárolja.
  • Az ötödik parancs a New-AzureRmVirtualNetworkSubnetConfig parancsmaggal hoz létre egy alhálózatot, és az eredményt a $SubNet nevű változóban tárolja.
  • A hatodik parancs a New-AzureRmVirtualNetwork parancsmaggal hoz létre egy virtuális hálózatot, és az eredményt a $VNet nevű változóban tárolja.
  • A hetedik parancs a Get-AzureRmVirtualNetwork használatával lekéri a hatodik parancsban létrehozott virtuális hálózat adatait, és az információkat a $VNet nevű változóban tárolja.
  • A nyolcadik és a kilencedik parancs a New-AzureRmPublicIpAddress és a Get- AzureRmPublicIpAddress használatával hoz létre és szerez be adatokat a nyilvános IP-címről.
  • A parancsok az adatokat a $PubIP nevű változóban tárolják.
  • A tizedik parancs a New- AzureRmLoadBalancerFrontendIpConfig parancsmaggal hoz létre egy előtérbeli terheléselosztót, és az eredményt a $Frontend nevű változóban tárolja.
  • A tizenegyedik parancs a New-AzureRmLoadBalancerBackendAddressPoolConfig használatával hoz létre egy háttércímkészlet-konfigurációt, és az eredményt a $BackendAddressPool nevű változóban tárolja.
  • A tizenkettedik parancs a New-AzureRmLoadBalancerProbeConfig használatával hoz létre egy mintavételt, és a mintavételi adatokat a $Probe nevű változóban tárolja.
  • A tizenharmadik parancs a New-AzureRmLoadBalancerInboundNatPoolConfig parancsmaggal hoz létre terheléselosztó bejövő hálózati címfordítási (NAT) készletkonfigurációt.
  • A tizennegyedik parancs a New-AzureRmLoadBalancerRuleConfig használatával hoz létre egy terheléselosztó-szabálykonfigurációt , és az eredményt a $LBRule nevű változóban tárolja.
  • A tizenötödik parancs a New-AzureRmLoadBalancer parancsmaggal hoz létre egy terheléselosztót, és az eredményt a $ActualLb nevű változóban tárolja.
  • A tizenhatodik parancs a Get-AzureRmLoadBalancer használatával szerzi be a tizenötödik parancsban létrehozott terheléselosztó adatait, és az adatokat a $ExpectedLb nevű változóban tárolja.
  • A tizenhetedik parancs a New-AzureRmVmssIPConfig parancsmaggal hoz létre egy VMSS IP-konfigurációt, és az adatokat a $IPCfg nevű változóban tárolja.
  • A tizennyolcadik parancs a New-AzureRmVmssConfig parancsmaggal hoz létre egy VMSS konfigurációs objektumot, és az eredményt a $VMSS nevű változóban tárolja.
  • A tizenkilencedik parancs a New-AzureRmVmss parancsmaggal hozza létre a VMSS-t.

Paraméterek

-AllocationMethod

Kiosztási módszer a méretezési csoport nyilvános IP-címéhez (statikus vagy dinamikus). Ha nincs megadva érték, a foglalás statikus lesz.

Típus:String
Elfogadott értékek:Static, Dynamic
Position:Named
Alapértelmezett érték:Static
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-AsJob

Futtassa a parancsmagot a háttérben, és adjon vissza egy feladatot a folyamat nyomon követéséhez.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-BackendPoolName

A méretezési csoport terheléselosztójában használni kívánt háttércímkészlet neve. Ha nincs megadva érték, létrejön egy új háttérkészlet, amelynek neve megegyezik a méretezési csoport nevével.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-BackendPort

A méretezési csoport terheléselosztója által a méretezési csoport virtuális gépeivel való kommunikációhoz használt háttérportszámok. Ha nincs megadva érték, a 3389-ös és az 5985-ös portot a Windows rendszerű virtuális gépekhez, a 22-s portot pedig Linux rendszerű virtuális gépekhez használja a rendszer.

Típus:Int32[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Confirm

Jóváhagyást kér a parancsmag futtatása előtt.

Típus:SwitchParameter
Aliasok:cf
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Credential

A méretezési csoportban lévő virtuális gépek rendszergazdai hitelesítő adatai (felhasználónév és jelszó).

Típus:PSCredential
Position:Named
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-DataDiskSizeInGb

Megadja az adatlemezek méretét GB-ban.

Típus:Int32[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-DefaultProfile

Az Azure-ral való kommunikációhoz használt hitelesítő adatok, fiók, bérlő és előfizetés.

Típus:IAzureContextContainer
Aliasok:AzureRmContext, AzureCredential
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-DomainNameLabel

A méretezési csoport nyilvános teljes tartománynevének (FQDN) tartományneve. Ez a tartománynév első olyan összetevője, amely automatikusan hozzá van rendelve a méretezési csoporthoz. Az automatikusan hozzárendelt tartománynevek az űrlapot (<DomainNameLabel>.<Location>.cloudapp.azure.com) használják. Ha nem ad meg értéket, az alapértelmezett tartománynévcímke lesz az és <ResourceGroupName>a <ScaleSetName> .

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-FrontendPoolName

A méretezési csoport terheléselosztójában használni kívánt előtérbeli címkészlet neve. Ha nincs megadva érték, a rendszer létrehoz egy új előtérbeli címkészletet, amelynek neve megegyezik a méretezési csoport nevével.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-ImageName

A méretezési csoportban lévő virtuális gépek képének neve. Ha nincs megadva érték, a rendszer a "Windows Server 2016 DataCenter" rendszerképet használja.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-InstanceCount

A méretezési csoportban lévő virtuálisgép-rendszerképek száma. Ha nincs megadva érték, a rendszer 2 példányt hoz létre.

Típus:Int32
Position:Named
Alapértelmezett érték:2
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-LoadBalancerName

A méretezési csoporthoz használandó terheléselosztó neve. Ha nincs megadva érték, létrejön egy új, a méretezési csoport nevével megegyező nevű terheléselosztó.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Location

Az Azure-hely, ahol a méretezési csoport létrejön. Ha nincs megadva érték, a hely a paraméterekben hivatkozott egyéb erőforrások helyére lesz következtetve.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-NatBackendPort

Háttérport bejövő hálózati címfordításhoz.

Típus:Int32[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-PublicIpAddressName

A méretezési csoporthoz használandó nyilvános IP-cím neve. Ha nincs megadva érték, létrejön egy új, a méretezési csoport nevével megegyező nevű nyilvános IPAddress.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-ResourceGroupName

A VMSS erőforráscsoportjának nevét adja meg. Ha nincs megadva érték, a rendszer egy új ResourceGroup-csoportot hoz létre a méretezési csoport nevével megegyező néven.

Típus:String
Position:1
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-SecurityGroupName

A méretezési csoportra alkalmazandó hálózati biztonsági csoport neve. Ha nincs megadva érték, a méretezési csoport nevével megegyező alapértelmezett hálózati biztonsági csoport jön létre és lesz alkalmazva a méretezési csoportra.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-SinglePlacementGroup

Ezzel egyetlen elhelyezési csoportban hozhatja létre a méretezési csoportot, alapértelmezés szerint több csoport

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-SubnetAddressPrefix

A ScaleSet alhálózat címelőtagja. Az alapértelmezett alhálózati beállítások (192.168.1.0/24) akkor lesznek alkalmazva, ha nincs megadva érték.

Típus:String
Position:Named
Alapértelmezett érték:192.168.1.0/24
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-SubnetName

A méretezési csoporttal használni kívánt alhálózat neve. Ha nincs megadva érték, létrejön egy új alhálózat a méretezési csoport nevével.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-SystemAssignedIdentity

Ha a paraméter jelen van, akkor a méretezési csoportban lévő virtuális gép(ek) hozzá vannak rendelve egy automatikusan létrehozott felügyelt rendszeridentitáshoz.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-UpgradePolicyMode

A méretezési csoportban lévő virtuálisgép-példányok frissítési szabályzatmódja. A frissítési szabályzat megadhat automatikus, manuális vagy gördülő frissítéseket.

Típus:UpgradeMode
Elfogadott értékek:Automatic, Manual, Rolling
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-UserAssignedIdentity

A méretezési csoportban lévő virtuális gép(ek)hez hozzárendelendő felügyeltszolgáltatás-identitás neve.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-VirtualMachineScaleSet

Megadja a VirtualMachineScaleSet objektumot , amely a parancsmag által létrehozott VMSS tulajdonságait tartalmazza.

Típus:PSVirtualMachineScaleSet
Position:3
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-VirtualNetworkName

A méretezési csoporthoz használni kívánt virtuális hálózat neve. Ha nincs megadva érték, létrejön egy új virtuális hálózat, amelynek neve megegyezik a méretezési csoport nevével.

Típus:String
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-VMScaleSetName

Megadja a parancsmag által létrehozott VMSS nevét.

Típus:String
Aliasok:Name
Position:2
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

-VmSize

A méretezési csoportban lévő virtuálisgép-példányok mérete. Ha nincs megadva méret, a rendszer egy alapértelmezett méretet (Standard_DS1_v2) használ.

Típus:String
Position:Named
Alapértelmezett érték:Standard_DS1_v2
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-VnetAddressPrefix

A méretezési csoporthoz használt virtuális hálózat címelőtagja. Az alapértelmezett virtuális hálózati címelőtag-beállítások (192.168.0.0/16) akkor lesznek használatban, ha nincs megadva érték.

Típus:String
Position:Named
Alapértelmezett érték:192.168.0.0/16
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-WhatIf

Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.

Típus:SwitchParameter
Aliasok:wi
Position:Named
Alapértelmezett érték:False
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Zone

Az erőforráshoz lefoglalt IP-címet denotáló rendelkezésre állási zónák listájának származnia kell.

Típus:List<T>[String]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása:False

Bevitelek

String

PSVirtualMachineScaleSet

Paraméterek: VirtualMachineScaleSet (ByValue)

List<T>[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

Kimenetek

PSVirtualMachineScaleSet