所以我需要脚本从NIC分离Load Balancer的后端池来更新我们的实时机器,但是从CLI更新NIC时我遇到了一个奇怪的问题。
我可以使用--set或remove键将整个'loadBalancerBackendAddressPools'组设置为null,但是当这是组中的最后一个属性时 - 我无法更新它。
az network nic update --resource-group MyPreciousGroup -n machineNetworkInt01020 --set ipConfigurations.[0].loadBalancerBackendAddressPools.[0].backendIpConfigurations=null
这会引发错误:
Operation failed with status: 'Not Found'. Details: 404 Client Error: Not Found for url: https://management.azure.com/subscriptions/00000000-1234-1234-1234-0000000000/providers/Microsoft.Network/locations/australiaeast/operations/1111111-1234-1234-1234-1111111111?api-version=2017-03-01
顺便问一下,有没有办法用JSON或其他东西更新整个属性组?所有我想在机器更新后使用以下参数设置:
loadBalancerBackendAddressPools": [
{
"backendIpConfigurations": null,
"etag": null,
"id": "/subscriptions/111111111-1111-1111-1111-111111111111/resourceGroups/MyEnvironment-AustraliaEast/providers/Microsoft.Network/loadBalancers/MyLoadBalancer/backendAddressPools/MyBackendPool",
"loadBalancingRules": null,
"name": null,
"outboundNatRule": null,
"provisioningState": null,
"resourceGroup": "MyEnvironment-AustraliaEast"
}
],
Python 2.7.12
azure-cli 2.0.7
答案 0 :(得分:2)
您可以尝试使用以下命令从Load Balancer后端池中分离NIC。
az network nic update -g <your group name> -n <nic name> --set ipConfigurations[name=<ip-config-name>].loadBalancerBackendAddressPools=[]
以下脚本就是一个例子,它对我有用。
az network nic update -g shuiload -n shui0 --set ipConfigurations[name=ipconfig1].loadBalancerBackendAddressPools=[]
此外,您可以使用Azure CLI将NIC添加到后端池。
az network nic update -g ${resource-group} --name ${nic-name} --add ipConfigurations[name=${ip-config}].loadBalancerBackendAddressPools id=${backend-address-pool-id}