-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added KEP for Node Resource Score Strategy #2461
Conversation
cd991b3
to
dc8d69a
Compare
dc8d69a
to
af079ca
Compare
- `NodeResourcesLeastAllocated` | ||
- `NodeResourcesMostAllocated` | ||
- `RequestedToCapacityRatio` | ||
- `NodeResourcesBalancedAllocation` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the default profile, this plugin is enabled along with NodeResourcesLeastAllocated
. It's optimization objective is complementary to the other plugins, it should remain separate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am hoping we can express everything using the plugin config, the idea is to have a path to mirror this into the pod spec. I guess we need to answer the following questions:
- Is it useful to use balanced allocation on its own
- What other plugins benefit from having balanced allocation enabled?
- For plugins identified in (2), is it always better to have balanced allocation enabled?
answering those questions will help us understand if its scoring behavior can be expressed in the unified configuration (e.g., either bake it into existing strategies always or as a flag that can be enabled on demand with other strategies)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cc @Huang-Wei
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I removed the balanced strategy for now, we can come back to it later if we find a good API to integrate it.
c5f00cc
to
0eb1920
Compare
keps/sig-scheduling/2458-node-resource-score-strategy/README.md
Outdated
Show resolved
Hide resolved
keps/sig-scheduling/2458-node-resource-score-strategy/README.md
Outdated
Show resolved
Hide resolved
9ce1e12
to
b0b4c38
Compare
keps/sig-scheduling/2458-node-resource-score-strategy/README.md
Outdated
Show resolved
Hide resolved
/lgtm |
c3be344
to
c84333f
Compare
Thanks, squashed for now. |
/lgtm |
keps/sig-scheduling/2458-node-resource-score-strategy/README.md
Outdated
Show resolved
Hide resolved
|
||
## Design Details | ||
|
||
Define a new `ScoringStrategy` type as follows: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would this be better as ResourceScoringStrategy
? Or is this planned to be used for other scoring plugins besides resource allocation?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
may be, lets leave that to the api review.
keps/sig-scheduling/2458-node-resource-score-strategy/README.md
Outdated
Show resolved
Hide resolved
keps/sig-scheduling/2458-node-resource-score-strategy/README.md
Outdated
Show resolved
Hide resolved
keps/sig-scheduling/2458-node-resource-score-strategy/README.md
Outdated
Show resolved
Hide resolved
allows preferring nodes with the least/most amount of available absolute resources that can host the | ||
pod; also, Least/MostAllocatable which allows preferring nodes with the least/most amount of | ||
allocatable resources that can host the pod. Adding those strategies as separate plugins will | ||
make the scheduler configuration problem even worse. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this plugin flexible to support internal combination of sub-fit strategy? Like a user may want to combine 2 strategies: least (absolute) available resource plus most allocated resource (ratio).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For new ones, we need to understand if they should be baked into existing scoring strategies, or add knobs to enable them on demand if they are cross cutting (or have keep them in separate plugin).
/approve |
/hold |
/approve PRR Please squash commits. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ahg-g, Huang-Wei, wojtek-t The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
626aaf6
to
c274f14
Compare
/milestone v1.21 |
|
||
### Test Plan | ||
|
||
- Unit and integration tests covering the new configuration path. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @ahg-g, would you be able to expand this a bit more? A little more detail here would really help. You can take a look at the comment of what test plan should consider in the KEP template as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
there is nothing particularly challenging to test here, we are proposing a new config parameter to an existing logic, so this doesn't really include complex interactions; I added some clarification.
/lgtm |
c274f14
to
04c5244
Compare
/hold cancel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
#2458
/sig scheduling