You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure自动化账户中移除AKS集群VMSS关联的负载均衡器?

解决Azure VMSS移除负载均衡器后端地址池的PowerShell/API方案

核心原理

Azure CLI的--remove参数本质是向Azure API发送JSON Patch的remove操作,仅移除指定属性路径而非将其设为null。直接设空值会破坏网卡配置结构,正确做法是通过移除属性路径解除关联。

PowerShell 实现方式

方式一:使用JSON Patch更新

通过构造Patch指令精准移除目标属性,和Azure CLI逻辑完全一致:

# 定义JSON Patch操作
$patchOperations = @(
    @{
        op    = "remove"
        path  = "/virtualMachineProfile/networkProfile/networkInterfaceConfigurations/0/ipConfigurations/0/loadBalancerBackendAddressPools"
    }
)

# 应用Patch更新VMSS配置
Update-AzVmss -ResourceGroupName "MyResourceGroup" -VMScaleSetName "MyVMSS" -Patch $patchOperations

# 重启所有实例使配置生效
Update-AzVmssInstance -ResourceGroupName "MyResourceGroup" -VMScaleSetName "MyVMSS" -InstanceId "*"

方式二:修改VMSS对象后更新

通过清空后端地址池集合而非设为null,避免破坏网卡结构:

# 获取目标VMSS对象
$vmss = Get-AzVmss -ResourceGroupName "MyResourceGroup" -VMScaleSetName "MyVMSS"

# 清空负载均衡器后端地址池关联集合
$vmss.VirtualMachineProfile.NetworkProfile.NetworkInterfaceConfigurations[0].IpConfigurations[0].LoadBalancerBackendAddressPools.Clear()

# 保存VMSS配置变更
Update-AzVmss -ResourceGroupName "MyResourceGroup" -VMScaleSetName "MyVMSS" -VirtualMachineScaleSet $vmss

# 重启所有实例
Update-AzVmssInstance -ResourceGroupName "MyResourceGroup" -VMScaleSetName "MyVMSS" -InstanceId "*"

Azure API 正确调用方式

步骤1:移除负载均衡器关联

发送PATCH请求执行属性移除操作:

  • 请求方法:PATCH
  • 请求URL:https://management.azure.com/subscriptions/{你的订阅ID}/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/MyVMSS?api-version=2023-07-01
  • 请求头:Content-Type: application/json-patch+json
  • 请求体:
[
    {
        "op": "remove",
        "path": "/virtualMachineProfile/networkProfile/networkInterfaceConfigurations/0/ipConfigurations/0/loadBalancerBackendAddressPools"
    }
]

步骤2:重启所有VMSS实例

发送POST请求触发实例重启:

  • 请求方法:POST
  • 请求URL:https://management.azure.com/subscriptions/{你的订阅ID}/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/MyVMSS/updateInstances?api-version=2023-07-01
  • 请求体:
{
    "instanceIds": ["*"]
}

关键注意事项

  • 确认网卡和IP配置的索引正确(示例中用[0],多配置场景需调整对应索引)
  • 实例重启会导致业务中断,需在维护窗口执行
  • VMSS配置更新后,必须重启实例才能使新配置生效

内容的提问来源于stack exchange,提问作者OLA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 19:35:22