New-AzureRmVmss
Crea un VMSS.
Advertencia
El módulo AzureRM PowerShell ha quedado oficialmente obsoleto a partir del 29 de febrero de 2024. Se recomienda a los usuarios migrar de AzureRM al módulo Az PowerShell para seguir recibiendo soporte técnico y actualizaciones.
Aunque el módulo AzureRM puede seguir funcionando, ya no recibirá mantenimiento ni soporte técnico, lo que significa que su uso continuado queda a discreción y riesgo del usuario. Consulte nuestros recursos de migración para ver una guía sobre la transición al módulo Az.
Sintaxis
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
El cmdlet New-AzureRmVmss crea un conjunto de escalado de máquinas virtuales (VMSS) en Azure.
Use el conjunto de parámetros simple (SimpleParameterSet
) para crear rápidamente un VMSS preconfijo y los recursos asociados. Use el conjunto de parámetros predeterminado (DefaultParameter
) para escenarios más avanzados cuando necesite configurar con precisión cada componente de VMSS y cada recurso asociado antes de la creación.
Ejemplos
Ejemplo 1: Creación de un VMSS mediante **'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 <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
El comando anterior crea lo siguiente con el nombre $vmssName
:
- Un grupo de recursos
- Una red virtual
- Un equilibrador de carga
- Una dirección IP pública
- VMSS con 2 instancias
La imagen predeterminada elegida para las máquinas virtuales de VMSS es 2016-Datacenter Windows Server
y la SKU es Standard_DS1_v2
Ejemplo 2: Creación de un VMSS mediante **'DefaultParameterSet'**
# 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;
En el ejemplo complejo anterior se crea un VMSS, a continuación se muestra una explicación de lo que sucede:
- El primer comando crea un grupo de recursos con el nombre y la ubicación especificados.
- El segundo comando usa el cmdlet New-AzureRmStorageAccount para crear una cuenta de almacenamiento.
- A continuación, el tercer comando usa el cmdlet Get-AzureRmStorageAccount para obtener la cuenta de almacenamiento creada en el segundo comando y almacena el resultado en la variable $STOAccount.
- El quinto comando usa el cmdlet New-AzureRmVirtualNetworkSubnetConfig para crear una subred y almacena el resultado en la variable denominada $SubNet.
- El sexto comando usa el cmdlet New-AzureRmVirtualNetwork para crear una red virtual y almacena el resultado en la variable denominada $VNet.
- El séptimo comando usa Get-AzureRmVirtualNetwork para obtener información sobre la red virtual creada en el sexto comando y almacena la información en la variable denominada $VNet.
- El octavo y noveno comando usa New-AzureRmPublicIpAddress y Get- AzureRmPublicIpAddress para crear y obtener información de esa dirección IP pública.
- Los comandos almacenan la información en la variable denominada $PubIP.
- El décimo comando usa el cmdlet New- AzureRmLoadBalancerFrontendIpConfig para crear un equilibrador de carga de front-end y almacena el resultado en la variable denominada $Frontend.
- El undécimo comando usa New-AzureRmLoadBalancerBackendAddressPoolConfig para crear una configuración del grupo de direcciones de back-end y almacena el resultado en la variable denominada $BackendAddressPool.
- El duodécimo comando usa New-AzureRmLoadBalancerProbeConfig para crear un sondeo y almacena la información del sondeo en la variable denominada $Probe.
- El decimotercer comando usa el cmdlet New-AzureRmLoadBalancerInboundNatPoolConfig para crear una configuración de grupo de traducción de direcciones de red entrantes (NAT).
- El decimocuarto comando usa New-AzureRmLoadBalancerRuleConfig para crear una configuración de regla del equilibrador de carga y almacena el resultado en la variable denominada $LBRule.
- El decimoquinto comando usa el cmdlet New-AzureRmLoadBalancer para crear un equilibrador de carga y almacena el resultado en la variable denominada $ActualLb.
- El decimosexto comando usa Get-AzureRmLoadBalancer para obtener información sobre el equilibrador de carga que se creó en el decimoquinto comando y almacena la información en la variable denominada $ExpectedLb.
- El diecisiete comando usa el cmdlet New-AzureRmVmssIPConfig para crear una configuración ip de VMSS y almacena la información en la variable denominada $IPCfg.
- El decimoctavo comando usa el cmdlet New-AzureRmVmssConfig para crear un objeto de configuración de VMSS y almacena el resultado en la variable denominada $VMSS.
- El decimonoveno comando usa el cmdlet New-AzureRmVmss para crear vmSS.
Parámetros
-AllocationMethod
Método de asignación para la dirección IP pública del conjunto de escalado (estático o dinámico). Si no se proporciona ningún valor, la asignación será estática.
Tipo: | String |
Valores aceptados: | Static, Dynamic |
Posición: | Named |
Valor predeterminado: | Static |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-AsJob
Ejecute el cmdlet en segundo plano y devuelva un trabajo para realizar un seguimiento del progreso.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-BackendPoolName
Nombre del grupo de direcciones de back-end que se va a usar en el equilibrador de carga de este conjunto de escalado. Si no se proporciona ningún valor, se creará un nuevo grupo de back-end con el mismo nombre que el conjunto de escalado.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-BackendPort
Números de puerto de back-end usados por el equilibrador de carga del conjunto de escalado para comunicarse con las máquinas virtuales del conjunto de escalado. Si no se especifica ningún valor, los puertos 3389 y 5985 se usarán para vmS Windows y se usará el puerto 22 para las máquinas virtuales Linux.
Tipo: | Int32[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Credential
Las credenciales de administrador (nombre de usuario y contraseña) de las máquinas virtuales de este conjunto de escalado.
Tipo: | PSCredential |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DataDiskSizeInGb
Especifica los tamaños de los discos de datos en GB.
Tipo: | Int32[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DefaultProfile
Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure.
Tipo: | IAzureContextContainer |
Alias: | AzureRmContext, AzureCredential |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DomainNameLabel
Etiqueta de nombre de dominio para el nombre de dominio completo (FQDN) público para este conjunto de escalado. Este es el primer componente del nombre de dominio que se asigna automáticamente al conjunto de escalado. Los nombres de dominio asignados automáticamente usan el formulario (<DomainNameLabel>.<Location>.cloudapp.azure.com
). Si no se proporciona ningún valor, la etiqueta de nombre de dominio predeterminada será la concatenación de <ScaleSetName>
y <ResourceGroupName>
.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-FrontendPoolName
Nombre del grupo de direcciones de front-end que se va a usar en el equilibrador de carga del conjunto de escalado. Si no se proporciona ningún valor, se creará un nuevo grupo de direcciones de front-end, con el mismo nombre que el conjunto de escalado.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ImageName
Nombre de la imagen de las máquinas virtuales de este conjunto de escalado. Si no se proporciona ningún valor, se usará la imagen "Windows Server 2016 DataCenter".
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-InstanceCount
Número de imágenes de máquina virtual en el conjunto de escalado. Si no se proporciona ningún valor, se crearán 2 instancias.
Tipo: | Int32 |
Posición: | Named |
Valor predeterminado: | 2 |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-LoadBalancerName
Nombre del equilibrador de carga que se va a usar con este conjunto de escalado. Se creará un nuevo equilibrador de carga con el mismo nombre que el conjunto de escalado si no se especifica ningún valor.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Location
Ubicación de Azure donde se creará este conjunto de escalado. Si no se especifica ningún valor, la ubicación se deducirá de la ubicación de otros recursos a los que se hace referencia en los parámetros.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-NatBackendPort
Puerto back-end para la traducción de direcciones de red entrantes.
Tipo: | Int32[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-PublicIpAddressName
Nombre de la dirección IP pública que se va a usar con este conjunto de escalado. Se creará una nueva dirección IP pública con el mismo nombre que el conjunto de escalado si no se proporciona ningún valor.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ResourceGroupName
Especifica el nombre del grupo de recursos de VMSS. Si no se especifica ningún valor, se creará un nuevo ResourceGroup con el mismo nombre que el conjunto de escalado.
Tipo: | String |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-SecurityGroupName
Nombre del grupo de seguridad de red que se va a aplicar a este conjunto de escalado. Si no se proporciona ningún valor, se creará un grupo de seguridad de red predeterminado con el mismo nombre que el conjunto de escalado y se aplicará al conjunto de escalado.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-SinglePlacementGroup
Úselo para crear el conjunto de escalado en un único grupo de selección de ubicación, el valor predeterminado es varios grupos.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-SubnetAddressPrefix
Prefijo de dirección de la subred que usará este Conjunto de escalado. La configuración predeterminada de subred (192.168.1.0/24) se aplicará si no se proporciona ningún valor.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | 192.168.1.0/24 |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-SubnetName
Nombre de la subred que se va a usar con este conjunto de escalado. Se creará una nueva subred con el mismo nombre que el conjunto de escalado si no se proporciona ningún valor.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-SystemAssignedIdentity
Si el parámetro está presente, a las máquinas virtuales del conjunto de escalado se les asigna una identidad del sistema administrada que se genera automáticamente.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-UpgradePolicyMode
Modo de directiva de actualización para las instancias de máquina virtual en este conjunto de escalado. La directiva de actualización podría especificar actualizaciones automáticas, manuales o graduales.
Tipo: | UpgradeMode |
Valores aceptados: | Automatic, Manual, Rolling |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-UserAssignedIdentity
Nombre de una identidad de servicio administrada que se debe asignar a las máquinas virtuales del conjunto de escalado.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-VirtualMachineScaleSet
Especifica el objeto VirtualMachineScaleSet que contiene las propiedades del VMSS que crea este cmdlet.
Tipo: | PSVirtualMachineScaleSet |
Posición: | 3 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-VirtualNetworkName
Nombre de la red virtual que se va a usar con este conjunto de escalado. Si no se proporciona ningún valor, se creará una nueva red virtual con el mismo nombre que el conjunto de escalado.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-VMScaleSetName
Especifica el nombre del VMSS que crea este cmdlet.
Tipo: | String |
Alias: | Name |
Posición: | 2 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-VmSize
Tamaño de las instancias de máquina virtual de este conjunto de escalado. Se usará un tamaño predeterminado (Standard_DS1_v2) si no se especifica Size.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | Standard_DS1_v2 |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-VnetAddressPrefix
Prefijo de dirección de la red virtual que se usa con este conjunto de escalado. Se usará la configuración predeterminada del prefijo de dirección de red virtual (192.168.0.0/16) si no se proporciona ningún valor.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | 192.168.0.0/16 |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Zone
Una lista de zonas de disponibilidad de las que se indica la dirección IP asignada para el recurso debe proceder.
Tipo: | List<T>[String] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
Entradas
Parámetros: VirtualMachineScaleSet (ByValue)
List<T>[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]