Documentation

Overview

Package replication contains logic for watching and synchronizing replication controllers.

Index

Constants

View Source
const (
	// Realistic value of the burstReplica field for the replication manager based off
	// performance requirements for kubernetes 1.0.
	BurstReplicas = 500
)

Variables

This section is empty.

Functions

func GetCondition

GetCondition returns a replication controller condition with the provided type if it exists.

func NewReplicationControllerCondition

func NewReplicationControllerCondition(condType v1.ReplicationControllerConditionType, status v1.ConditionStatus, reason, msg string) v1.ReplicationControllerCondition

NewReplicationControllerCondition creates a new replication controller condition.

func RemoveCondition

func RemoveCondition(status *v1.ReplicationControllerStatus, condType v1.ReplicationControllerConditionType)

RemoveCondition removes the condition with the provided type from the replication controller status.

func SetCondition

func SetCondition(status *v1.ReplicationControllerStatus, condition v1.ReplicationControllerCondition)

SetCondition adds/replaces the given condition in the replication controller status.

Types

type OverlappingControllers

type OverlappingControllers []*v1.ReplicationController

OverlappingControllers sorts a list of controllers by creation timestamp, using their names as a tie breaker.

func (OverlappingControllers) Len

func (o OverlappingControllers) Len() int

func (OverlappingControllers) Less

func (o OverlappingControllers) Less(i, j int) bool

func (OverlappingControllers) Swap

func (o OverlappingControllers) Swap(i, j int)

type ReplicationManager

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

ReplicationManager is responsible for synchronizing ReplicationController objects stored in the system with actual running pods. TODO: this really should be called ReplicationController. The only reason why it's a Manager is to distinguish this type from API object "ReplicationController". We should fix this.

func NewReplicationManager

func NewReplicationManager(podInformer coreinformers.PodInformer, rcInformer coreinformers.ReplicationControllerInformer, kubeClient clientset.Interface, burstReplicas int) *ReplicationManager

NewReplicationManager configures a replication manager with the specified event recorder

func (*ReplicationManager) Run

func (rm *ReplicationManager) Run(workers int, stopCh <-chan struct{})

Run begins watching and syncing.

func (*ReplicationManager) SetEventRecorder

func (rm *ReplicationManager) SetEventRecorder(recorder record.EventRecorder)

SetEventRecorder replaces the event recorder used by the replication manager with the given recorder. Only used for testing.