package nodevolumelimits
import "k8s.io/kubernetes/pkg/scheduler/framework/plugins/nodevolumelimits"
Index ¶
- Constants
- func NewAzureDisk(_ runtime.Object, handle framework.Handle) (framework.Plugin, error)
- func NewCSI(_ runtime.Object, handle framework.Handle) (framework.Plugin, error)
- func NewCinder(_ runtime.Object, handle framework.Handle) (framework.Plugin, error)
- func NewEBS(_ runtime.Object, handle framework.Handle) (framework.Plugin, error)
- func NewGCEPD(_ runtime.Object, handle framework.Handle) (framework.Plugin, error)
- type CSILimits
- func (pl *CSILimits) Filter(ctx context.Context, _ *framework.CycleState, pod *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status
- func (pl *CSILimits) Name() string
- type InTreeToCSITranslator
- type VolumeFilter
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 = "AzureDiskLimits"
AzureDiskName is the name of the plugin used in the plugin registry and configurations.
const CSIName = "NodeVolumeLimits"
CSIName is the name of the plugin used in the plugin registry and configurations.
const CinderName = "CinderLimits"
CinderName is the name of the plugin used in the plugin registry and configurations.
const EBSName = "EBSLimits"
EBSName is the name of the plugin used in the plugin registry and configurations.
const GCEPDName = "GCEPDLimits"
GCEPDName is the name of the plugin used in the plugin registry and configurations.
Functions ¶
func NewAzureDisk ¶
NewAzureDisk returns function that initializes a new plugin and returns it.
func NewCSI ¶
NewCSI initializes a new plugin and returns it.
func NewCinder ¶
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 ¶
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) 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 ¶
Name returns name of the plugin. It is used in logs, etc.
type InTreeToCSITranslator ¶
type InTreeToCSITranslator interface {
IsPVMigratable(pv *v1.PersistentVolume) 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)
}
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.22.0-alpha.1
- Published
- Apr 28, 2021
- Platform
- windows/amd64
- Imports
- 24 packages
- Last checked
- 17 minutes ago –
Tools for package owners.