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.