Skip to content
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

Validate K8s 1.27 in-place Pod spec.resources update alpha feature #344

Open
jonathan-innis opened this issue May 19, 2023 · 3 comments
Open
Assignees
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature. scheduling v1.x Issues prioritized for post-1.0

Comments

@jonathan-innis
Copy link
Member

Tell us about your request

Karpenter currently does tracking of resources requests, specifically in the context of understanding how many resources have been consumed on the inflight or real node and how many resources remain.

K8s 1.27 introduces an alpha feature that enables users to make in-place updates to pod resource requests. Alongside this change, since the spec.resources is now mutable after creation, the Pod introduces a new status.allocatedResources field which indicates the resources that are currently allocated to the pod. The fields spec.resources and status.allocatedResources should always match unless the field has recently changed and the pod is in a transient state.

Since we do inflight and real tracking of node requests (as well as scheduling simulations that rely on these requests), we should validate if our handling of requests currently is still valid with this new semantic.

Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?

N/A

Are you currently working around this issue?

N/A

Additional Context

No response

Attachments

No response

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment
@jonathan-innis jonathan-innis added scheduling kind/feature Categorizes issue or PR as related to a new feature. labels May 19, 2023
@jonathan-innis jonathan-innis changed the title Validate new K8s in-place resource update feature Validate new K8s in-place Pod spec.resources update feature May 19, 2023
@jonathan-innis jonathan-innis changed the title Validate new K8s in-place Pod spec.resources update feature Validate K8s 1.27 alpha in-place Pod spec.resources update feature May 19, 2023
@jonathan-innis jonathan-innis changed the title Validate K8s 1.27 alpha in-place Pod spec.resources update feature Validate K8s 1.27 in-place Pod spec.resources update alpha feature May 19, 2023
@tzneal
Copy link
Contributor

tzneal commented May 24, 2023

We should use the PodRequests function at https://github.com/kubernetes/kubernetes/blob/7024beeeeb1f2e4cde93805a137cd7ad92fec466/pkg/api/v1/resource/helpers.go#L50 to calculate requests. This should work for Karpenter for both this feature and sidecar containers.

@jonathan-innis jonathan-innis added the v1.x Issues prioritized for post-1.0 label Aug 20, 2023
@njtran njtran added v1 Issues requiring resolution by the v1 milestone and removed v1.x Issues prioritized for post-1.0 labels Nov 1, 2023
@jonathan-innis jonathan-innis added the help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. label Nov 25, 2023
@Bryce-Soghigian
Copy link
Member

/assign Bryce-Soghigian

@Bryce-Soghigian
Copy link
Member

Figured I would mention this here, It was brought to my attention that this feature will remain in Alpha for 1.30 upstream.

The InPlaceVerticalAutoscaling feature has been dropped by the primary maintainer, and Node Sig is mentioning it needs to be completely re-worked due to a host of bugs in how kubelet percieves state with this new model.

See the following issue to monitor the progress:
kubernetes/kubernetes#116971

@njtran njtran added v1.x Issues prioritized for post-1.0 and removed v1 Issues requiring resolution by the v1 milestone labels Aug 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/feature Categorizes issue or PR as related to a new feature. scheduling v1.x Issues prioritized for post-1.0
Projects
None yet
Development

No branches or pull requests

4 participants