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
Node memory swap support #2400
Comments
/stage alpha |
Greetings @ehashman!
Thanks! |
All of this is covered in #2602 |
Greetings @ehashman! Thanks! |
Work breakdown for 1.22
External to k8s but still need to happen:
Once the above CRI updates happen, ensure that CI environment is using latest container runtimes with updated CRI. |
Greetings @ehashman , |
Greetings @ehashman,
Thanks! |
PR just merged. Docs placeholder is kubernetes/website#28838 |
Awesome! Thanks for the update. Moving this to "Tracked". |
We are good to go for 1.22! Docs complete. |
/milestone v1.23 |
/stage beta |
/label lead-opted-in |
I my understanding this is currently the case. However, in practice that is where eviction kicks in so that value stays around the eviction threshold. If you look at our nodes you will see that they are in fact only using around 50% of their available RAM (and bunch of swap) but We are currently investigating with |
Hey all. The issues can be tracked here:
From now on I plan to keep them organized and up-to-date. |
OCI runtime spec defines memory.swap as 'limit of memory+Swap usage' so setting them to equal should disable the swap. Also, this change should make containerd behaviour same as other runtimes e.g 'cri-dockerd/dockershim' and won't be impacted when user turn on 'NodeSwap' (kubernetes/enhancements#2400) feature. Signed-off-by: Qasim Sarfraz <qasimsarfraz@microsoft.com>
Hello @ehashman 👋, v1.29 Enhancements team here. Just checking in as we approach enhancements freeze on 01:00 UTC, Friday, 6th October, 2023. This enhancement is targeting for stage Here's where this enhancement currently stands:
For this KEP, we would just need to update the following:
The status of this enhancement is marked as |
@iholder101 do you think this feature needs to be tracked by the release team in v1.29 release cycle?
|
Is this planning to move to stable in 1.29? |
no. We have critical issues with evction with the current implementation and we haven't even enabled it on by default. We will try to fix the eviction problem in 1.29 and see if there is a demand for more APIs. |
Hi @ehashman checking in once more as we approach the 1.29 enhancement freeze deadline on 01:00 UTC, Friday, 6th October, 2023. The status of this enhancement is marked as |
I created #4275 to bump swap to beta2 in 1.29 |
As the PR #4275 is merged and latest-milestone has been updated, marking this as |
Hello @iholder101 @pacoxu @ehashman @SergeyKanzhelev 👋, v1.29 Docs Shadow here. |
Ack. Thanks. |
Hi @harche @iholder101 @pacoxu @ehashman @SergeyKanzhelev! The deadline to open a placeholder PR against |
@drewhagen I have created a placehold PR here - kubernetes/website#43571 |
We ran this setting in production for a while and it seems to perform well. We do not use swap as workload memory currently (i.e. pods reserve actual RAM for their workload instead of a mixture of swap and memory). However, this helps a lot with preventing evictions. Our clusters are almost free of evictions which is really great. It also allows us to use vertical pod autoscaler (VPA) for memory in more cases as pods might temporarily use more memory without fear of instant eviction (which we had previously on tightly packed clusters). So overall this seems to allow us to pack even tighter and get our average memory usage from 20-30% to 50-60% which is a roughly 50% cost reduction. As a downside we see a lot more instances of random probe failures (similar to kubernetes/kubernetes#89898). This seems to be caused by better packing and higher CPU load. We generally see high load (i.e. 50+) but not necessarily cpu usage. So this might be connected with swap in/out of memory. Guess since kubelet has a general issues around probe timeout/slowness this is something which is kind of expected when you pack tighter. As a workaround we use a mutating webhook to patch all |
Hey again @ehashman @pacoxu @SergeyKanzhelev 👋, 1.29 Enhancements team here, Just checking in as we approach code freeze at 01:00 UTC Wednesday 1st November 2023: . Here's where this enhancement currently stands:
The status of this KEP is currently Also, please let me know if there are other PRs in k/k we should be tracking for this KEP. As always, we are here to help if any questions come up. ✌️ Thanks! |
Hi @ehashman @pacoxu @SergeyKanzhelev ! 👋 from the v1.29 Release Team-Communications! We would like to check if you have any plans to publish a blog for this KEP regarding new features, removals, and deprecations for this release. If so, you need to open a PR placeholder in the website repository. |
I am afraid, due to pending issues we won't be able to graduate swap to beta2 in 1.29. |
Hello @ehashman @pacoxu @SergeyKanzhelev 👋 1.29 Enhancements lead here, Unfortunately, the implementation (code related) PR(s) associated with this enhancement is not in the merge-ready state by code-freeze and hence this enhancement is now removed from the 1.29 milestone. If you still wish to progress this enhancement in 1.29, please file an exception request. Thanks! /milestone clear |
Enhancement Description
k/enhancements
) update PR(s): Node system swap support #2602k/k
) update PR(s):k/website
) update PR(s): KEP-2400: Alpha node support for swap memory website#28838k/enhancements
) update PR(s):k/k
) update PR(s):/stats/summary
and/metrics/resource
/stats/summary
and/metrics/resource
) kubernetes#118865/stats/summary
and/metrics/resource
) kubernetes#118865k/website
) update(s):Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.
/sig node
The text was updated successfully, but these errors were encountered: