karmada-io / karmada

Open, Multi-Cloud, Multi-Cluster Kubernetes Orchestration
https://karmada.io
Apache License 2.0
4.32k stars 857 forks source link

[Summer OSPP 2024] Karmada evenly allocates the replicas based on the spread constraint #5159

Open whitewindmills opened 1 month ago

whitewindmills commented 1 month ago

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

whitewindmills commented 1 month ago

/assign @ipsum-0320

karmada-bot commented 1 month ago

@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](https://github.com/karmada-io/karmada/issues/5159#issuecomment-2217355787): >/assign @ipsum-0320 Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository.
whitewindmills commented 1 month ago

@ipsum-0320 pls assign to yourself.

ipsum-0320 commented 1 month ago

/assign