resources

package
v0.8.0 Latest Latest
Warning

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

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

Documentation

Overview

Package resources contains various utilities for dealing with Kubernetes resources.

Package resources contains various utilities for dealing with Kubernetes resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CopyMap

func CopyMap(a map[string]string) map[string]string

CopyMap makes a copy of the map.

func FilterMap

func FilterMap(in map[string]string, filter func(string) bool) map[string]string

FilterMap creates a copy of the provided map, filtering out the elements that match `filter`. nil `filter` is accepted.

func GetScaleResource

func GetScaleResource(namespace string, ref corev1.ObjectReference, psInformerFactory duck.InformerFactory) (*pav1alpha1.PodScalable, error)

GetScaleResource returns the current scale resource for the PA. TODO(markusthoemmes): We shouldn't need to pass namespace here.

func NewPodScalableInformerFactory

func NewPodScalableInformerFactory(ctx context.Context) duck.InformerFactory

NewPodScalableInformerFactory produces an informer factory for PodScalable resources.

func ReadyAddressCount

func ReadyAddressCount(endpoints *corev1.Endpoints) int

ReadyAddressCount returns the total number of addresses ready for the given endpoint.

func ScaleResourceArguments

func ScaleResourceArguments(ref corev1.ObjectReference) (*schema.GroupVersionResource, string, error)

ScaleResourceArguments returns GroupResource and the resource name.

func UnionMaps

func UnionMaps(a, b map[string]string) map[string]string

UnionMaps returns a map constructed from the union of `a` and `b`, where value from `b` wins.

Types

type ReadyPodCounter

type ReadyPodCounter interface {
	ReadyCount() (int, error)
}

ReadyPodCounter provides a count of currently ready pods. This information is used by UniScaler implementations to make scaling decisions. The interface prevents the UniScaler from needing to know how counts are performed. The int return value represents the number of pods that are ready to handle incoming requests. The error value is returned if the ReadyPodCounter is unable to calculate a value.

func NewScopedEndpointsCounter

func NewScopedEndpointsCounter(lister corev1listers.EndpointsLister, namespace, serviceName string) ReadyPodCounter

NewScopedEndpointsCounter creates a ReadyPodCounter that uses a count of endpoints for a namespace/serviceName as the value of ready pods. The values returned by ReadyCount() will vary over time. lister is used to retrieve endpoints for counting with the scope of namespace/serviceName.

Jump to

Keyboard shortcuts

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