Azure 管道 - Azure 网络负载均衡器任务如何工作?

问题描述

我正在设置一个发布管道,我想使用 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);