kpa

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: May 14, 2019 License: Apache-2.0 Imports: 42 Imported by: 5

Documentation

Overview

Package kpa implements a kubernetes controller which tracks revisions and notifies a callback interface.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewController

func NewController(
	opts *reconciler.Options,
	paInformer informers.PodAutoscalerInformer,
	sksInformer ninformers.ServerlessServiceInformer,
	serviceInformer corev1informers.ServiceInformer,
	endpointsInformer corev1informers.EndpointsInformer,
	kpaDeciders Deciders,
	metrics Metrics,
) *controller.Impl

NewController creates an autoscaling Controller.

Types

type Deciders

type Deciders interface {
	// Get accesses the Decider resource for this key, returning any errors.
	Get(ctx context.Context, namespace, name string) (*autoscaler.Decider, error)

	// Create adds a Decider resource for a given key, returning any errors.
	Create(ctx context.Context, decider *autoscaler.Decider) (*autoscaler.Decider, error)

	// Delete removes the Decider resource for a given key, returning any errors.
	Delete(ctx context.Context, namespace, name string) error

	// Watch registers a function to call when Decider change.
	Watch(watcher func(string))

	// Update update the Decider resource, return the new Decider or any errors.
	Update(ctx context.Context, decider *autoscaler.Decider) (*autoscaler.Decider, error)
}

Deciders is an interface for notifying the presence or absence of KPAs.

type Metrics

type Metrics interface {
	// Get accesses the Metric resource for this key, returning any errors.
	Get(ctx context.Context, namespace, name string) (*autoscaler.Metric, error)

	// Create adds a Metric resource for a given key, returning any errors.
	Create(ctx context.Context, metric *autoscaler.Metric) (*autoscaler.Metric, error)

	// Delete removes the Metric resource for a given key, returning any errors.
	Delete(ctx context.Context, namespace, name string) error

	// Update update the Metric resource, return the new Metric or any errors.
	Update(ctx context.Context, metric *autoscaler.Metric) (*autoscaler.Metric, error)
}

Metrics is an interface for notifying the presence or absence of metric collection.

type Reconciler

type Reconciler struct {
	*reconciler.Base
	// contains filtered or unexported fields
}

Reconciler tracks PAs and right sizes the ScaleTargetRef based on the information from Deciders.

func (*Reconciler) Reconcile

func (c *Reconciler) Reconcile(ctx context.Context, key string) error

Reconcile right sizes PA ScaleTargetRefs based on the state of decisions in Deciders.

Directories

Path Synopsis
names
Package names contains name generating functions for the KPA.
Package names contains name generating functions for the KPA.

Jump to

Keyboard shortcuts

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