package nodevolumelimits
import "k8s.io/kubernetes/pkg/scheduler/framework/plugins/nodevolumelimits"
Index ¶
- Constants
- func NewCSI(_ context.Context, _ runtime.Object, handle fwk.Handle, fts feature.Features) (fwk.Plugin, error)
- func NewCSINodeLister(csiNodeLister storagelisters.CSINodeLister) *csiNodeListerWrapper
- type CSILimits
- func (pl *CSILimits) EventsToRegister(_ context.Context) ([]fwk.ClusterEventWithHint, error)
- func (pl *CSILimits) Filter(ctx context.Context, _ fwk.CycleState, pod *v1.Pod, nodeInfo fwk.NodeInfo) *fwk.Status
- func (pl *CSILimits) Name() string
- func (pl *CSILimits) PreFilter(ctx context.Context, _ fwk.CycleState, pod *v1.Pod, _ []fwk.NodeInfo) (*fwk.PreFilterResult, *fwk.Status)
- func (pl *CSILimits) PreFilterExtensions() fwk.PreFilterExtensions
- func (pl *CSILimits) SignPod(ctx context.Context, pod *v1.Pod) ([]fwk.SignFragment, *fwk.Status)
- type DefaultCSIManager
- func NewCSIManager(csiNodeLister storagelisters.CSINodeLister) *DefaultCSIManager
- func (m *DefaultCSIManager) CSINodes() fwk.CSINodeLister
- type InTreeToCSITranslator
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 ¶
func NewCSI(_ context.Context, _ runtime.Object, handle fwk.Handle, fts feature.Features) (fwk.Plugin, error)
NewCSI initializes a new plugin and returns it.
func NewCSINodeLister ¶
func NewCSINodeLister(csiNodeLister storagelisters.CSINodeLister) *csiNodeListerWrapper
Types ¶
type CSILimits ¶
type CSILimits struct {
// contains filtered or unexported fields
}
CSILimits is a plugin that checks node volume limits.
func (*CSILimits) EventsToRegister ¶
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, _ fwk.CycleState, pod *v1.Pod, nodeInfo fwk.NodeInfo) *fwk.Status
Filter invoked at the filter extension point.
func (*CSILimits) Name ¶
Name returns name of the plugin. It is used in logs, etc.
func (*CSILimits) PreFilter ¶
func (pl *CSILimits) PreFilter(ctx context.Context, _ fwk.CycleState, pod *v1.Pod, _ []fwk.NodeInfo) (*fwk.PreFilterResult, *fwk.Status)
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() fwk.PreFilterExtensions
PreFilterExtensions returns prefilter extensions, pod add and remove.
func (*CSILimits) SignPod ¶
Feasibility and scoring based on the non-synthetic volume sources.
type DefaultCSIManager ¶
type DefaultCSIManager struct {
// contains filtered or unexported fields
}
DefaultCSIManager is an implementation of the CSIManager interface.
func NewCSIManager ¶
func NewCSIManager(csiNodeLister storagelisters.CSINodeLister) *DefaultCSIManager
func (*DefaultCSIManager) CSINodes ¶
func (m *DefaultCSIManager) CSINodes() fwk.CSINodeLister
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 csi_manager.go utils.go
- Version
- v1.35.1 (latest)
- Published
- Feb 10, 2026
- Platform
- linux/amd64
- Imports
- 21 packages
- Last checked
- 2 months ago –
Tools for package owners.