-
Notifications
You must be signed in to change notification settings - Fork 1.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
kubelet image GC after a maximum age #4210
Comments
/sig node |
/stage alpha |
cc/ @bsdnet to help reviewing. |
Hello @haircommander 👋, 1.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:
It looks like https://github.com/kubernetes/enhancements/pull/4211/files will address most of these issues when it merges in! The status of this enhancement is marked as |
/assign @haircommander |
Hi @haircommander, just checking in once more as we approach the 1.29 enhancement freeze deadline this week on 01:00 UTC, Friday, 6th October, 2023. The status of this enhancement is marked as It looks like #4211 will address most of the requirements when it merges. Let me know if I missed anything. Thanks! |
With KEP PR #4211 approved, the enhancement is ready for the enhancements freeze. The status is now marked as |
Hey there @haircommander! 👋, v1.29 Docs Lead here. |
containerd/containerd#9022 adds support for image expiration in GC, which is a similar concept. But this is a containerd v2.0 feature. |
Hi again @haircommander! The deadline to open a placeholder PR against k/website for required documentation is this Thursday, 19 October. Could you please update me on the status of docs for this enhancement? Thank you! |
thanks for the reminder @katcosgrove I've opened the draft here kubernetes/website#43544 |
Hey again @haircommander 👋 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:
This KEP is currently marked as Also, please let me know if there are other PRs in k/k we should be tracking for this KEP. |
@haircommander can you update this issue with the relevant PRs for alpha? kubernetes/kubernetes#121275 should be added to this description. #4211 is another that should be added. |
Hi @haircommander, 👋 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. |
Thanks for updating the issue description. This is now |
Hi @haircommander , 👋 from the v1.30 Communications Team! We'd love for you to opt in to write a feature blog about your enhancement! We encourage blogs for features including, but not limited to: breaking changes, features and changes important to our users, and features that have been in progress for a long time and are graduating. To opt in, you need to open a Feature Blog placeholder PR against the website repository. |
Hey again @haircommander 👋 Enhancements team here, Just checking in as we approach code freeze at 02:00 UTC Wednesday 6th March 2024 . Here's where this enhancement currently stands:
Also, please let me know if there are other PRs in k/k we should be tracking for this KEP. |
I was initially confused by the
It might be better to rename the flag to |
Hi @haircommander 👋, 1.31 Enhancements Lead here. If you wish to progress this enhancement in v1.31, please have the SIG lead opt-in your enhancement by adding the lead-opted-in label and set the milestone to v1.31 before the Production Readiness Review Freeze. /remove-label lead-opted-in |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
I think we should have more uses before we push for GA. I'm bumping this from the SIG node KEP planning for this release |
As discussed at the meeting today, maybe the lack of adoption indicates the design issue. Perhaps this needs to be re-visited to collect concerns why this is not being enabled. Perhaps more knobs or smartness is needed here and one setting for all images is not working very well. |
I think at this point it's mostly a testing/data gap (at least speaking for Openshift) |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues. This bot triages un-triaged issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
/remove-lifecycle rotten
what testing do you mean? Something we should do upstream or production testing? |
I think the difficulty with testing this feature is for it to materially be useful, we'd need to set the age longer than most CI clusters run (so images that are intermittently used don't thrash). Finding that threshold is difficult without testing, testing is difficult without knowing the threshold and putting it in production where the clusters live longer |
This is what I meant before on maybe this means that we do not have enough config options to make it "safe" to enable. At least this is the case in our discussions on how we can offer this feature on GKE. Autoscaler may decide to re-use the node after it was not used over the weekend. So even 48 hours is not "safe" assumption on a high enough threshold. One direction to go is to allow more granular configuration on what falls under this policy and what is not. Another direction is to avoid re-deleting an image that was re-pulled at least once after the first age-based deletion. Maybe there are more ideas. If this is used in some prod environments, I would be interested to know what setting was used and whether cluster uses autoscaler, etc. |
FWIW my initial thoughts on a default value is 2 weeks but I'm not sure if cronjobs that run that infrequently and repull would be a problem. |
with 2 weeks, another question is whether we will hit the eviction faster than this age-based GC will even kick-in. |
that's fine. I think this is really a fail-safe for all the other methods. I think we want this to be as non-aggressive as remains useful |
Enhancement Description
One-line enhancement description (can be used as a release note): Add Kubelet option to specify the maximum age an image will be kept around before it is garbage collected
Kubernetes Enhancement Proposal: https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/4210-max-image-gc-age
Discussion Link: Discussed in SIG-Node as well as SIG-Node Image GC WG
Primary contact (assignee): @haircommander
Responsible SIGs: Node
Enhancement target (which target equals to which milestone):
Alpha
k/enhancements
) update PR(s): KEP-4210: Add ImageGCMaximumAge KEP #4211k/k
) update PR(s): KEP-4210: add support for ImageMaximumGCAge field kubernetes#121275k/website
) update PR(s): garbage collection: add blurb about ImageMaximumGCAge website#43544Beta
k/enhancements
) update PR(s):k/k
) update PR(s):k/website
) update(s):Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.
The text was updated successfully, but these errors were encountered: