-
Notifications
You must be signed in to change notification settings - Fork 470
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
Size limits for Empty Dirs #632
Conversation
What were you seeing these growing to in practice? What were the largest files in the mounts? I'd prefer to make these static limits rather than configurable if possible, since they should be small and consistent enough in size that users shouldn't need to worry about configuring them. I don't know offhand what'd consume much space in those locations other than logs (which we want to divert to stdout and stderr)--I'm checking with the gateway engineers, but info from your instance would be helpful. If we do end up using configurable values, they need to be in the default values.yaml and in documentation, else you'll hit the error that's currently failing in CI:
|
I don't have certain numbers on limits but we are facing disk pressure issues on AKS nodes. These directories may or may not be directly effecting our issue but as a best practice it is better to evict the pods if empty dirs are using more ephemeral storage than defined. This will improve things in kubernetes cluster . |
Also, we have a data plane where we have used 256Mi size of empty dirs that never caused an issue since 4 months. So IMO default to 256Mi is more meaningful. |
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.
We'll want to merge #634 first. Several of those were wrong and would eventually fill the prefix on a long-lived Pod.
There's one unbounded consumer of /tmp/ space whose actual needs will vary depending on use characteristics, so we do indeed need to make these configurable. NGINX will buffer large client bodies to disk, and we set no default upper bound on their size. An instance with a large number of concurrent large bodies (e.g. something that handles video uploads) is expected to consume a bunch of /tmp/ space even though most instances won't, so IMO we should give that one more breathing room.
Co-authored-by: Travis Raines <571832+rainest@users.noreply.github.com>
Co-authored-by: Travis Raines <571832+rainest@users.noreply.github.com>
@rainest When will this be released ? |
Probably end of this week or start of next; there are a few other things I'd like to work in if possible. |
@@ -2,6 +2,10 @@ | |||
|
|||
## Unreleased | |||
|
|||
### |
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.
We missed a section name in here I suppose
Add .deployment.prefixDir.sizeLimit and .Values.deployment.tmpDir.sizeLimit, which control the maximum size of the prefix and /tmp/ emptyDirs. Co-authored-by: Travis Raines <571832+rainest@users.noreply.github.com>
What this PR does / why we need it:
Empty directory without size limit is consuming all the ephemeral local storage resources. Need to have a capability to assign limits on it.
Which issue this PR fixes
(optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close that issue when PR gets merged)Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]
main
branch.