Documentation ¶
Index ¶
- type PodResourceRecommender
- type RecommendedContainerResources
- type RecommendedPodResources
- type ResourceEstimator
- func NewConstEstimator(resources model.Resources) ResourceEstimator
- func NewPercentileEstimator(cpuPercentile float64, memoryPercentile float64) ResourceEstimator
- func WithConfidenceMultiplier(multiplier, exponent float64, baseEstimator ResourceEstimator) ResourceEstimator
- func WithSafetyMargin(marginFraction float64, minMargin model.Resources, ...) ResourceEstimator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PodResourceRecommender ¶
type PodResourceRecommender interface {
GetRecommendedPodResources(vpa *model.Vpa) RecommendedPodResources
}
PodResourceRecommender computes resource recommendation for a Vpa object.
func CreatePodResourceRecommender ¶
func CreatePodResourceRecommender() PodResourceRecommender
CreatePodResourceRecommender returns the primary recommender.
func NewPodResourceRecommender ¶
func NewPodResourceRecommender( targetEstimator ResourceEstimator, lowerBoundEstimator ResourceEstimator, upperBoundEstimator ResourceEstimator) PodResourceRecommender
NewPodResourceRecommender returns a new PodResourceRecommender which is an aggregation of three ResourceEstimators, one for each of the target, min and max recommended resources.
type RecommendedContainerResources ¶
type RecommendedContainerResources struct { // Recommended optimal amount of resources. Target model.Resources // Recommended minimum amount of resources. MinRecommended model.Resources // Recommended maximum amount of resources. MaxRecommended model.Resources }
RecommendedContainerResources is the recommendation of resources for a container.
type RecommendedPodResources ¶
type RecommendedPodResources map[string]RecommendedContainerResources
RecommendedPodResources is a Map from container name to recommended resources.
type ResourceEstimator ¶
type ResourceEstimator interface {
GetResourceEstimation(s *model.AggregateContainerState) model.Resources
}
ResourceEstimator is a function from AggregateContainerState to model.Resources, e.g. a prediction of resources needed by a group of containers.
func NewConstEstimator ¶
func NewConstEstimator(resources model.Resources) ResourceEstimator
NewConstEstimator returns a new constEstimator with given resources.
func NewPercentileEstimator ¶
func NewPercentileEstimator(cpuPercentile float64, memoryPercentile float64) ResourceEstimator
NewPercentileEstimator returns a new percentileEstimator that uses provided percentiles.
func WithConfidenceMultiplier ¶
func WithConfidenceMultiplier(multiplier, exponent float64, baseEstimator ResourceEstimator) ResourceEstimator
WithConfidenceMultiplier returns a given ResourceEstimator with confidenceMultiplier applied.
func WithSafetyMargin ¶
func WithSafetyMargin(marginFraction float64, minMargin model.Resources, baseEstimator ResourceEstimator) ResourceEstimator
WithSafetyMargin returns a given ResourceEstimator with safetyMargin applied. The returned resources are equal to the original resources plus:
max(originalResource * marginFraction, minMargin).