package daemon

import "k8s.io/kubernetes/pkg/controller/daemon"

Package daemon contains logic for watching and synchronizing daemons.

Index

Constants

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"
	// SucceededDaemonPodReason is added to an event when the status of a Pod of a DaemonSet is 'Succeeded'.
	SucceededDaemonPodReason = "SucceededDaemonPod"
)

Reasons for DaemonSet events

Functions

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 NodeShouldRunDaemonPod

func NodeShouldRunDaemonPod(node *v1.Node, ds *apps.DaemonSet) (bool, bool)

NodeShouldRunDaemonPod checks a set of preconditions against a (node,daemonset) and returns a summary. Returned booleans are:

Types

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(
	ctx context.Context,
	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(ctx context.Context, workers int)

Run begins watching and syncing daemon sets.

Source Files

daemon_controller.go doc.go update.go

Directories

PathSynopsis
pkg/controller/daemon/config
pkg/controller/daemon/config/v1alpha1
pkg/controller/daemon/util
Version
v1.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
38 packages
Last checked
3 hours ago

Tools for package owners.