Documentation
¶
Index ¶
- Constants
- func NewAzureDisk(_ runtime.Object, handle framework.Handle, fts feature.Features) (framework.Plugin, error)
- func NewCSI(_ runtime.Object, handle framework.Handle, fts feature.Features) (framework.Plugin, error)
- func NewCinder(_ runtime.Object, handle framework.Handle, fts feature.Features) (framework.Plugin, error)
- func NewEBS(_ runtime.Object, handle framework.Handle, fts feature.Features) (framework.Plugin, error)
- func NewGCEPD(_ runtime.Object, handle framework.Handle, fts feature.Features) (framework.Plugin, error)
- type CSILimits
- func (pl *CSILimits) EventsToRegister() []framework.ClusterEventWithHint
- func (pl *CSILimits) Filter(ctx context.Context, _ *framework.CycleState, pod *v1.Pod, ...) *framework.Status
- func (pl *CSILimits) Name() string
- func (pl *CSILimits) PreFilter(ctx context.Context, _ *framework.CycleState, pod *v1.Pod) (*framework.PreFilterResult, *framework.Status)
- func (pl *CSILimits) PreFilterExtensions() framework.PreFilterExtensions
- 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 = 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.
Variables ¶
This section is empty.
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 ¶
func NewCSI(_ runtime.Object, handle framework.Handle, fts feature.Features) (framework.Plugin, error)
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.
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) PreFilter ¶
func (pl *CSILimits) PreFilter(ctx context.Context, _ *framework.CycleState, pod *v1.Pod) (*framework.PreFilterResult, *framework.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() 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.