Skip to content

Support for Best-Effort / Progressive Scheduling in Karmada #7116

@akuowen

Description

@akuowen

Currently, Karmada Scheduler schedules ResourceBindings in an all-or-nothing manner.

Scenario:
I want 5 replicas, but the available resources in the member clusters are only enough for 1 replica.

Current behavior:
If scheduling cannot satisfy all replicas, no replicas are scheduled, and the ResourceBinding is marked as failed.

Expected behavior / Proposal:

Scheduler should support partial assignment (best-effort): schedule as many replicas as resources allow.

The remaining replicas should be recorded as pending in status.pendingReplicas.

A controller (or external mechanism) can watch pending replicas and trigger rescheduling once cluster resources become available.

Repeat until the desired total replicas are fully scheduled.

This would enable progressive scheduling, allowing Karmada to gradually utilize available cluster resources without failing the entire ResourceBinding.

Questions:

Is there a plan in Karmada to support this kind of best-effort / progressive scheduling?

Would this fit better as an extension to Scheduler, or as a controller outside Scheduler?

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/featureCategorizes issue or PR as related to a new feature.

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions