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
Improve scheduler CLI description #88371
Conversation
Welcome @dharmab! |
Hi @dharmab. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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/test-infra repository. |
/assign @bsalamat |
/ok-to-test |
/sig docs |
/retest |
cmd/kube-scheduler/app/server.go
Outdated
The scheduler is a policy-rich, topology-aware, workload-specific function that | ||
significantly impacts availability, performance, and capacity. The scheduler | ||
needs to take into account individual and collective resource requirements, | ||
quality of service requirements, hardware/software/policy constraints, affinity | ||
and anti-affinity specifications, data locality, inter-workload interference, | ||
deadlines, and so on. Workload-specific requirements will be exposed through |
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.
Things I'd want readers to learn, instead of this:
- you can have more than one scheduler in your cluster (for high availability)
- you can have more than one scheduler in your cluster (if you deploy multiple, different schedulers, and configure things)
- kube-scheduler is part of the control plane
- kube-scheduler works by first filtering out nodes where the Pod can't possibly be placed, and then scoring what's left to find a good (good enough?) fit
- https://kubernetes.io/docs/concepts/configuration/scheduling-framework/ talks about the full cycle, but I'd not mention that
- kube-scheduler considers multiple constraints when scheduling, but I wouldn't list which ones (at least not 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.
I've updated this with a more substantial rewrite to incorporate these points while still being short enough to understand.
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
@sftim Thanks for the reviews, anything else needed to get this merged? |
/assign @Huang-Wei @k82cn /retest |
@zacharysarah The author has been asked to squash the two commits in the PR into a single commit by an approver: #88371 (comment) I assume when this is done, @Huang-Wei will approve the PR as an approver for this part of the code base. |
5839e15
to
c062b03
Compare
Thanks for looking at this @Huang-Wei and @zacharysarah . I've squashed the commits. |
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 |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dharmab, Huang-Wei 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 |
/retest |
@dharmab could you take a look at the CI failures? |
/hold |
c062b03
to
49bcf18
Compare
Rebasing to see if that resolves the CI failure |
/retest |
/lgtm |
/retest Review the full test history for this PR. Silence the bot with an |
1 similar comment
/retest Review the full test history for this PR. Silence the bot with an |
This looks like an unrelated failure. Can that test be ignored? |
/retest Review the full test history for this PR. Silence the bot with an |
/retest |
What type of PR is this?
/kind documentation
What this PR does / why we need it:
This PR adds a few explanatory sentences to the kube-scheduler CLI description (which is in turn used to generate the documentation website). To understand why this is needed, let's look at the first few lines of the documentation for other core CLI components from the perspective of a new user or contributor:
So far, not bad. Some of the descriptions are a little wordy, but in general from reading the first one or two sentences, a new user reading the docs has a basic idea of what each component does.
What about kube-scheduler?
This... is very confusing. A new user reading this doesn't learn what the scheduler actually does, just that it seems to do... something important?
I've copied a couple of sentences from https://kubernetes.io/docs/concepts/scheduling/kube-scheduler/#scheduling to clarify the documentation here.
I wonder if the entire paragraph quoted above is really entirely necessary? It reads like the opening paragraph of a requirements specification doc, not the quick help text most people expect from a CLI tool.
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: