Comments (5)
By error I meant mean error. The problem here is basically is what value of vmMemoryOverheadPercent
creates a line of best fit that minimizes your mean error. Ultimately this comes down to what you expect the general size of your OS for the images that run on your machines, and how do they differ across the instance types that you run? We've done simulations that in the past might have shown 0.075
as the best default for some of the basic/default setups that we saw, but this can change over time as new instances/images are released, and ultimately it's up to you to help inform Karpenter what the best estimation is here.
One thing we're considering doing as part of post-v1 is to cache the result of created nodes to affect the future state of what overhead actually calculates to. For instance, this means that Karpenter would try to calculate a NodeClaim, estimating an end-result of allocatable and launch a node. The node could join the cluster later, with either more or less allocatable, and Karpenter would use those results to inform future decisions for nodeclaims that have the same instance types, images, etc.
from karpenter.
This issue is currently awaiting triage.
If Karpenter contributors determines this is a relevant issue, they will accept it by applying the triage/accepted
label and provide further guidance.
The triage/accepted
label can be added by org members by writing /triage accepted
in a comment.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.
from karpenter.
This is a value that we picked, looking at instance types (across AWS) and found that 0.075 was a percentage that minimized the error for all instance type sizes. Note that this is just an estimate, and can be overshot or undershot, and should be adjusted based on the instance type sizes you're using.
from karpenter.
@njtran For the aws provider could we generate for all known instance types as was seemingly started here? https://github.com/aws/karpenter-provider-aws/blob/33450d8f82ded870ce65fbde3cec14dbb2c04f50/pkg/providers/instancetype/zz_generated.memory_overhead.go
Then for unknown instance types vmMemoryOverheadPercent
could be used.
from karpenter.
@njtran what is the error that you are trying to avoid with this value as you mentioned "minimized the error for all instance type sizes"
from karpenter.
Related Issues (20)
- Enhance v1 NodeClaim print output to show drifted state HOT 3
- Karpenter should consolidate while provisioning new instances HOT 4
- Mutating web hook for identifying arch / platform supported by container images of pod HOT 4
- Consolidate node whenEmpty if only daemonsets are left HOT 3
- StartupTaints not working properly HOT 2
- Unclear log line during forceful node deletion HOT 1
- Question about Drift behavior when wildcard in the name of amiSelectorTerms HOT 3
- Drift terminating nodes without any drift in NodePool/EC2NodeClass HOT 4
- Add ability to set dynamic value for `kubeReserved` cpu HOT 6
- Karpenter Helm chart not deploying CRDs HOT 4
- Inaccurate resource calculation when launching nodes HOT 5
- Enable automated cherry-picks for karpenter HOT 3
- Karpenter continues to consolidate and ignores do-not-disrupt labels on pods hosted on terminating node HOT 1
- Karpenter does not respect matchLabelKeys in topologySpreadConstraints HOT 3
- Promoting `sigs.k8s.io/karpenter` to package version `v1.0.0` HOT 6
- logOutputPaths and logErrorOutputPaths not working HOT 9
- Node is "NotReady" and waiting at "Terminating" for hours HOT 12
- Ability to disable Drift in v1.0 HOT 4
- Failure to delete NodeClaim (Reconciler error) HOT 14
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from karpenter.