You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 28, 2024. It is now read-only.
The reconciler-runtime Tracker and controller-runtime Informer are distinct concepts that only meet at the edges. While this separation is useful in many cases there are some benefits to combining them. Since the tracker fundamentally depends on an informer for notifications of changed resources, it's possible to forget to register an informer for a tracked type, or to setup the event notification for that type to trigger the tracker. There are also cases where a small number of resources are tracked in a cluster, but there are many large resources of that GVK in the cluster (like Secrets in OpenShift).
If we can fuse the Tracker and Informer infrastructure it should be possible to use the tracker's knowledge to limit the resources cached by the informer to reduce memory consumption. Requests to get non-tracked resource would fall back to the api server.
One complexity is that informers are often shared between controllers (to minimize duplicative caches) while trackers are intentionally scoped to a single controller. Trackers are also able to handle multiple GVKs, while an informer is a for a single GVK.
The text was updated successfully, but these errors were encountered:
The reconciler-runtime Tracker and controller-runtime Informer are distinct concepts that only meet at the edges. While this separation is useful in many cases there are some benefits to combining them. Since the tracker fundamentally depends on an informer for notifications of changed resources, it's possible to forget to register an informer for a tracked type, or to setup the event notification for that type to trigger the tracker. There are also cases where a small number of resources are tracked in a cluster, but there are many large resources of that GVK in the cluster (like Secrets in OpenShift).
If we can fuse the Tracker and Informer infrastructure it should be possible to use the tracker's knowledge to limit the resources cached by the informer to reduce memory consumption. Requests to get non-tracked resource would fall back to the api server.
One complexity is that informers are often shared between controllers (to minimize duplicative caches) while trackers are intentionally scoped to a single controller. Trackers are also able to handle multiple GVKs, while an informer is a for a single GVK.
The text was updated successfully, but these errors were encountered: