kubernetesk8s.io/kubernetes/pkg/kubelet/pluginmanager/reconciler Index | Files

package reconciler

import "k8s.io/kubernetes/pkg/kubelet/pluginmanager/reconciler"

Package reconciler implements interfaces that attempt to reconcile the desired state of the world with the actual state of the world by triggering relevant actions (register/deregister plugins).

Index

Types

type Reconciler

type Reconciler interface {
	// Run starts running the reconciliation loop which executes periodically,
	// checks if plugins are correctly registered or unregistered.
	// If not, it will trigger register/unregister operations to rectify.
	Run(stopCh <-chan struct{})

	// AddHandler adds the given plugin handler for a specific plugin type,
	// which will be added to the actual state of world cache.
	AddHandler(pluginType string, pluginHandler cache.PluginHandler)
}

Reconciler runs a periodic loop to reconcile the desired state of the world with the actual state of the world by triggering register and unregister operations. Also provides a means to add a handler for a plugin type.

func NewReconciler

func NewReconciler(
	operationExecutor operationexecutor.OperationExecutor,
	loopSleepDuration time.Duration,
	desiredStateOfWorld cache.DesiredStateOfWorld,
	actualStateOfWorld cache.ActualStateOfWorld) Reconciler

NewReconciler returns a new instance of Reconciler.

operationExecutor - used to trigger register/unregister operations safely (prevents more than one operation from being triggered on the same socket path)

loopSleepDuration - the amount of time the reconciler loop sleeps between successive executions

desiredStateOfWorld - cache containing the desired state of the world

actualStateOfWorld - cache containing the actual state of the world

Source Files

reconciler.go

Version
v1.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
8 packages
Last checked
3 hours ago

Tools for package owners.