How the cluster-capacity framework works
masterThe framework estimates how many instances of a specific pod can be scheduled in a cluster. It uses a scheduler (created by a scheduler factory) and a loopback fake client that intercepts requests and operates over local caches.
The Estimation Lifecycle:
- Capture State: The framework captures the current state of the cluster.
- Local Simulation: It translates API requests into local cache operations. This ensures the actual running cluster is not modified by the simulated scheduling.
- Estimation: The framework runs the scheduling logic against the local cache and provides the results via available channels.
Key Assumptions:
- The pod is assumed to run immediately after scheduling.
- There is no interaction with Kubelet (no container running, image pulling, or volume handling).
- There is no interaction with the Apiserver (all interactions use local caches).
- There is no interaction with controllers.