package csi
import "k8s.io/kubernetes/pkg/volume/csi"
Index ¶
- Constants
- Variables
- func GetCSIDriverName(spec *volume.Spec) (string, error)
- func GetCSIMounterPath(path string) string
- func NewCSINodeUpdater(driverInformer cache.SharedIndexInformer) (*csiNodeUpdater, error)
- func NewMetricsCsi(volumeID string, targetPath string, driverName csiDriverName) volume.MetricsProvider
- func ProbeVolumePlugins() []volume.VolumePlugin
- type Driver
- type DriversStore
- func (s *DriversStore) Clear()
- func (s *DriversStore) Delete(driverName string)
- func (s *DriversStore) Get(driverName string) (Driver, bool)
- func (s *DriversStore) Set(driverName string, driver Driver)
- type MetricsManager
- func NewCSIMetricsManager(driverName string) *MetricsManager
- func (cmm *MetricsManager) RecordMetricsInterceptor( ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error
- type RegistrationHandler
- func (h *RegistrationHandler) DeRegisterPlugin(pluginName, endpoint string)
- func (h *RegistrationHandler) RegisterPlugin(pluginName string, endpoint string, versions []string, pluginClientTimeout *time.Duration) error
- func (h *RegistrationHandler) ValidatePlugin(pluginName string, endpoint string, versions []string) error
Constants ¶
const ( // CSIPluginName is the name of the in-tree CSI Plugin CSIPluginName = "kubernetes.io/csi" // CsiResyncPeriod is default resync period duration // TODO: increase to something useful CsiResyncPeriod = time.Minute )
const ( // TestInformerSyncPeriod is informer sync period duration for testing TestInformerSyncPeriod = 100 * time.Millisecond // TestInformerSyncTimeout is informer timeout duration for testing TestInformerSyncTimeout = 30 * time.Second )
Variables ¶
var PluginHandler = &RegistrationHandler{}
PluginHandler is the plugin registration handler interface passed to the pluginwatcher module in kubelet
Functions ¶
func GetCSIDriverName ¶
GetCSIDriverName returns the csi driver name
func GetCSIMounterPath ¶
GetCSIMounterPath returns the mounter path given the base path.
func NewCSINodeUpdater ¶
func NewCSINodeUpdater(driverInformer cache.SharedIndexInformer) (*csiNodeUpdater, error)
NewCSINodeUpdater creates a new csiNodeUpdater
func NewMetricsCsi ¶
func NewMetricsCsi(volumeID string, targetPath string, driverName csiDriverName) volume.MetricsProvider
NewMetricsCsi creates a new metricsCsi with the Volume ID and path.
func ProbeVolumePlugins ¶
func ProbeVolumePlugins() []volume.VolumePlugin
ProbeVolumePlugins returns implemented plugins
Types ¶
type Driver ¶
type Driver struct {
// contains filtered or unexported fields
}
Driver is a description of a CSI Driver, defined by an endpoint and the highest CSI version supported
type DriversStore ¶
DriversStore holds a list of CSI Drivers
func (*DriversStore) Clear ¶
func (s *DriversStore) Clear()
Clear deletes all entries in the store. This methiod is protected by a mutex.
func (*DriversStore) Delete ¶
func (s *DriversStore) Delete(driverName string)
Delete lets you delete a CSI Driver by name. This method is protected by a mutex.
func (*DriversStore) Get ¶
func (s *DriversStore) Get(driverName string) (Driver, bool)
Get lets you retrieve a CSI Driver by name. This method is protected by a mutex.
func (*DriversStore) Set ¶
func (s *DriversStore) Set(driverName string, driver Driver)
Set lets you save a CSI Driver to the list and give it a specific name. This method is protected by a mutex.
type MetricsManager ¶
type MetricsManager struct {
// contains filtered or unexported fields
}
MetricsManager defines the metrics manager for CSI operation
func NewCSIMetricsManager ¶
func NewCSIMetricsManager(driverName string) *MetricsManager
NewCSIMetricsManager creates a CSIMetricsManager object
func (*MetricsManager) RecordMetricsInterceptor ¶
func (cmm *MetricsManager) RecordMetricsInterceptor( ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error
RecordMetricsInterceptor is a grpc interceptor that is used to record CSI operation
type RegistrationHandler ¶
type RegistrationHandler struct {
// contains filtered or unexported fields
}
RegistrationHandler is the handler which is fed to the pluginwatcher API.
func (*RegistrationHandler) DeRegisterPlugin ¶
func (h *RegistrationHandler) DeRegisterPlugin(pluginName, endpoint string)
DeRegisterPlugin is called when a plugin removed its socket, signaling it is no longer available
func (*RegistrationHandler) RegisterPlugin ¶
func (h *RegistrationHandler) RegisterPlugin(pluginName string, endpoint string, versions []string, pluginClientTimeout *time.Duration) error
RegisterPlugin is called when a plugin can be registered
func (*RegistrationHandler) ValidatePlugin ¶
func (h *RegistrationHandler) ValidatePlugin(pluginName string, endpoint string, versions []string) error
ValidatePlugin is called by kubelet's plugin watcher upon detection of a new registration socket opened by CSI Driver registrar side car.
Source Files ¶
csi_attacher.go csi_block.go csi_client.go csi_drivers_store.go csi_metrics.go csi_mounter.go csi_node_updater.go csi_plugin.go csi_util.go expander.go
Directories ¶
Path | Synopsis |
---|---|
pkg/volume/csi/fake | |
pkg/volume/csi/nodeinfomanager | Package nodeinfomanager includes internal functions used to add/delete labels to kubernetes nodes for corresponding CSI drivers |
pkg/volume/csi/testing |
- Version
- v1.33.0 (latest)
- Published
- Apr 23, 2025
- Platform
- linux/amd64
- Imports
- 45 packages
- Last checked
- 3 hours ago –
Tools for package owners.