controller

package
v0.6.1-alpha Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2019 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AutoscalingEngineController

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

AutoscalingEngineController reconciles AutoscalingEngines with a local registry of instantiated engine clients.

func NewAutoscalingEngine

func NewAutoscalingEngine(kubeclientset kubernetes.Interface,
	kubeInformerFactory kubeinformers.SharedInformerFactory,
	cerebralclientset cerebral.Interface,
	cInformerFactory cinformers.SharedInformerFactory) *AutoscalingEngineController

NewAutoscalingEngine constructs a new AutoscalingEngine

func (*AutoscalingEngineController) Run

func (c *AutoscalingEngineController) Run(numWorkers int, stopCh <-chan struct{}) error

Run will set up the event handlers for types we are interested in, as well as syncing informer caches and starting workers. It will block until stopCh is closed, at which point it will shutdown the workqueue and wait for workers to finish processing their current work items.

type AutoscalingGroupController

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

AutoscalingGroupController is a controller for scaling an autoscaling group based on min and max

func NewAutoscalingGroupController

func NewAutoscalingGroupController(kubeclientset kubernetes.Interface,
	kubeInformerFactory kubeinformers.SharedInformerFactory,
	cerebralclientset cerebral.Interface,
	cInformerFactory cinformers.SharedInformerFactory,
	scaleRequestCh chan<- ScaleRequest) *AutoscalingGroupController

NewAutoscalingGroupController returns a new controller to watch that the nodes associated with autoscaling groups stay between the min and max specified

func (*AutoscalingGroupController) Run

func (agc *AutoscalingGroupController) Run(numWorkers int, stopCh <-chan struct{}) error

Run will set up the event handlers for types we are interested in, as well as syncing informer caches and starting workers. It will block until stopCh is closed, at which point it will shutdown the workqueue and wait for workers to finish processing their current work items.

type MetricsBackendController

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

MetricsBackendController reconciles MetricsBackends with a local registry of instantiated backend clients.

func NewMetricsBackend

func NewMetricsBackend(kubeclientset kubernetes.Interface,
	kubeInformerFactory kubeinformers.SharedInformerFactory,
	cerebralclientset cerebral.Interface,
	cInformerFactory cinformers.SharedInformerFactory) *MetricsBackendController

NewMetricsBackend constructs a new MetricsBackend

func (*MetricsBackendController) Run

func (c *MetricsBackendController) Run(numWorkers int, stopCh <-chan struct{}) error

Run will set up the event handlers for types we are interested in, as well as syncing informer caches and starting workers. It will block until stopCh is closed, at which point it will shutdown the workqueue and wait for workers to finish processing their current work items.

type MetricsController

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

MetricsController is a controller that manages underlying metrics backend pollers based on AutoscalingGroups and AutoscalingPolicies. These pollers watch for alerts and request scaling if needed.

func NewMetrics

func NewMetrics(kubeclientset kubernetes.Interface,
	kubeInformerFactory kubeinformers.SharedInformerFactory,
	cerebralclientset cerebral.Interface,
	cInformerFactory cinformers.SharedInformerFactory,
	scaleRequestCh chan<- ScaleRequest) *MetricsController

NewMetrics constructs a new Metrics controller

func (*MetricsController) Run

func (c *MetricsController) Run(numWorkers int, stopCh <-chan struct{}) error

Run will set up the event handlers for types we are interested in, as well as syncing informer caches and starting workers. It will block until stopCh is closed, at which point it will shutdown the workqueue and wait for workers to finish processing their current work items.

type ScaleManager

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

ScaleManager manages incoming scale requests. It acts as the final stage before the actual engine interface, serializing requests to the engine and managing the AutoscalingGroup statuses to reflect cooldown state.

func NewScaleManager

func NewScaleManager(
	kubeclientset kubernetes.Interface,
	kubeInformerFactory kubeinformers.SharedInformerFactory,
	cerebralclientset cerebral.Interface,
	cInformerFactory cinformers.SharedInformerFactory) *ScaleManager

NewScaleManager returns a new ScaleManager

func (*ScaleManager) Run

func (m *ScaleManager) Run(stopCh <-chan struct{}) error

Run runs the ScaleManager. It should never return under normal conditions. It must respond to every request on the request's errCh, with the response being nil if no error occurred.

func (*ScaleManager) ScaleRequestChan

func (m *ScaleManager) ScaleRequestChan() chan<- ScaleRequest

ScaleRequestChan returns a channel that can be used to send scale requests to the ScaleManager

type ScaleRequest

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

A ScaleRequest represents a request to the ScaleManager to perform a scaling operation.

Jump to

Keyboard shortcuts

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