prober

package
v1.2.0-alpha.1....-a06d8bc Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2015 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FakeManager

type FakeManager struct{}

func (FakeManager) AddPod

func (_ FakeManager) AddPod(_ *api.Pod)

Unused methods.

func (FakeManager) CleanupPods

func (_ FakeManager) CleanupPods(_ []*api.Pod)

func (FakeManager) RemovePod

func (_ FakeManager) RemovePod(_ *api.Pod)

func (FakeManager) UpdatePodStatus

func (_ FakeManager) UpdatePodStatus(_ types.UID, podStatus *api.PodStatus)

type FakeProber

type FakeProber struct {
	Readiness probe.Result
	Liveness  probe.Result
	Error     error
}

func (FakeProber) ProbeLiveness

func (FakeProber) ProbeReadiness

type Manager

type Manager interface {
	// AddPod creates new probe workers for every container probe. This should be called for every
	// pod created.
	AddPod(pod *api.Pod)

	// RemovePod handles cleaning up the removed pod state, including terminating probe workers and
	// deleting cached results.
	RemovePod(pod *api.Pod)

	// CleanupPods handles cleaning up pods which should no longer be running.
	// It takes a list of "active pods" which should not be cleaned up.
	CleanupPods(activePods []*api.Pod)

	// UpdatePodStatus modifies the given PodStatus with the appropriate Ready state for each
	// container based on container running status, cached probe results and worker states.
	UpdatePodStatus(types.UID, *api.PodStatus)
}

Manager manages pod probing. It creates a probe "worker" for every container that specifies a probe (AddPod). The worker periodically probes its assigned container and caches the results. The manager usse the cached probe results to set the appropriate Ready state in the PodStatus when requested (UpdatePodStatus). Updating probe parameters is not currently supported. TODO: Move liveness probing out of the runtime, to here.

func NewManager

func NewManager(
	defaultProbePeriod time.Duration,
	statusManager status.Manager,
	prober Prober) Manager

type Prober

type Prober interface {
	ProbeLiveness(pod *api.Pod, status api.PodStatus, container api.Container, containerID kubecontainer.ContainerID, createdAt int64) (probe.Result, error)
	ProbeReadiness(pod *api.Pod, status api.PodStatus, container api.Container, containerID kubecontainer.ContainerID) (probe.Result, error)
}

Prober checks the healthiness of a container.

func New

NewProber creates a Prober, it takes a command runner and several container info managers.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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