I could not get documentation on manual
storageclasses and kubernetes.io/no-provisioner
provisioner type. Could some one please explain them
Manual storage classes are nothing but a Kubernetes storage mechanism that lets you dynamically provision persistent volumes (PV) in a Kubernetes cluster. Kubernetes administrators define classes of storage, and then pods can dynamically request the specific type of storage.
Whereas "Provisioner" is used especially when dynamic provisioning is involved. kubernetes.io/no-provisioner is one of the plugins from the storage plugins. This is a storage class that can be used as default when local persistent volumes are manually provisioned. This also indicates that no dynamic provisioning should occur for a specific StorageClass. Essentially, it means that the user is responsible for manually creating PersistentVolumes for any claims that use this StorageClass.
Refer to this Kubernetes StorageClass: Concepts and Common Operations authored by Yifat Perry and official documentation on storage class.