Documentation ¶
Index ¶
- func RegisterMetrics(logger klog.Logger, cache cache.VolumeCache)
- type Controller
- func (c *Controller) CSIDriverLister() storagelisters.CSIDriverLister
- func (c *Controller) DeleteServiceAccountTokenFunc() func(types.UID)
- func (c *Controller) GetAttachedVolumesFromNodeStatus() (map[v1.UniqueVolumeName]string, error)
- func (c *Controller) GetConfigMapFunc() func(namespace, name string) (*v1.ConfigMap, error)
- func (c *Controller) GetEventRecorder() record.EventRecorder
- func (c *Controller) GetExec(pluginName string) utilexec.Interface
- func (c *Controller) GetHostIP() (net.IP, error)
- func (c *Controller) GetHostName() string
- func (c *Controller) GetKubeClient() clientset.Interface
- func (c *Controller) GetMounter(pluginName string) mount.Interface
- func (c *Controller) GetNodeAllocatable() (v1.ResourceList, error)
- func (c *Controller) GetNodeLabels() (map[string]string, error)
- func (c *Controller) GetNodeName() types.NodeName
- func (c *Controller) GetPluginDir(podUID string) string
- func (c *Controller) GetPodPluginDir(podUID types.UID, pluginName string) string
- func (c *Controller) GetPodVolumeDeviceDir(podUID types.UID, pluginName string) string
- func (c *Controller) GetPodVolumeDir(podUID types.UID, pluginName, volumeName string) string
- func (c *Controller) GetPodsDir() string
- func (c *Controller) GetSecretFunc() func(namespace, name string) (*v1.Secret, error)
- func (c *Controller) GetServiceAccountTokenFunc() ...
- func (c *Controller) GetSubpather() subpath.Interface
- func (c *Controller) GetVolumeDevicePluginDir(podUID string) string
- func (c *Controller) NewWrapperMounter(volName string, spec volume.Spec, pod *v1.Pod) (volume.Mounter, error)
- func (c *Controller) NewWrapperUnmounter(volName string, spec volume.Spec, podUID types.UID) (volume.Unmounter, error)
- func (c *Controller) Run(ctx context.Context, workers int)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterMetrics ¶
func RegisterMetrics(logger klog.Logger, cache cache.VolumeCache)
Types ¶
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
SELinuxWarning controller is a controller that emits a warning event and metrics when two pods *might* use the same volume with different SELinux labels. It is optional. It does nothing on a cluster that has SELinux disabled. It does not modify any API objects except for the warning events.
The controller watches *all* Pods and reports issues on all their volumes, regardless if the Pod actually run on are Pending forever or if they have correct node anti-affinity and never run on the same node.
func NewController ¶
func NewController( ctx context.Context, kubeClient clientset.Interface, podInformer coreinformers.PodInformer, pvcInformer coreinformers.PersistentVolumeClaimInformer, pvInformer coreinformers.PersistentVolumeInformer, csiDriverInformer storageinformersv1.CSIDriverInformer, plugins []volume.VolumePlugin, prober volume.DynamicPluginProber, ) (*Controller, error)
func (*Controller) CSIDriverLister ¶
func (c *Controller) CSIDriverLister() storagelisters.CSIDriverLister
func (*Controller) DeleteServiceAccountTokenFunc ¶
func (c *Controller) DeleteServiceAccountTokenFunc() func(types.UID)
func (*Controller) GetAttachedVolumesFromNodeStatus ¶
func (c *Controller) GetAttachedVolumesFromNodeStatus() (map[v1.UniqueVolumeName]string, error)
func (*Controller) GetConfigMapFunc ¶
func (c *Controller) GetConfigMapFunc() func(namespace, name string) (*v1.ConfigMap, error)
func (*Controller) GetEventRecorder ¶
func (c *Controller) GetEventRecorder() record.EventRecorder
func (*Controller) GetHostName ¶
func (c *Controller) GetHostName() string
func (*Controller) GetKubeClient ¶
func (c *Controller) GetKubeClient() clientset.Interface
func (*Controller) GetMounter ¶
func (c *Controller) GetMounter(pluginName string) mount.Interface
func (*Controller) GetNodeAllocatable ¶
func (c *Controller) GetNodeAllocatable() (v1.ResourceList, error)
func (*Controller) GetNodeLabels ¶
func (c *Controller) GetNodeLabels() (map[string]string, error)
func (*Controller) GetNodeName ¶
func (c *Controller) GetNodeName() types.NodeName
func (*Controller) GetPluginDir ¶
func (c *Controller) GetPluginDir(podUID string) string
VolumeHost implementation. It requires a lot of kubelet specific methods that are not used in the controller.
func (*Controller) GetPodPluginDir ¶
func (c *Controller) GetPodPluginDir(podUID types.UID, pluginName string) string
func (*Controller) GetPodVolumeDeviceDir ¶
func (c *Controller) GetPodVolumeDeviceDir(podUID types.UID, pluginName string) string
func (*Controller) GetPodVolumeDir ¶
func (c *Controller) GetPodVolumeDir(podUID types.UID, pluginName, volumeName string) string
func (*Controller) GetPodsDir ¶
func (c *Controller) GetPodsDir() string
func (*Controller) GetSecretFunc ¶
func (c *Controller) GetSecretFunc() func(namespace, name string) (*v1.Secret, error)
func (*Controller) GetServiceAccountTokenFunc ¶
func (c *Controller) GetServiceAccountTokenFunc() func(_, _ string, _ *authenticationv1.TokenRequest) (*authenticationv1.TokenRequest, error)
func (*Controller) GetSubpather ¶
func (c *Controller) GetSubpather() subpath.Interface
func (*Controller) GetVolumeDevicePluginDir ¶
func (c *Controller) GetVolumeDevicePluginDir(podUID string) string
func (*Controller) NewWrapperMounter ¶
func (*Controller) NewWrapperUnmounter ¶
Click to show internal directories.
Click to hide internal directories.