karmada icon indicating copy to clipboard operation
karmada copied to clipboard

[Question] scheduler-estimator support scheduler extender to calculate maxAvailableReplicas

Open CharlesQQ opened this issue 1 year ago • 4 comments

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:

  1. Number of replicas left to allocate
  2. left cpu
  3. left memory
  4. left ScalarResource
  5. left ephemeral-storage

But, In most instances, Scheduling strategy may add other predicate algorithm, like:

  1. cpu compression
  2. real cpu usage
  3. real memory
  4. rankScatter etc.

Those strategy extended by kube-scheduler extender; can scheduler-estimator consider more algorithm?

What do you think about this question?:

  1. scheduler-estimator support call third-party http/rpc interface to get maxAvailableReplicas
  2. support more algorithm

Environment:

  • Karmada version:
  • Kubernetes version:
  • Others:

CharlesQQ avatar Apr 21 '23 08:04 CharlesQQ

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

whitewindmills avatar Apr 23 '23 03:04 whitewindmills

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

CharlesQQ avatar Apr 23 '23 03:04 CharlesQQ

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).

yuriy-yarosh avatar Jun 26 '23 15:06 yuriy-yarosh

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.

RainbowMango avatar Aug 25 '23 07:08 RainbowMango