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

Node memory swap support #2400

Open
54 of 69 tasks
ehashman opened this issue Feb 1, 2021 · 181 comments
Open
54 of 69 tasks

Node memory swap support #2400

ehashman opened this issue Feb 1, 2021 · 181 comments
Assignees
Labels
lead-opted-in Denotes that an issue has been opted in to a release sig/node Categorizes an issue or PR as relevant to SIG Node. stage/beta Denotes an issue tracking an enhancement targeted for Beta status tracked/yes Denotes an enhancement issue is actively being tracked by the Release Team
Milestone

Comments

@ehashman
Copy link
Member

ehashman commented Feb 1, 2021

Enhancement Description

Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.

/sig node

@k8s-ci-robot k8s-ci-robot added the sig/node Categorizes an issue or PR as relevant to SIG Node. label Feb 1, 2021
@karan
Copy link

karan commented Feb 9, 2021

@cookieisaac

@ehashman
Copy link
Member Author

/stage alpha
/milestone v1.22

@k8s-ci-robot k8s-ci-robot added the stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status label Apr 28, 2021
@k8s-ci-robot k8s-ci-robot added this to the v1.22 milestone Apr 28, 2021
@JamesLaverack JamesLaverack added the tracked/yes Denotes an enhancement issue is actively being tracked by the Release Team label Apr 29, 2021
@ehashman ehashman self-assigned this May 10, 2021
@jrsapi
Copy link

jrsapi commented May 11, 2021

Greetings @ehashman!
Enhancement shadow checking in with a few reminders. 1.22 Enhancements Freeze starts at 23:59:59 pst on Thursday, May 13. A few items needing review for this KEP:

Thanks!

@ehashman
Copy link
Member Author

All of this is covered in #2602

@jrsapi
Copy link

jrsapi commented May 13, 2021

Greetings @ehashman!
Thanks for the follow-up. After reviewing the KEP and PRR everything looks on target. The enhancement is marked at risk but once merged we can move its status to tracked. A reminder that tomorrow 5/13 the Enhancement freeze starts at 23:59:59 PST.

Thanks!

@ehashman
Copy link
Member Author

Work breakdown for 1.22

  • Documentation for enabling swap (TBD - @ehashman?)
  • CI environment/test updates (@ike-ma)
    • Build images with swap for 2 Linux distros
    • Add jobs to test-infra that use the images and enable the swap feature flag/kubelet option for node e2e suite
    • See also Test Plan
  • CRI and kubelet changes (@ehashman)
    • Complete API changes per KEP
    • Add e2e tests as appropriate

External to k8s but still need to happen:

  • Containerd update to use new CRI
  • CRI-O update to use new CRI

Once the above CRI updates happen, ensure that CI environment is using latest container runtimes with updated CRI.

@jrsapi
Copy link

jrsapi commented Jun 24, 2021

Greetings @ehashman ,
Enhancement shadow checking with a reminder that we are 2 weeks away from code freeze (July 8, 2021). Can you like the k/k PR/s that are needed to implement this enhancement for the 1.22 milestone?

@jrsapi
Copy link

jrsapi commented Jul 6, 2021

Greetings @ehashman,
A friendly reminder that code freeze is this Thursday, July 8th and we're tracking the following k/k PR:

Thanks!

@ehashman
Copy link
Member Author

ehashman commented Jul 7, 2021

PR just merged. Docs placeholder is kubernetes/website#28838

@jrsapi
Copy link

jrsapi commented Jul 7, 2021

Awesome! Thanks for the update. Moving this to "Tracked".

@ehashman
Copy link
Member Author

We are good to go for 1.22! Docs complete.

@ehashman
Copy link
Member Author

/milestone v1.23

@k8s-ci-robot k8s-ci-robot modified the milestones: v1.22, v1.23 Aug 12, 2021
@ehashman
Copy link
Member Author

/stage beta

@k8s-ci-robot k8s-ci-robot added stage/beta Denotes an issue tracking an enhancement targeted for Beta status and removed stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status labels Aug 12, 2021
@dipesh-rawat
Copy link
Member

dipesh-rawat commented Feb 2, 2025

Hello @iholder101 @kannon92 @pacoxu 👋, v1.33 Enhancements team here.

Just checking in as we approach enhancements freeze on 02:00 UTC Friday 14th February 2025 / 19:00 PDT Thursday 13th February 2025.

This enhancement is targeting stage beta for v1.33 (correct me, if otherwise)

Here's where this enhancement currently stands:

  • KEP readme using the latest template has been merged into the k/enhancements repo.
  • KEP status is marked as implementable for latest-milestone: v1.33.
  • KEP readme has up-to-date graduation criteria
  • KEP has a production readiness review that has been completed and merged into k/enhancements. (For more information on the PRR process, check here). If your production readiness review is not completed yet, please make sure to fill the production readiness questionnaire in your KEP by the PRR Freeze deadline on Thursday 6th February 2025 so that the PRR team has enough time to review your KEP.

For this KEP, we would need to update the following:

  • Please ensure the KEP readme using the latest template and merge it in the k/enhancements repo. Currently, I’ve noticed the following discrepancies compared to the latest template:

  • Update the KEP README to include graduation criteria (here) for the Beta 3 stage based on Node memory swap support #2400 (comment).

  • Update the kep.yaml to reflect the following:

    • Add latest-milestone: v1.33.
    • Specify beta: "v1.33"
  • Also, please make sure to update the issue description with the correct stages and PRs. This will assist the release team in tracking progress more effectively.

The status of this enhancement is marked as At risk for enhancements freeze. Please keep the issue description up-to-date with appropriate stages as well.

If you anticipate missing enhancements freeze, you can file an exception request in advance. Thank you!

@dipesh-rawat dipesh-rawat moved this to At risk for enhancements freeze in 1.33 Enhancements Tracking Feb 2, 2025
@dipesh-rawat
Copy link
Member

Hi @iholder101 @kannon92 @pacoxu 👋, 1.33 Enhancements team here,

Just a quick friendly reminder as we approach the enhancements freeze later this week, at 02:00 UTC Friday 14th February 2025 / 19:00 PDT Thursday 13th February 2025.

The current status of this enhancement is marked as At risk for enhancement freeze. There are a few requirements mentioned in the comment #2400 (comment) that still need to be completed.

If you anticipate missing enhancements freeze, you can file an exception request in advance. Thank you!

@dipesh-rawat
Copy link
Member

Hello @iholder101 @kannon92 @pacoxu 👋, v1.33 Enhancements team here.

Unfortunately, this enhancement did not meet requirements for enhancements freeze.

If you still wish to progress this enhancement in v1.33, please file an exception request as soon as possible, within three days. If you have any questions, you can reach out in the #release-enhancements channel on Slack and we'll be happy to help. Thanks!

Missing section from the KEP README

/milestone clear

@k8s-ci-robot k8s-ci-robot removed this from the v1.33 milestone Feb 14, 2025
@dipesh-rawat dipesh-rawat moved this from At risk for enhancements freeze to Removed from Milestone in 1.33 Enhancements Tracking Feb 14, 2025
@haircommander
Copy link
Contributor

It looks like the update PR merged @dipesh-rawat are we missing anything here?

@dipesh-rawat
Copy link
Member

@haircommander The KEP README has few checklist items missing under the 'Release Signoff Checklist' section based on the latest template (here).

  - [ ] e2e Tests for all Beta API Operations (endpoints)
  - [ ] (R) Ensure GA e2e tests meet requirements for [Conformance Tests](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/conformance-tests.md) 
  - [ ] (R) Minimum Two Week Window for GA e2e tests to prove flake free

@haircommander
Copy link
Contributor

thanks @dipesh-rawat we missed that. I opened #5174 and filed an extension. if that merges, will this KEP be tracked?

@dipesh-rawat
Copy link
Member

@haircommander Thanks a lot for raising the PR #5174 promptly to fix the outstanding issue. Yes, since the exception request is approved, once the PR #5174 is merged, we can add this to the milestone and track it for the 1.33 release.

@haircommander haircommander moved this from Considered for release to Tracked in SIG Node 1.33 KEPs planning Feb 17, 2025
@haircommander
Copy link
Contributor

@dipesh-rawat PR merged, all set here?

@dipesh-rawat
Copy link
Member

@haircommander (and @iholder101 @kannon92 @pacoxu) Now that PRs #5174 has been merged, all the KEP requirements are in place and merged into k/enhancements, this enhancement is all good for the upcoming enhancements freeze. 🚀

The status of this enhancement is marked as tracked for enhancement freeze. Please keep the issue description up-to-date with appropriate stages as well. Thank you!

/milestone v1.33
/label tracked/yes

@k8s-ci-robot k8s-ci-robot added the tracked/yes Denotes an enhancement issue is actively being tracked by the Release Team label Feb 17, 2025
@k8s-ci-robot k8s-ci-robot added this to the v1.33 milestone Feb 17, 2025
@dipesh-rawat dipesh-rawat moved this from Removed from Milestone to Tracked for enhancements freeze in 1.33 Enhancements Tracking Feb 17, 2025
@ArvindParekh
Copy link
Member

Hello, @iholder101 @kannon92 @haircommander @pacoxu 👋, v1.33 Docs Shadow here.

Does this enhancement work planned for v1.33 require any new docs or modifications to existing docs?

If so, please follow the steps here to open a PR against the dev-1.33 branch in the k/website repo. This PR can be just a placeholder at this time and must be created before Thursday 27th February 2025 18:00 PDT.

Also, take a look at Documenting for a release to get yourself familiarized with the docs requirement for the release.

Thank you!

@rayandas
Copy link
Member

Hi @iholder101 @kannon92 @haircommander @pacoxu 👋 v1.33 Docs Lead here.

Gentle reminder! The deadline to raise a placeholder Docs PR is Thursday 27th February 2025 18:00 PDT.
If this enhancement work requires any new docs or modification to existing docs, please create a placeholder PR (it can be a draft PR for now) before the deadline.

Thanks!

@haircommander
Copy link
Contributor

sorry for the delay, I've opened kubernetes/website#49945

@rayandas
Copy link
Member

Thanks @haircommander

@aibarbetta
Copy link
Member

Hi @iholder101 @kannon92 @pacoxu @haircommander 👋 -- this is Agustina (@aibarbetta) from the 1.33 Communications Team!

For the 1.33 release, we are currently in the process of collecting and curating a list of potential feature blogs, and we'd love for you to consider writing one for your enhancement!

As you may be aware, feature blogs are a great way to communicate to users about features which fall into (but not limited to) the following categories:

  • This introduces some breaking change(s)
  • This has significant impacts and/or implications to users
  • ...Or this is a long-awaited feature, which would go a long way to cover the journey more in detail 🎉

To opt in to write a feature blog, could you please let us know and open a "Feature Blog placeholder PR" (which can be only a skeleton at first) against the website repository by Wednesday, 5th March, 2025? For more information about writing a blog, please find the blog contribution guidelines 📚

Tip

Some timeline to keep in mind:

  • 02:00 UTC Wednesday, 5th March, 2025: Feature blog PR freeze
  • Monday, 7th April, 2025: Feature blogs ready for review
  • You can find more in the release document

Note

In your placeholder PR, use XX characters for the blog date in the front matter and file name. We will work with you on updating the PR with the publication date once we have a final number of feature blogs for this release.

@dipesh-rawat
Copy link
Member

Hey again @iholder101 @kannon92 @pacoxu 👋, 1.33 Enhancements team here,

Just checking in as we approach code freeze at 02:00 UTC Friday 21st March 2025 / 19:00 PDT Thursday 20th March 2025. .

Here's where this enhancement currently stands:

  • All PRs to the Kubernetes repo that are related to your enhancement are linked in the above issue description (for tracking purposes).
  • All PRs are ready to be merged (they have approved and lgtm labels applied) by the code freeze deadline. This includes tests.

For this enhancement, it looks like the following PRs need to be merged before code freeze (and we need to update the Issue description to include all the related PRs of this KEP):

Additionally, please let me know if there are any other PRs in k/k not listed above that we should track for this KEP, so that we can maintain accurate status.

If you anticipate missing code freeze, you can file an exception request in advance.

The status of this enhancement is marked as at risk for code freeze.

@dipesh-rawat dipesh-rawat moved this from Tracked for enhancements freeze to At risk for code freeze in 1.33 Enhancements Tracking Feb 28, 2025
@aibarbetta
Copy link
Member

Hi @iholder101 @kannon92 @pacoxu 👋, 1.33 Communications Team here again!

This is a gentle reminder for the feature blog deadline mentioned above, which is 02:00 UTC Wednesday, 5th March, 2025. I see a blog was written when this feature was in beta, has anything changed? would you like to write about it? To opt in, please let us know and open a Feature Blog placeholder PR against k/website by the deadline. If you have any questions, please feel free to reach out to us!

Tip

Some timeline to keep in mind:

  • 02:00 UTC Wednesday, 5th March, 2025: Feature blog PR freeze
  • Monday, 7th April, 2025: Feature blogs ready for review
  • You can find more in the release document

Note

In your placeholder PR, use XX characters for the blog date in the front matter and file name. We will work with you on updating the PR with the publication date once we have a final number of feature blogs for this release.

@sathieu
Copy link

sathieu commented Mar 5, 2025

Hello,

The docs reads:

When the memory swap feature is turned on, Kubernetes data such as the content of Secret objects that were written to tmpfs now could be swapped to disk.

Will this limitation be removed in the future? (using mlockall or other)

@jabdoa2
Copy link

jabdoa2 commented Mar 5, 2025

Hello,

The docs reads:

When the memory swap feature is turned on, Kubernetes data such as the content of Secret objects that were written to tmpfs now could be swapped to disk.

Will this limitation be removed in the future? (using mlockall or other)

This is how tmpfs works inside the Linux kernel. If you really don't want tmpfs to swap you could use ramfs instead but I personally would not recommend that. If you are worried about somebody steeling your swap disk you might want to enable encrypted swap instead. I guess those are underlying things in Linux. Swap behaviour of tmpfs is not a Kubernetes thing - this is the default Linux behaviour which we just did not have due to disabled swap.

@iholder101
Copy link
Contributor

Hello,

The docs reads:

When the memory swap feature is turned on, Kubernetes data such as the content of Secret objects that were written to tmpfs now could be swapped to disk.

Will this limitation be removed in the future? (using mlockall or other)

Hey @sathieu!
In order to solve this problem, kubelet will mount the tmpfs volumes with the noswap option.
This option is fairly new. The upstream Linux kernel supports it from version >= 6.3, but many distros backported the option to much older versions. Most probably, if you're node's kernel is updated, you won't be affected by this problem.

For more info, see implementation here: kubernetes/kubernetes#124060.
And blog-post (that will be released very soon) here: https://github.com/kubernetes/website/pull/48099/files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lead-opted-in Denotes that an issue has been opted in to a release sig/node Categorizes an issue or PR as relevant to SIG Node. stage/beta Denotes an issue tracking an enhancement targeted for Beta status tracked/yes Denotes an enhancement issue is actively being tracked by the Release Team
Projects
Status: Major Change
Status: Removed From Milestone
Status: Tracked
Status: Removed from Milestone
Status: Tracked for Doc Freeze
Status: At risk for code freeze
Status: Tracked
Status: Deferred
Status: Removed from Milestone
Status: Removed
Development

No branches or pull requests