-
Notifications
You must be signed in to change notification settings - Fork 126
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
Update cluster-resources.md #713
Conversation
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.
/assign
|
|
||
Therefore, we introduce a `CustomizedClusterResourceModeling` for each cluster that records the resource portrait of each node. Karmada will collect node and pod information for each cluster. After calculation, this node will be divided into the appropriate resource model configured by the users. | ||
Therefore, we introduce a `CustomizedClusterResourceModeling` for each cluster that records the resource profile of each node. | ||
Karmada collects node and pod information from each cluster and computes the appropriate -user configured- resource model to categorize the node into. |
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.
Karmada collects node and pod information from each cluster and computes the appropriate -user configured- resource model to categorize the node into. | |
Karmada collects node and pod information from each cluster and computes the appropriate `user configured` resource model to categorize the node info. |
Is it a typo here?
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.
It was meant to say that a node is being categorized into a resource model.
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.
Oh. I get it. Thanks.
Yeah, you are right! Nice finding! I guess the documentation might be incorrect. @chaosi-zju can you help to confirm that? |
Yes, you are right. This is not just about checking the number of nodes, but calculating which cluster can actually accommodate the most Pods. |
@LavredisG I think we can fix the incorrect docs after @chaosi-zju confirms it by another PR, let this PR focus on gramma issues. |
Thank you for the clarifications! |
Oh ok, so even if some nodes from Grade 2 can accommodate the pod (those with more than 3C and 20Gi), we don't count them in this case because they have to meet the demands with their Min values, is that correct? |
Signed-off-by: LavredisG <[email protected]>
Yes, nodes from Grade 2 would be ignored as we are not sure all nodes in this grade fulfill the request. |
Yes, you are right, the minimum value should greater than I did the corresponding test, the log of scheduler is (PS: in this test, a resource expects 3 replicas, using dynamic divided strategy propagating to member1/member2/member3): 017 03:46:02.866387 1 general.go:77] cluster member1 has max available replicas: 0 according to cluster resource models
I1017 03:46:02.866420 1 general.go:77] cluster member2 has max available replicas: 0 according to cluster resource models
I1017 03:46:02.866432 1 general.go:77] cluster member3 has max available replicas: 0 according to cluster resource models
I1017 03:46:02.866441 1 util.go:82] Invoked MaxAvailableReplicas of estimator general-estimator for workload(apps/v1, kind=Deployment, default/nginx): [{member1 0} {member2 0} {member3 0}]
I1017 03:46:02.866457 1 util.go:102] Target cluster calculated by estimators (available cluster && maxAvailableReplicas): [{member1 0} {member2 0} {member3 0}]
I1017 03:46:02.866469 1 select_clusters.go:35] Select all clusters
I1017 03:46:02.869810 1 generic_scheduler.go:101] Selected clusters: [member1 member2 member3]
I1017 03:46:02.869845 1 generic_scheduler.go:107] Assigned Replicas: [{member1 1} {member2 1} {member3 1}]
I1017 03:46:02.869860 1 scheduler.go:524] ResourceBinding(default/nginx-deployment) scheduled to clusters [{member1 1} {member2 1} {member3 1}]
I1017 03:46:02.870145 1 scheduler.go:530] "End scheduling resource binding with ClusterAffinity" resourceBinding="default/nginx-deployment"
I1017 03:46:02.870166 1 scheduler.go:821] Begin to patch status condition to ResourceBinding(default/nginx-deployment)
I1017 03:46:02.870453 1 event.go:389] "Event occurred" object="default/nginx-deployment" fieldPath="" kind="ResourceBinding" apiVersion="work.karmada.io/v1alpha2" type="Normal" reason="ScheduleBindingSucceed" message="Binding has been scheduled successfully. Result: {member1:1, member2:1, member3:1}"
I1017 03:46:02.873545 1 event.go:389] "Event occurred" object="default/nginx" fieldPath="" kind="Deployment" apiVersion="apps/v1" type="Normal" reason="ScheduleBindingSucceed" message="Binding has been scheduled successfully. Result: {member1:1, member2:1, member3:1}" Pay attention to "cluster member1 has max available replicas: 0 according to cluster resource models", the final 3 replicas are equally weighted to the 3 clusters |
So, is there any line in previous doc should be modified? |
I'd say both the numerical examples and the part about choosing the cluster with the most nodes satisfying the request should be modified ("the cluster that can accommodate the most pod replicas" should be the right case) |
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
/approve
As discussed above, we can have the following PR to correct the mistakes.
@LavredisG Let me know if you'd like to help with that.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: RainbowMango 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 |
Opened #715 to track this. The cn doc will be updated after en doc. |
Just a short update: |
/kind documentation
Some parts were translated from the original Chinese text to be more accurate and
easier to understand for the reader.