azure: loadbalancer: respect svc sessionaffinity
If the Service spec sets sessionAffinity, reflects that in the configuration specified for the Azure loadbalancer.
This commit is contained in:
@@ -538,6 +538,10 @@ func (az *Cloud) reconcileLoadBalancer(lb network.LoadBalancer, fipConfiguration
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
loadDistribution := network.Default
|
||||||
|
if service.Spec.SessionAffinity == v1.ServiceAffinityClientIP {
|
||||||
|
loadDistribution = network.SourceIP
|
||||||
|
}
|
||||||
expectedRules[i] = network.LoadBalancingRule{
|
expectedRules[i] = network.LoadBalancingRule{
|
||||||
Name: &lbRuleName,
|
Name: &lbRuleName,
|
||||||
LoadBalancingRulePropertiesFormat: &network.LoadBalancingRulePropertiesFormat{
|
LoadBalancingRulePropertiesFormat: &network.LoadBalancingRulePropertiesFormat{
|
||||||
@@ -551,6 +555,7 @@ func (az *Cloud) reconcileLoadBalancer(lb network.LoadBalancer, fipConfiguration
|
|||||||
Probe: &network.SubResource{
|
Probe: &network.SubResource{
|
||||||
ID: to.StringPtr(az.getLoadBalancerProbeID(lbName, lbRuleName)),
|
ID: to.StringPtr(az.getLoadBalancerProbeID(lbName, lbRuleName)),
|
||||||
},
|
},
|
||||||
|
LoadDistribution: loadDistribution,
|
||||||
FrontendPort: to.Int32Ptr(port.Port),
|
FrontendPort: to.Int32Ptr(port.Port),
|
||||||
BackendPort: to.Int32Ptr(port.Port),
|
BackendPort: to.Int32Ptr(port.Port),
|
||||||
EnableFloatingIP: to.BoolPtr(true),
|
EnableFloatingIP: to.BoolPtr(true),
|
||||||
|
Reference in New Issue
Block a user