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

package nodevolumelimits

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

Index

Constants

const (

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

	// KubeMaxPDVols defines the maximum number of PD Volumes per kubelet.
	KubeMaxPDVols = "KUBE_MAX_PD_VOLS"
)
const AzureDiskName = names.AzureDiskLimits

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

const CSIName = names.NodeVolumeLimits

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

const CinderName = names.CinderLimits

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

const EBSName = names.EBSLimits

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

const GCEPDName = names.GCEPDLimits

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

Functions

func NewAzureDisk

func NewAzureDisk(_ runtime.Object, handle framework.Handle, fts feature.Features) (framework.Plugin, error)

NewAzureDisk returns function that initializes a new plugin and returns it.

func NewCSI

NewCSI initializes a new plugin and returns it.

func NewCinder

func NewCinder(_ runtime.Object, handle framework.Handle, fts feature.Features) (framework.Plugin, error)

NewCinder returns function that initializes a new plugin and returns it.

func NewEBS

NewEBS returns function that initializes a new plugin and returns it.

func NewGCEPD

func NewGCEPD(_ runtime.Object, handle framework.Handle, fts feature.Features) (framework.Plugin, error)

NewGCEPD returns function that 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() []framework.ClusterEventWithHint

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(pv *v1.PersistentVolume) (*v1.PersistentVolume, error)
	TranslateInTreeInlineVolumeToCSI(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

type VolumeFilter

type VolumeFilter struct {
	// Filter normal volumes
	FilterVolume           func(vol *v1.Volume) (id string, relevant bool)
	FilterPersistentVolume func(pv *v1.PersistentVolume) (id string, relevant bool)
	// MatchProvisioner evaluates if the StorageClass provisioner matches the running predicate
	MatchProvisioner func(sc *storage.StorageClass) (relevant bool)
	// IsMigrated returns a boolean specifying whether the plugin is migrated to a CSI driver
	IsMigrated func(csiNode *storage.CSINode) bool
}

VolumeFilter contains information on how to filter PD Volumes when checking PD Volume caps.

Source Files

csi.go non_csi.go utils.go

Version
v1.28.6
Published
Jan 17, 2024
Platform
js/wasm
Imports
27 packages
Last checked
1 minute ago

Tools for package owners.