1

我有一个虚拟机规模集和一个负载均衡器(常规 LB,而不是应用程序网关)。健康探测检查 VM 上的 HTTP 端点,这似乎工作得很好:如果端点知道它还没有准备好处理请求,它会返回一个非 200 响应,这是一种受控且频繁的状态。

问题:探测的最低可能设置是 5 秒,并且连续失败 2 次,因此至少要经过 10 秒才能从轮换中拉出有故障的 VM。等待时间过长,因为许多请求可能在该时间段内到达并被拒绝,即使 VM 知道此状态,并且规模集中的其他 VM 已准备好处理请求。

问题: VM 有什么方法可以立即通知负载均衡器它想要从轮换中拉出?然后,VM 应该停止旋转,直到它开始200 OK从 HTTP 运行状况探测端点返回。

旁注:(az network nic ip-config address-pool remove链接似乎仅适用于独立 VM,不适用于规模集 VM。

4

1 回答 1

0

使用 PowerShell,您可以通过以下方式将 nic 添加到负载均衡器:

$lb= get-azurermloadbalancer -name NRP-LB -resourcegroupname NRP-RG
$backend=Get-AzureRmLoadBalancerBackendAddressPoolConfig -name LB-backend -LoadBalancer $lb
$nic =get-azurermnetworkinterface -name lb-nic1-be -resourcegroupname NRP-RG
$nic.IpConfigurations[0].LoadBalancerBackendAddressPools=$backend
Set-AzureRmNetworkInterface -NetworkInterface $nic

并以类似的方式从 LB 中删除 nic

$nic = Get-AzureRmNetworkInterface -ResourceGroupName NRP-RG -Name lb-nic1-be
$nic.IpConfigurations[0].LoadBalancerBackendAddressPools = $null
Set-AzureRmNetworkInterface -NetworkInterface $nic

这样您就可以从负载均衡器中取出您的机器,并在它再次工作时将其添加回来。

有关更多详细信息,请参见例如此链接

于 2018-03-13T21:20:15.727 回答