【问题标题】:Error on removing vmss Network Interface Configuration删除 vmss 网络接口配置时出错
【发布时间】:2021-04-12 08:39:28
【问题描述】:

删除 vmss 网络接口配置时出错。代码如下:

$myVmss = Get-AzVmss -ResourceGroupName 'MyApp-test-rg' -VMScaleSetName 'Myapp-vmss'
 

Remove-AzVmssNetworkInterfaceConfiguration -VirtualMachineScaleSet $myVmss -Name $myVmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations.IPConfigurations.Name

得到错误-

Remove-AzVmssNetworkInterfaceConfiguration: Sequence contains no matching element

有人可以推荐一下吗。

已编辑:

我要做的就是将基本 LB 的后端池配置应用于新的标准 LB。在遵循 Joy 的建议后,删除命令有效,但现在在 update-azvmss 命令上遇到问题。

$myVmss = Get-AzVmss -ResourceGroupName $rgName -VMScaleSetName $vmssName
$newlb = (Get-AzLoadBalancer -ResourceGroupName $rgName -Name $newLbName)
$mySubnetId = $myVmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations.IpConfigurations[0].Subnet.Id
$backendPoolId = $newlb.BackendAddressPools.Id

$ipConfig = New-AzVmssIpConfig -Name MyNewConfig -SubnetId $mySubnetId -LoadBalancerBackendAddressPoolsId $backendPoolId

Remove-AzVmssNetworkInterfaceConfiguration -VirtualMachineScaleSet $myVmss -Name $myVmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations.Name[1]  

Add-AzVmssNetworkInterfaceConfiguration -Name MyNewConfig -Primary $true -VirtualMachineScaleSet $myVmss -IpConfiguration $ipConfig

$myVmss | Update-AzVmss

这是错误-

Update-AzVmss: Primary network interface configuration of VM scale set /subscriptions/xxxxxxxxxxxx/resourceGroups/xxxxxx-RG/providers/Microsoft.Compute/virtualMachineScaleSets/xxxxxxx cannot be changed. Original Primary network interface configuration: xxxxxx-vnet-v2-nic01, Requested: MyNewConfig.

【问题讨论】:

    标签: azure powershell azure-virtual-machine azure-powershell azure-load-balancer


    【解决方案1】:

    你需要传递NetworkInterfaceConfiguration的名字,而不是IPConfiguration,你应该注意myVmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations.Name是一个数组,所以你需要给出具体的。

    在运行Remove-AzVmssNetworkInterfaceConfiguration 之前,您可能需要检查$myVmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations.Name 以确认您要删除的NetworkInterfaceConfiguration

    比如你要删除Test,那么命令应该是:

    Remove-AzVmssNetworkInterfaceConfiguration -VirtualMachineScaleSet $myVmss -Name $myVmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations.Name[1]
    

    只是一个提示:

    要让它生效,你需要停止VMSS,然后在Remove-AzVmssNetworkInterfaceConfiguration之后使用Update-AzVmss

    $myVmss = Get-AzVmss -ResourceGroupName testvmss -VMScaleSetName myvmss 
    
    Remove-AzVmssNetworkInterfaceConfiguration -VirtualMachineScaleSet $myVmss -Name $myVmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations.Name[1]
    
    $myvmss | Update-AzVmss
    

    【讨论】:

    • 谢谢乔伊。进行该更改有助于命令执行。我的主要动机是将基本 LB 的后端池迁移到标准 LB,因此尝试将新标准 LB 的后端池配置附加到 vmss。在 update-azvmss 上,我收到此错误 - Update-AzVmss:VM 规模集/subscriptions/xxxxx/resourceGroups/xxxxx/providers/Microsoft.Compute/virtualMachine/.. 的主要网络接口配置无法更改。原始主网络接口配置:xxxxxx-vnet-v2-nic01,请求:MyNewConfig。
    • 用@joy Wang 的详细信息更新了问题。谢谢。
    • @medinibster 好吧,如果您的原始问题已解决,您能接受它并在另一个帖子中询问新问题吗? Stackoverflow 避免在一篇文章中提出不同的问题,其他人会一目了然。
    猜你喜欢
    • 2020-05-31
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 2021-05-16
    • 2013-10-06
    • 2016-01-15
    相关资源
    最近更新 更多