[Summer OSPP 2024] Karmada evenly allocates the replicas based on the spread constraint
Overview
Karmada (Kubernetes Armada) is a Kubernetes management system that enables you to run cloud-native applications in multiple Kubernetes clusters and cloud platforms without changing the application. By using Kubernetes native APIs and providing advanced scheduling capabilities, Karmada implements truly open, multi-cloud Kubernetes.
In Karmada's current scheduler replica allocation strategy, we already support four replica allocation methods: Duplicated, Aggregated, Static Weight, and Dynamic Weight. However, for more complex scheduling scenarios: after cross-AZ distribution constraints, the number of replicas of the workload is propagated as evenly as possible in the selected cluster. Currently, Karmada cannot support such scenarios well.
Therefore, we plan to semantically sort out the current Karmada scheduling strategy, determine whether to expand the existing API or change the original API design, and finally introduce this feature to meet the scheduling needs of more scenarios.
Project link
https://summer-ospp.ac.cn/org/prodetail/245c40281?lang=zh&list=pro
Reference issue
https://github.com/karmada-io/karmada/issues/4805
Tasks
- [project impl]:
- https://github.com/karmada-io/karmada/pull/5622
- https://github.com/karmada-io/karmada/pull/5621
- [ut & e2e]:
- https://github.com/karmada-io/karmada/pull/5620
/assign @ipsum-0320
@whitewindmills: GitHub didn't allow me to assign the following users: ipsum-0320.
Note that only karmada-io members with read permissions, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time. For more information please see the contributor guide
In response to this:
/assign @ipsum-0320
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
@ipsum-0320 pls assign to yourself.
/assign
@whitewindmills All PRs have been merged. Thank you for your guidance; I have gained a lot from this open-source activity.
Thanks both of you @ipsum-0320 @whitewindmills for the hard work!
I'm going to close this as all tasks done. /close
@RainbowMango: Closing this issue.
In response to this:
Thanks both of you @ipsum-0320 @whitewindmills for the hard work!
I'm going to close this as all tasks done. /close
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.