code: func (kl *Kubelet) newVolumeMounterFromPlugins(spec *volume.Spec, pod *v1.Pod, opts volume.VolumeOptions) (volume.Mounter, error) {
  	plugin, err := kl.volumePluginMgr.FindPluginBySpec(spec)
  	if err != nil {
  		return nil, fmt.Errorf("can't use volume plugins for %s: %v", spec.Name(), err)
  	}
  	physicalMounter, err := plugin.NewMounter(spec, pod, opts)
  	if err != nil {
  		return nil, fmt.Errorf("failed to instantiate mounter for volume: %s using plugin: %s with a root cause: %v", spec.Name(), plugin.GetPluginName(), err)
  	}
  	klog.V(10).Infof("Using volume plugin %q to mount %s", plugin.GetPluginName(), spec.Name())
  	return physicalMounter, nil
  }
docs: // newVolumeMounterFromPlugins attempts to find a plugin by volume spec, pod
  // and volume options and then creates a Mounter.
  // Returns a valid mounter or an error.