问题描述
我正在设置一个发布管道,我想使用 Azure 网络负载均衡器任务从负载均衡器中取出实例,但我想知道它是如何做到的,即它是耗尽连接还是终止连接。
我猜如果它正在删除网络接口,它只是在杀死连接,谁能告诉我?
解决方法
根据github上的source code,connect动作添加了loadBalancerBackendAddressPools属性(LoadBalancerBackendAddressPool资源的引用)。它实际上是通过调用 Network Interfaces-Create Or Update rest api 来设置的。
if (action == "Connect") {
taskinternal._writeLine(tl.loc("ConnectingVMtoLB",loadBalancerName));
var lb = await nlbUtility.getLoadBalancer(SPN,endpointUrl,loadBalancerName,resourceGroupName);
nicLbBackendPoolConfig = lb.properties.backendAddressPools;
}
else {
taskinternal._writeLine(tl.loc("DisconnectingVMfromLB",loadBalancerName));
}
nicVm.properties.ipConfigurations[0].properties['loadBalancerBackendAddressPools'] = nicLbBackendPoolConfig;
var setNIStatus = await nlbUtility.setNetworkInterface(SPN,nicVm,resourceGroupName);