-
Notifications
You must be signed in to change notification settings - Fork 14.2k
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
Document overprovisioning for node autoscaling #46635
base: main
Are you sure you want to change the base?
Conversation
✅ Pull request preview available for checkingBuilt without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify site configuration. |
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.
Thanks for the PR @afzal442.
Could you add the new page as a cluster administration task, rather than as a concept?
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.
This is explaining a task so I'd expect it to be inside http://k8s.io/docs/tasks/
1. **Create a Placeholder Deployment:** Create a Deployment of pods that run a minimal process, like a pause container. These pods should have very low priority (using Priority Classes in Kubernetes) to ensure they are preempted easily. | ||
|
||
2. **Adjust Resource Requests and Limits:** Configure the placeholder pods' resource requests and limits to define the amount of overprovisioned resources you want to maintain. For example, requesting a small amount of CPU and memory will reserve those resources without consuming them fully. | ||
|
||
3. **Set the Desired Replica Count:** Determine the number of placeholder pods you need to create to achieve your desired level of overprovisioning. You can start with a small number and gradually increase it to find the right balance between resource reservation and cost. |
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.
You should document how to perform each of these steps.
|
||
## How Node Overprovisioning Works | ||
|
||
The most common way to implement node overprovisioning is to use a _placeholder_ deployment running pods with very low priority and a minimal resource footprint. These pods consume resources that could otherwise be used by regular application pods. However, due to their low priority, they are easily preempted _evicted_ when higher-priority pods need those resources. |
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.
The most common way to implement node overprovisioning is to use a _placeholder_ deployment running pods with very low priority and a minimal resource footprint. These pods consume resources that could otherwise be used by regular application pods. However, due to their low priority, they are easily preempted _evicted_ when higher-priority pods need those resources. | |
The most common way to implement node overprovisioning is to use a _placeholder_ deployment running pods with very low priority and a minimal resource footprint. These pods consume resources that could otherwise be used by regular application pods. However, due to their low priority, they are easily preempted (evicted) when higher-priority pods need those resources. |
- Fixed redundant space.
- Corrected the grammar: Regardless of whether you italicized one, using "preempted" and "evicted" right next to each other without parenthesis is wrong because an eviction occurs when a preemption logic is triggered. The previous sentence assumes that each word is a different action.
/hold I want to emphasize the points in #46635 (review) OK to unhold once this PR is adding task documentation. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
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.
Thanks, but:
- you haven't yet documented the steps for the task
- you should list any prerequisites, as task pages typically do
- (less important)
we'd also like you to follow our https://kubernetes.io/docs/contribute/style/style-guide/
@@ -115,3 +115,4 @@ in the cluster. | |||
## {{% heading "whatsnext" %}} | |||
|
|||
- Read about [workload-level autoscaling](/docs/concepts/workloads/autoscaling/) | |||
- Read about [node overprovisioning](/docs/concepts/cluster-administration/node-overprovisioning/) |
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.
- Read about [node overprovisioning](/docs/concepts/cluster-administration/node-overprovisioning/) | |
- Read about [node overprovisioning](/docs/tasks/cluster-administration/node-overprovisioning/) | |
- ``` |
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.
Please move this to the cluster adminstration section.
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.
This should be in the cluster adminstration section.
## Create a Placeholder Deployment | ||
|
||
Create a Deployment of pods that run a minimal process, like a pause container. These pods should have very low priority (using Priority Classes in Kubernetes) to ensure they are preempted easily. | ||
|
||
## Adjust Resource Requests and Limits | ||
|
||
Configure the placeholder pods' resource requests and limits to define the amount of overprovisioned resources you want to maintain. For example, requesting a small amount of CPU and memory will reserve those resources without consuming them fully. | ||
|
||
## Set the Desired Replica Count | ||
|
||
Determine the number of placeholder pods you need to create to achieve your desired level of overprovisioning. You can start with a small number and gradually increase it to find the right balance between resource reservation and cost. |
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.
Thank you. There is far too little detail here for us to be able to accept this documentation. Please write a page that explains what someone must do, and details what they need to know in order to perform each step.
/hold cancel |
|
||
## How Node Overprovisioning Works | ||
|
||
The most common way to implement node overprovisioning is to use a _placeholder_ deployment running pods with very low priority and a minimal resource footprint. These pods consume resources that could otherwise be used by regular application pods. However, due to their low priority, they are easily preempted (evicted) when higher-priority pods need those resources. |
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.
Please wrap the lines and also brief up the content as per requirement
Fixes: #45850