Back to / pkg / controller / daemon

package daemon

Latest Go to latest
Published: Jun 26, 2020 | License: Apache-2.0 | Module:


Package daemon contains logic for watching and synchronizing daemons.



const (
	// BurstReplicas is a rate limiter for booting pods on a lot of pods.
	// The value of 250 is chosen b/c values that are too high can cause registry DoS issues.
	BurstReplicas = 250

	// StatusUpdateRetries limits the number of retries if sending a status update to API server fails.
	StatusUpdateRetries = 1

	// BackoffGCInterval is the time that has to pass before next iteration of backoff GC is run
	BackoffGCInterval = 1 * time.Minute
const (
	// SelectingAllReason is added to an event when a DaemonSet selects all Pods.
	SelectingAllReason = "SelectingAll"
	// FailedPlacementReason is added to an event when a DaemonSet can't schedule a Pod to a specified node.
	FailedPlacementReason = "FailedPlacement"
	// FailedDaemonPodReason is added to an event when the status of a Pod of a DaemonSet is 'Failed'.
	FailedDaemonPodReason = "FailedDaemonPod"

Reasons for DaemonSet events

func Match

func Match(ds *apps.DaemonSet, history *apps.ControllerRevision) (bool, error)

Match check if the given DaemonSet's template matches the template stored in the given history.

func NewPod

func NewPod(ds *apps.DaemonSet, nodeName string) *v1.Pod

NewPod creates a new pod

func Predicates

func Predicates(pod *v1.Pod, node *v1.Node, taints []v1.Taint) (fitsNodeName, fitsNodeAffinity, fitsTaints bool)

Predicates checks if a DaemonSet's pod can run on a node.

type DaemonSetsController

type DaemonSetsController struct {
	// contains filtered or unexported fields

DaemonSetsController is responsible for synchronizing DaemonSet objects stored in the system with actual running pods.

func NewDaemonSetsController

func NewDaemonSetsController(
	daemonSetInformer appsinformers.DaemonSetInformer,
	historyInformer appsinformers.ControllerRevisionInformer,
	podInformer coreinformers.PodInformer,
	nodeInformer coreinformers.NodeInformer,
	kubeClient clientset.Interface,
	failedPodsBackoff *flowcontrol.Backoff,
) (*DaemonSetsController, error)

NewDaemonSetsController creates a new DaemonSetsController

func (*DaemonSetsController) Run

func (dsc *DaemonSetsController) Run(workers int, stopCh <-chan struct{})

Run begins watching and syncing daemon sets.

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier