-
Notifications
You must be signed in to change notification settings - Fork 337
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
proposal: Eviction Arbitration Mechanism in Descheduler #1454
proposal: Eviction Arbitration Mechanism in Descheduler #1454
Conversation
Codecov ReportPatch coverage has no change and project coverage change:
Additional details and impacted files@@ Coverage Diff @@
## main #1454 +/- ##
==========================================
+ Coverage 64.14% 65.16% +1.02%
==========================================
Files 341 352 +11
Lines 34939 36326 +1387
==========================================
+ Hits 22411 23673 +1262
- Misses 10881 10909 +28
- Partials 1647 1744 +97
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Signed-off-by: baowj-678 <bwj_678@qq.com>
81aa852
to
6a2261a
Compare
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
1.update user stories 2.add diagrams 3.others Signed-off-by: baowj-678 <bwj_678@qq.com>
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
1.update diagrams. 2.move the arbitrate mechanism process before reconcile process. 3.delete the modifications to the PodMigrationJob CRD. 4.others. Signed-off-by: baowj-678 <bwj_678@qq.com>
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.
Overall it looks good to me. But, it is recommended to add a picture to describe the timing diagram of a PMJ entering the migration controller, entering the arbitration queue, performing arbitration, and entering the workqueue. It will be easier to understand this way.
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Show resolved
Hide resolved
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
1.update diagrams. 2.others. Signed-off-by: baowj-678 <bwj_678@qq.com>
/lgtm |
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
docs/proposals/scheduling/20230707-eviction-arbitrate-mechanism-in-descheduler.md
Outdated
Show resolved
Hide resolved
/lgtm |
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
1.replace GroupFilter and Select process with Filter process. 2.update some diagrams. 3.others. Signed-off-by: baowj-678 <bwj_678@qq.com>
1.add some introduction to the NonRetryableFilter and RetryableFilter. Signed-off-by: baowj-678 <bwj_678@qq.com>
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
@hormes PTAL |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: eahydra, hormes, jasonliu747 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 |
…sh#1454) Signed-off-by: baowj-678 <bwj_678@qq.com>
Ⅰ. Describe what this PR does
Arbitrate Mechanism is an important capability that Pod Migration relies on, and Pod Migration is relied on by many components (such as deschedulers). But pod Migration is a complex process, involving steps such as auditing, resource allocation, and application startup, and is mixed with application upgrading, scaling scenarios, and resource operation and maintenance operations by cluster administrators.
So when a large number of PODs are simultaneously migrated, this may have some impact on the stability of the system. In addition, if many pods of the same workload are migrated simultaneously, it will also have an impact on the stability of the application. Moreover, if a job's pod migration takes too long, it can affect the job's completion time.
Therefore, it is necessary to design an arbitration mechanism. This arbitration mechanism will select suitable
PodMigrationJob
to execute and control the execution speed ofPodMigrationJob
(to avoid a large number of jobs executing simultaneously), thereby ensuring the stability of the system and application.Ⅱ. Does this pull request fix one issue?
Ⅲ. Describe how to verify it
Design docs for #430
Ⅳ. Special notes for reviews
V. Checklist
make test