logic

package
v3.11.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 15, 2018 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

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).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL