mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 11:50:44 +00:00
proxy: queue syncs on node events rather than syncing immediately
The proxies watch node labels for topology changes, but node labels can change in bursts especially in larger clusters. This causes pressure on all proxies because they can't filter the events, since the topology could match on any label. Change node event handling to queue the request rather than immediately syncing. The sync runner can already handle short bursts which shouldn't change behavior for most cases. Signed-off-by: Dan Williams <dcbw@redhat.com>
This commit is contained in:
parent
5108b0a3a0
commit
f197509879
@ -633,7 +633,7 @@ func (proxier *Proxier) OnNodeAdd(node *v1.Node) {
|
||||
proxier.mu.Unlock()
|
||||
klog.V(4).InfoS("Updated proxier node labels", "labels", node.Labels)
|
||||
|
||||
proxier.syncProxyRules()
|
||||
proxier.Sync()
|
||||
}
|
||||
|
||||
// OnNodeUpdate is called whenever modification of an existing
|
||||
@ -657,7 +657,7 @@ func (proxier *Proxier) OnNodeUpdate(oldNode, node *v1.Node) {
|
||||
proxier.mu.Unlock()
|
||||
klog.V(4).InfoS("Updated proxier node labels", "labels", node.Labels)
|
||||
|
||||
proxier.syncProxyRules()
|
||||
proxier.Sync()
|
||||
}
|
||||
|
||||
// OnNodeDelete is called whenever deletion of an existing node
|
||||
@ -672,7 +672,7 @@ func (proxier *Proxier) OnNodeDelete(node *v1.Node) {
|
||||
proxier.nodeLabels = nil
|
||||
proxier.mu.Unlock()
|
||||
|
||||
proxier.syncProxyRules()
|
||||
proxier.Sync()
|
||||
}
|
||||
|
||||
// OnNodeSynced is called once all the initial event handlers were
|
||||
|
@ -955,7 +955,7 @@ func (proxier *Proxier) OnNodeAdd(node *v1.Node) {
|
||||
proxier.mu.Unlock()
|
||||
klog.V(4).InfoS("Updated proxier node labels", "labels", node.Labels)
|
||||
|
||||
proxier.syncProxyRules()
|
||||
proxier.Sync()
|
||||
}
|
||||
|
||||
// OnNodeUpdate is called whenever modification of an existing
|
||||
@ -978,7 +978,7 @@ func (proxier *Proxier) OnNodeUpdate(oldNode, node *v1.Node) {
|
||||
proxier.mu.Unlock()
|
||||
klog.V(4).InfoS("Updated proxier node labels", "labels", node.Labels)
|
||||
|
||||
proxier.syncProxyRules()
|
||||
proxier.Sync()
|
||||
}
|
||||
|
||||
// OnNodeDelete is called whenever deletion of an existing node
|
||||
@ -992,7 +992,7 @@ func (proxier *Proxier) OnNodeDelete(node *v1.Node) {
|
||||
proxier.nodeLabels = nil
|
||||
proxier.mu.Unlock()
|
||||
|
||||
proxier.syncProxyRules()
|
||||
proxier.Sync()
|
||||
}
|
||||
|
||||
// OnNodeSynced is called once all the initial event handlers were
|
||||
|
Loading…
Reference in New Issue
Block a user