resources

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2020 License: Apache-2.0 Imports: 10 Imported by: 78

Documentation

Overview

Package resources contains various utilities for dealing with Kubernetes resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetScaleResource added in v0.7.0

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 NotReadyAddressCount added in v0.13.0

func NotReadyAddressCount(endpoints *corev1.Endpoints) int

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

func ReadyAddressCount

func ReadyAddressCount(endpoints *corev1.Endpoints) int

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

func ScaleResourceArguments added in v0.7.0

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

ScaleResourceArguments returns GroupResource and the resource name.

Types

type EndpointsCounter added in v0.13.0

type EndpointsCounter interface {
	ReadyCount() (int, error)
	NotReadyCount() (int, error)
}

EndpointsCounter provides a count of currently ready and notReady pods. This information, among other places, 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 EndpointsCounter is unable to calculate a value.

func NewScopedEndpointsCounter added in v0.7.0

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

NewScopedEndpointsCounter creates a EndpointsCounter 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.

type PodAccessor added in v0.15.0

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

PodAccessor provides access to various dimensions of pods listing and querying for a given bound revision.

func NewPodAccessor added in v0.15.0

func NewPodAccessor(lister corev1listers.PodLister, namespace, revisionName string) PodAccessor

NewPodAccessor creates a PodAccessor implementation that counts pods for a namespace/revision.

func (PodAccessor) NotReadyCount added in v0.16.0

func (pc PodAccessor) NotReadyCount() (int, error)

NotReadyCount implements EndpointsCounter.

func (PodAccessor) PendingTerminatingCount added in v0.15.0

func (pc PodAccessor) PendingTerminatingCount() (int, int, error)

PendingTerminatingCount returns the number of pods in a Pending or Terminating state

func (PodAccessor) PodIPsByAge added in v0.15.0

func (pc PodAccessor) PodIPsByAge() ([]string, error)

PodIPsByAge returns the list of running pod (terminating and non-running are excluded) IP addresses, sorted descending by pod age.

func (PodAccessor) ReadyCount added in v0.16.0

func (pc PodAccessor) ReadyCount() (int, error)

ReadyCount implements EndpointsCounter.

Jump to

Keyboard shortcuts

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