kubernetesk8s.io/kubernetes/pkg/kubelet/nodeshutdown Index | Files | Directories

package nodeshutdown

import "k8s.io/kubernetes/pkg/kubelet/nodeshutdown"

Package nodeshutdown can watch for node level shutdown events and trigger graceful termination of pods running on the node prior to a system shutdown.

Index

Constants

const (
	NodeShutdownNotAdmittedReason = "NodeShutdown"
)

Types

type Config

type Config struct {
	Logger                           klog.Logger
	ProbeManager                     prober.Manager
	VolumeManager                    volumemanager.VolumeManager
	Recorder                         record.EventRecorder
	NodeRef                          *v1.ObjectReference
	GetPodsFunc                      eviction.ActivePodsFunc
	KillPodFunc                      eviction.KillPodFunc
	SyncNodeStatusFunc               func()
	ShutdownGracePeriodRequested     time.Duration
	ShutdownGracePeriodCriticalPods  time.Duration
	ShutdownGracePeriodByPodPriority []kubeletconfig.ShutdownGracePeriodByPodPriority
	StateDirectory                   string
	Clock                            clock.Clock
}

Config represents Manager configuration

type Manager

type Manager interface {
	lifecycle.PodAdmitHandler

	Admit(attrs *lifecycle.PodAdmitAttributes) lifecycle.PodAdmitResult
	Start() error
	ShutdownStatus() error
}

Manager interface provides methods for Kubelet to manage node shutdown.

func NewManager

func NewManager(conf *Config) Manager

NewManager returns a new node shutdown manager.

Source Files

nodeshutdown_manager.go nodeshutdown_manager_linux.go storage.go

Directories

PathSynopsis
pkg/kubelet/nodeshutdown/systemdPackage systemd provides utility functions for kubelet to perform systemd related operations.
Version
v1.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
25 packages
Last checked
3 hours ago

Tools for package owners.