scaling

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type RmPodActuator

type RmPodActuator struct {
	// contains filtered or unexported fields
}

RmPodActuator is an actuator that can remove particular PODs.

func NewRmPodActuator

func NewRmPodActuator(core kubernetes.Interface, tracer controller.Tracer, cfg RmPodConfig) *RmPodActuator

NewRmPodActuator initializes a new actuator.

func (RmPodActuator) Effect

func (rm RmPodActuator) Effect(_ *common.State, _ map[string]common.Profile)

func (RmPodActuator) Group

func (rm RmPodActuator) Group() string

func (RmPodActuator) Name

func (rm RmPodActuator) Name() string

func (RmPodActuator) NextState

func (rm RmPodActuator) NextState(state *common.State, goal *common.State, profiles map[string]common.Profile) ([]common.State, []float64, []planner.Action)

func (RmPodActuator) Perform

func (rm RmPodActuator) Perform(state *common.State, plan []planner.Action)

type RmPodConfig

type RmPodConfig struct {
	LookBack              int    `json:"look_back"`
	MinPods               int    `json:"min_pods"`
	Port                  int    `json:"port"`
	Endpoint              string `json:"endpoint"`
	MongoEndpoint         string `json:"mongo_endpoint"`
	PluginManagerEndpoint string `json:"plugin_manager_endpoint"`
	PluginManagerPort     int    `json:"plugin_manager_port"`
}

RmPodConfig represents the configuration for this actuator.

type ScaleOutActuator

type ScaleOutActuator struct {
	// contains filtered or unexported fields
}

ScaleOutActuator is an actuator supporting horizontal scaling.

func NewScaleOutActuator

func NewScaleOutActuator(apps kubernetes.Interface, tracer controller.Tracer, cfg ScaleOutConfig) *ScaleOutActuator

NewScaleOutActuator initializes a new actuator.

func (ScaleOutActuator) Effect

func (scale ScaleOutActuator) Effect(state *common.State, profiles map[string]common.Profile)

func (ScaleOutActuator) Group

func (scale ScaleOutActuator) Group() string

func (ScaleOutActuator) Name

func (scale ScaleOutActuator) Name() string

func (ScaleOutActuator) NextState

func (scale ScaleOutActuator) NextState(state *common.State, goal *common.State, profiles map[string]common.Profile) ([]common.State, []float64, []planner.Action)

func (ScaleOutActuator) Perform

func (scale ScaleOutActuator) Perform(state *common.State, plan []planner.Action)

type ScaleOutConfig

type ScaleOutConfig struct {
	PythonInterpreter      string  `json:"interpreter"`
	Script                 string  `json:"analytics_script"`
	MaxPods                int     `json:"max_pods"`
	LookBack               int     `json:"look_back"`
	MaxProActiveScaleOut   int     `json:"max_proactive_scale_out"`
	ProActiveLatencyFactor float64 `json:"proactive_latency_factor"`
	Port                   int     `json:"port"`
	Endpoint               string  `json:"endpoint"`
	MongoEndpoint          string  `json:"mongo_endpoint"`
	PluginManagerEndpoint  string  `json:"plugin_manager_endpoint"`
	PluginManagerPort      int     `json:"plugin_manager_port"`
}

ScaleOutConfig describes the configuration for this actuator.

type ScaleOutEffect

type ScaleOutEffect struct {
	// TODO: make private again once refactored.
	// Never ever think about making these non-public! Needed for marshalling this struct.
	ThroughputRange  []float64
	ReplicaRange     []int
	Popt             []float64
	TrainingFeatures []string
	TargetFeature    string
	Image            string
}

ScaleOutEffect describes the data that is stored in the knowledge base.

Jump to

Keyboard shortcuts

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