-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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 In-Place Pod Resize docs for v1.32 #48503
Conversation
👷 Deploy Preview for kubernetes-io-vnext-staging processing.
|
✅ Pull request preview available for checkingBuilt without sensitive environment variables
To edit notification comments on pull requests, go to your Netlify site configuration. |
Hello @tallclair 👋 please take a look at Documenting for a release - PR Ready for Review to get your PR ready for review before Tuesday November 19th 2024 18:00 PST. Thank you! |
I will get this sent out today. |
/sig node |
content/en/docs/tasks/configure-pod-container/resize-container-resources.md
Outdated
Show resolved
Hide resolved
content/en/docs/tasks/configure-pod-container/resize-container-resources.md
Show resolved
Hide resolved
/hold |
Hi @tallclair as we approach docs freeze tomorrow, are you able to make this change? Docs freeze is tomorrow at 18:00 PDT. |
this KEP was pulled back to alpha state, @tallclair do you plan on updating 1.32 docs with what changed in alpha? |
The only thing that needs to change in this is reverting the feature state change. Everything else should be accurate. I won't be able to fix this until tomorrow though. If anyone wants to fork the pr that works be helpful, otherwise I'll need an exception to get to it tomorrow |
...n/docs/reference/command-line-tools-reference/feature-gates/in-place-pod-vertical-scaling.md
Outdated
Show resolved
Hide resolved
How's this? |
LGTM, I'm fine with this or #48857 |
/lgtm |
LGTM label has been added. Git tree hash: 739291fa7b5d4d9f1d0d1ba5309f53d95f278b1e
|
Changes lgtm. Thank you @sftim for helping with this! |
/lgtm from SIG docs |
@@ -24,26 +24,33 @@ to be enabled. The alternative is to delete the Pod and let the | |||
[workload controller](/docs/concepts/workloads/controllers/) make a replacement Pod | |||
that has a different resource requirement. | |||
|
|||
A resize request is made through the pod `/resize` subresource, which takes the full updated pod for |
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.
nit: use Pod, not pod throughout this diff.
@@ -107,6 +114,21 @@ have changed, the container will be restarted in order to resize its memory. | |||
|
|||
<!-- steps --> | |||
|
|||
## Limitations |
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 belongs further up. Make this either a subheading of the prerequisites heading or a main heading before the prerequisites heading.
@@ -24,26 +24,33 @@ to be enabled. The alternative is to delete the Pod and let the | |||
[workload controller](/docs/concepts/workloads/controllers/) make a replacement Pod | |||
that has a different resource requirement. | |||
|
|||
A resize request is made through the pod `/resize` subresource, which takes the full updated pod for | |||
an update request, or a patch on the pod object for a patch request. |
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.
an update request, or a patch on the pod object for a patch request. | |
an update request, or a patch on the `Pod` object for a patch request. |
- The `resources` field in `containerStatuses` of the Pod's status reflects the resources | ||
_allocated_ to the pod's containers. For running containers, this reflects the actual resource | ||
`requests` and `limits` that are configured as reported by the container runtime. For non-running | ||
containers, these are the resources allocated for the container when it starts. |
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 `resources` field in `containerStatuses` of the Pod's status reflects the resources | |
_allocated_ to the pod's containers. For running containers, this reflects the actual resource | |
`requests` and `limits` that are configured as reported by the container runtime. For non-running | |
containers, these are the resources allocated for the container when it starts. | |
- The `containerStatuses.resources` field in the Pod `status` field reflects the resources | |
that are _allocated_ to the Pod's containers. For running containers, these are the actual values | |
of `requests` and `limits`, as reported by the container runtime. For non-running containers, | |
these are the resources that are allocated for when the container starts. |
- `Proposed`: This value indicates that a pod was resized, but the Kubelet has not yet processed | ||
the resize. |
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.
- `Proposed`: This value indicates that a pod was resized, but the Kubelet has not yet processed | |
the resize. | |
- `Proposed`: this value indicates that a Pod resize request was received, but the | |
kubelet has not yet processed the resize. |
If a node has pods with an incomplete resize, the scheduler will compute the pod requests from the | ||
maximum of a container's desired resource requests, and it's actual requests reported in the status. |
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.
If a node has pods with an incomplete resize, the scheduler will compute the pod requests from the | |
maximum of a container's desired resource requests, and it's actual requests reported in the status. | |
If a node has Pods with an incomplete resize, the scheduler uses the largest of the following values to | |
calculate the Pod requests: | |
* The desired resource requests for all containers in the Pod, as specified in the | |
`spec.containers.resources.requests` field. | |
* The actual resource requests for all containers in the Pod, as reported in the | |
`spec.status.containerStatuses.resources.requests` field. |
@@ -107,6 +114,21 @@ have changed, the container will be restarted in order to resize its memory. | |||
|
|||
<!-- steps --> | |||
|
|||
## Limitations | |||
|
|||
In-place resize of pod resources currently has the following limitations: |
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.
In-place resize of pod resources currently has the following limitations: | |
In-place resize of Pod resources has the following limitations: |
- Pod QoS Class cannot change. This means that requests must continue to equal limits for Guaranteed | ||
pods, Burstable pods cannot set requests and limits to be equal for both CPU & memory, and you | ||
cannot add resource requirements to Best Effort pods. |
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.
- Pod QoS Class cannot change. This means that requests must continue to equal limits for Guaranteed | |
pods, Burstable pods cannot set requests and limits to be equal for both CPU & memory, and you | |
cannot add resource requirements to Best Effort pods. | |
- The Pod QoS Class cannot change. The following considerations continue to apply: | |
- Guaranteed QoS Pods: requests must be equal to limits. | |
- Burstable QoS Pods: requests can't be equal to limits for both CPU and memory | |
- Best Effort QoS Pods: you can't set resource requirements |
- Pod QoS Class cannot change. This means that requests must continue to equal limits for Guaranteed | ||
pods, Burstable pods cannot set requests and limits to be equal for both CPU & memory, and you | ||
cannot add resource requirements to Best Effort pods. | ||
- Init containers and Ephemeral Containers cannot be resized. |
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.
- Init containers and Ephemeral Containers cannot be resized. | |
- Init containers and ephemeral containers cannot be resized. |
- A container's memory limit may not be reduced below its usage. If a request puts a container in | ||
this state, the resize status will remain in `InProgress` until the desired memory limit becomes | ||
feasible. |
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.
- A container's memory limit may not be reduced below its usage. If a request puts a container in | |
this state, the resize status will remain in `InProgress` until the desired memory limit becomes | |
feasible. | |
- A container's memory limit can't be reduced below the memory usage. If a request puts a | |
container in this state, the resize will remain in the `InProgress` state until the desired | |
memory limit becomes feasible. |
@tallclair while I'd really like to see some of the editorial changes implemented before you submit, they aren't blocking, so I'm LGTMing as-is /lgtm |
Docs and Technical LGTM noted. In the interest of time we'll approve these changes as is. /approve |
The changes suggested by @shannonxtreme can be addressed in a follow-up PR |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: chanieljdan, reylejano 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 |
It looks like the hold can now be lifted. @tallclair |
/retitle Update In-Place Pod Resize docs for v1.32 |
Seems OK to unhold If that's wrong, we can revert the change. |
nit cleanup PRs welcome! |
Description
Update the in-place pod resize documentation for
beta inv1.32.Issue
For kubernetes/enhancements#1287
Fixes #48534