kubernetesk8s.io/kubernetes/pkg/scheduler/framework/plugins/nodevolumelimits Index | Files

package nodevolumelimits

import "k8s.io/kubernetes/pkg/scheduler/framework/plugins/nodevolumelimits"

Index

Constants

const CSIName = names.NodeVolumeLimits

CSIName is the name of the plugin used in the plugin registry and configurations.

const (
	// ErrReasonMaxVolumeCountExceeded is used for MaxVolumeCount predicate error.
	ErrReasonMaxVolumeCountExceeded = "node(s) exceed max volume count"
)

Functions

func NewCSI

NewCSI initializes a new plugin and returns it.

Types

type CSILimits

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

CSILimits is a plugin that checks node volume limits.

func (*CSILimits) EventsToRegister

func (pl *CSILimits) EventsToRegister(_ context.Context) ([]framework.ClusterEventWithHint, error)

EventsToRegister returns the possible events that may make a Pod. failed by this plugin schedulable.

func (*CSILimits) Filter

func (pl *CSILimits) Filter(ctx context.Context, _ *framework.CycleState, pod *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status

Filter invoked at the filter extension point.

func (*CSILimits) Name

func (pl *CSILimits) Name() string

Name returns name of the plugin. It is used in logs, etc.

func (*CSILimits) PreFilter

PreFilter invoked at the prefilter extension point

If the pod haven't those types of volumes, we'll skip the Filter phase

func (*CSILimits) PreFilterExtensions

func (pl *CSILimits) PreFilterExtensions() framework.PreFilterExtensions

PreFilterExtensions returns prefilter extensions, pod add and remove.

type InTreeToCSITranslator

type InTreeToCSITranslator interface {
	IsPVMigratable(pv *v1.PersistentVolume) bool
	IsInlineMigratable(vol *v1.Volume) bool
	IsMigratableIntreePluginByName(inTreePluginName string) bool
	GetInTreePluginNameFromSpec(pv *v1.PersistentVolume, vol *v1.Volume) (string, error)
	GetCSINameFromInTreeName(pluginName string) (string, error)
	TranslateInTreePVToCSI(logger klog.Logger, pv *v1.PersistentVolume) (*v1.PersistentVolume, error)
	TranslateInTreeInlineVolumeToCSI(logger klog.Logger, volume *v1.Volume, podNamespace string) (*v1.PersistentVolume, error)
}

InTreeToCSITranslator contains methods required to check migratable status and perform translations from InTree PV's to CSI

Source Files

csi.go utils.go

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

Tools for package owners.