kubernetesk8s.io/kubernetes/pkg/kubelet/preemption Index | Files

package preemption

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

Index

Types

type CriticalPodAdmissionHandler

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

CriticalPodAdmissionHandler is an AdmissionFailureHandler that handles admission failure for Critical Pods. If the ONLY admission failures are due to insufficient resources, then CriticalPodAdmissionHandler evicts pods so that the critical pod can be admitted. For evictions, the CriticalPodAdmissionHandler evicts a set of pods that frees up the required resource requests. The set of pods is designed to minimize impact, and is prioritized according to the ordering: minimal impact for guaranteed pods > minimal impact for burstable pods > minimal impact for besteffort pods. minimal impact is defined as follows: fewest pods evicted > fewest total requests of pods. finding the fewest total requests of pods is considered besteffort.

func NewCriticalPodAdmissionHandler

func NewCriticalPodAdmissionHandler(getPodsFunc eviction.ActivePodsFunc, killPodFunc eviction.KillPodFunc, recorder record.EventRecorder) *CriticalPodAdmissionHandler

func (*CriticalPodAdmissionHandler) HandleAdmissionFailure

func (c *CriticalPodAdmissionHandler) HandleAdmissionFailure(admitPod *v1.Pod, failureReasons []lifecycle.PredicateFailureReason) ([]lifecycle.PredicateFailureReason, error)

HandleAdmissionFailure gracefully handles admission rejection, and, in some cases, to allow admission of the pod despite its previous failure.

Source Files

preemption.go

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

Tools for package owners.