kubernetes: k8s.io/kubernetes/pkg/scheduler/framework/plugins/volumerestrictions Index | Files

package volumerestrictions

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


Package Files



const (
    // ErrReasonDiskConflict is used for NoDiskConflict predicate error.
    ErrReasonDiskConflict = "node(s) had no available disk"
const Name = "VolumeRestrictions"

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

func New Uses

func New(_ runtime.Object, _ framework.Handle) (framework.Plugin, error)

New initializes a new plugin and returns it.

type VolumeRestrictions Uses

type VolumeRestrictions struct{}

VolumeRestrictions is a plugin that checks volume restrictions.

func (*VolumeRestrictions) Filter Uses

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

Filter invoked at the filter extension point. It evaluates if a pod can fit due to the volumes it requests, and those that are already mounted. If there is already a volume mounted on that node, another pod that uses the same volume can't be scheduled there. This is GCE, Amazon EBS, ISCSI and Ceph RBD specific for now: - GCE PD allows multiple mounts as long as they're all read-only - AWS EBS forbids any two pods mounting the same volume ID - Ceph RBD forbids if any two pods share at least same monitor, and match pool and image, and the image is read-only - ISCSI forbids if any two pods share at least same IQN and ISCSI volume is read-only

func (*VolumeRestrictions) Name Uses

func (pl *VolumeRestrictions) Name() string

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

Package volumerestrictions imports 4 packages (graph) and is imported by 34 packages. Updated 2020-10-16. Refresh now. Tools for package owners.