karmada
karmada copied to clipboard
[Question] scheduler-estimator support scheduler extender to calculate maxAvailableReplicas
Please provide an in-depth description of the question you have: For now, scheduler-estimator consider the following predicate algorithm for node to calculate maxAvailableReplicas:
- Number of replicas left to allocate
- left cpu
- left memory
- left ScalarResource
- left ephemeral-storage
But, In most instances, Scheduling strategy may add other predicate algorithm, like:
- cpu compression
- real cpu usage
- real memory
- rankScatter etc.
Those strategy extended by kube-scheduler extender; can scheduler-estimator consider more algorithm?
What do you think about this question?:
- scheduler-estimator support call third-party http/rpc interface to get maxAvailableReplicas
- support more algorithm
Environment:
- Karmada version:
- Kubernetes version:
- Others:
If you need these resources, just add them to the extended resources. I think scheduler-estimator does not need to call any three-party library. https://github.com/kubernetes/kubernetes/blob/release-1.23/pkg/apis/core/v1/helper/helpers.go#L31-L46
If you need these resources, just add them to the extended resources. I think scheduler-estimator does not need to call any three-party library. https://github.com/kubernetes/kubernetes/blob/release-1.23/pkg/apis/core/v1/helper/helpers.go#L31-L46
I don't think so, The maximum number of replicas that can be scheduled in a member cluster is closely related to the scheduling strategy of the cluster, and cannot be calculated simply through simple addition and subtraction of resources. Some scheduling strategies are more related to business, and it is not that simple
It would be nice if scheduler-estimator would also support budget/cost driven scheduling. So, it would be possible to perfrom cost aware scheduling - schedule cheaper workloads with the same level of availability, using the respective cost data providers for the target clusters (both direct, like AWS Budgets, and indirect, - OpenCost, etc).
I'm trying to figure out which PR/Issue should be included in the coming v1.7 release which is planned at the end of this month. I guess we don't have enough time for this feature, so I'm moving this to v1.8.