mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 19:31:44 +00:00
Merge pull request #96499 from sbangari/overlaysourcevip
Choosing the right source VIP for local endpoints
This commit is contained in:
commit
6d5cb36d36
@ -1088,7 +1088,18 @@ func (proxier *Proxier) syncProxyRules() {
|
||||
}
|
||||
}
|
||||
|
||||
if proxier.network.networkType == "Overlay" {
|
||||
// For Overlay networks 'SourceVIP' on an Load balancer Policy can either be chosen as
|
||||
// a) Source VIP configured on kube-proxy (or)
|
||||
// b) Node IP of the current node
|
||||
//
|
||||
// For L2Bridge network the Source VIP is always the NodeIP of the current node and the same
|
||||
// would be configured on kube-proxy as SourceVIP
|
||||
//
|
||||
// The logic for choosing the SourceVIP in Overlay networks is based on the backend endpoints:
|
||||
// a) Endpoints are any IP's outside the cluster ==> Choose NodeIP as the SourceVIP
|
||||
// b) Endpoints are IP addresses of a remote node => Choose NodeIP as the SourceVIP
|
||||
// c) Everything else (Local POD's, Remote POD's, Node IP of current node) ==> Choose the configured SourceVIP
|
||||
if proxier.network.networkType == "Overlay" && !ep.GetIsLocal() {
|
||||
providerAddress := proxier.network.findRemoteSubnetProviderAddress(ep.IP())
|
||||
|
||||
isNodeIP := (ep.IP() == providerAddress)
|
||||
|
Loading…
Reference in New Issue
Block a user