I have mitigated two bottlenecks that might happen due to dynamic change from auto-scaling.
one request per one route management (add/delete) overloaded the daemon port.
solution:
manage CIDR on host as a Table instead of a simple list of routes, so that only one single request is needed when CIDR changes or periodic update
to reduce the request while keep synchronising for the case of node failure, separate synchronising job from the reconcile loop
multiple resource get/list (for daemon pods, hostinterfaces, CIDR) for every time that (i) send request to daemon, (ii) update CIDR, etc. causes client-side throttling to API server.
solution:
cache and update daemonpod, hostinterface, and CIDR at watch point and use cache instead of calling API server.
I have mitigated two bottlenecks that might happen due to dynamic change from auto-scaling.
Signed-off-by: Sunyanan Choochotkaew sunyanan.choochotkaew1@ibm.com