kubernetesk8s.io/kubernetes/pkg/controller/volume/persistentvolume Index | Files | Directories

package persistentvolume

import "k8s.io/kubernetes/pkg/controller/volume/persistentvolume"

Index

Types

type CSIMigratedPluginManager

type CSIMigratedPluginManager interface {
	IsMigrationEnabledForPlugin(pluginName string) bool
}

CSIMigratedPluginManager keeps track of CSI migration status of a plugin

type CSINameTranslator

type CSINameTranslator interface {
	GetCSINameFromInTreeName(pluginName string) (string, error)
}

CSINameTranslator can get the CSI Driver name based on the in-tree plugin name

type ControllerParameters

type ControllerParameters struct {
	KubeClient                clientset.Interface
	SyncPeriod                time.Duration
	VolumePlugins             []vol.VolumePlugin
	VolumeInformer            coreinformers.PersistentVolumeInformer
	ClaimInformer             coreinformers.PersistentVolumeClaimInformer
	ClassInformer             storageinformers.StorageClassInformer
	PodInformer               coreinformers.PodInformer
	NodeInformer              coreinformers.NodeInformer
	EnableDynamicProvisioning bool
}

ControllerParameters contains arguments for creation of a new PersistentVolume controller.

type PersistentVolumeController

type PersistentVolumeController struct {
	NodeLister       corelisters.NodeLister
	NodeListerSynced cache.InformerSynced
	// contains filtered or unexported fields
}

PersistentVolumeController is a controller that synchronizes PersistentVolumeClaims and PersistentVolumes. It starts two cache.Controllers that watch PersistentVolume and PersistentVolumeClaim changes.

func NewController

NewController creates a new PersistentVolume controller

func (*PersistentVolumeController) DeleteServiceAccountTokenFunc

func (ctrl *PersistentVolumeController) DeleteServiceAccountTokenFunc() func(types.UID)

func (*PersistentVolumeController) GetAttachedVolumesFromNodeStatus

func (ctrl *PersistentVolumeController) GetAttachedVolumesFromNodeStatus() (map[v1.UniqueVolumeName]string, error)

func (*PersistentVolumeController) GetConfigMapFunc

func (ctrl *PersistentVolumeController) GetConfigMapFunc() func(namespace, name string) (*v1.ConfigMap, error)

func (*PersistentVolumeController) GetEventRecorder

func (ctrl *PersistentVolumeController) GetEventRecorder() record.EventRecorder

func (*PersistentVolumeController) GetExec

func (adc *PersistentVolumeController) GetExec(pluginName string) utilexec.Interface

func (*PersistentVolumeController) GetHostIP

func (ctrl *PersistentVolumeController) GetHostIP() (net.IP, error)

func (*PersistentVolumeController) GetHostName

func (ctrl *PersistentVolumeController) GetHostName() string

func (*PersistentVolumeController) GetKubeClient

func (ctrl *PersistentVolumeController) GetKubeClient() clientset.Interface

func (*PersistentVolumeController) GetMounter

func (ctrl *PersistentVolumeController) GetMounter(pluginName string) mount.Interface

func (*PersistentVolumeController) GetNodeAllocatable

func (ctrl *PersistentVolumeController) GetNodeAllocatable() (v1.ResourceList, error)

func (*PersistentVolumeController) GetNodeLabels

func (ctrl *PersistentVolumeController) GetNodeLabels() (map[string]string, error)

func (*PersistentVolumeController) GetNodeName

func (ctrl *PersistentVolumeController) GetNodeName() types.NodeName

func (*PersistentVolumeController) GetPluginDir

func (ctrl *PersistentVolumeController) GetPluginDir(pluginName string) string

func (*PersistentVolumeController) GetPodPluginDir

func (ctrl *PersistentVolumeController) GetPodPluginDir(podUID types.UID, pluginName string) string

func (*PersistentVolumeController) GetPodVolumeDeviceDir

func (ctrl *PersistentVolumeController) GetPodVolumeDeviceDir(ppodUID types.UID, pluginName string) string

func (*PersistentVolumeController) GetPodVolumeDir

func (ctrl *PersistentVolumeController) GetPodVolumeDir(podUID types.UID, pluginName string, volumeName string) string

func (*PersistentVolumeController) GetPodsDir

func (ctrl *PersistentVolumeController) GetPodsDir() string

func (*PersistentVolumeController) GetSecretFunc

func (ctrl *PersistentVolumeController) GetSecretFunc() func(namespace, name string) (*v1.Secret, error)

func (*PersistentVolumeController) GetServiceAccountTokenFunc

func (ctrl *PersistentVolumeController) GetServiceAccountTokenFunc() func(_, _ string, _ *authenticationv1.TokenRequest) (*authenticationv1.TokenRequest, error)

func (*PersistentVolumeController) GetSubpather

func (ctrl *PersistentVolumeController) GetSubpather() subpath.Interface

func (*PersistentVolumeController) GetVolumeDevicePluginDir

func (ctrl *PersistentVolumeController) GetVolumeDevicePluginDir(pluginName string) string

func (*PersistentVolumeController) NewWrapperMounter

func (ctrl *PersistentVolumeController) NewWrapperMounter(volName string, spec vol.Spec, pod *v1.Pod) (vol.Mounter, error)

func (*PersistentVolumeController) NewWrapperUnmounter

func (ctrl *PersistentVolumeController) NewWrapperUnmounter(volName string, spec vol.Spec, podUID types.UID) (vol.Unmounter, error)

func (*PersistentVolumeController) Run

Run starts all of this controller's control loops

Source Files

index.go pv_controller.go pv_controller_base.go volume_host.go

Directories

PathSynopsis
pkg/controller/volume/persistentvolume/config
pkg/controller/volume/persistentvolume/config/v1alpha1
pkg/controller/volume/persistentvolume/metrics
pkg/controller/volume/persistentvolume/options
pkg/controller/volume/persistentvolume/testing
Version
v1.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
55 packages
Last checked
3 hours ago

Tools for package owners.