<p>Is storage classes cluster level objects in kubernetes?</p>

<p>Because when I type 
Kubectl get sc storagclassname 
It will show storage classes without having to give any specific namespace.</p>

kapata rajesh
<p>I will try to provide a bit more insides to <a href="https://stackoverflow.com/users/78722/coderanger">@coderanger</a> answer.</p>

<p>First what is <a href="https://kubernetes.io/docs/concepts/storage/storage-classes/" rel="nofollow noreferrer">Storage Class</a>:</p>

<blockquote>
  <p>StorageClass provides a way for administrators to describe the “classes” of storage they offer. Different classes might map to quality-of-service levels, or to backup policies, or to arbitrary policies determined by the cluster administrators. Kubernetes itself is unopinionated about what classes represent. This concept is sometimes called “profiles” in other storage systems. </p>
  
  <p>Each StorageClass contains the fields  <code>provisioner</code>,  <code>parameters</code>, and  <code>reclaimPolicy</code>, which are used when a PersistentVolume belonging to the class needs to be dynamically provisioned.</p>
  
  <p>The name of a StorageClass object is significant, and is how users can request a particular class. Administrators set the name and other parameters of a class when first creating StorageClass objects, and the objects cannot be updated once they are created.</p>
</blockquote>

<p>Now we can try <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/#kubernetes-objects" rel="nofollow noreferrer">understanding Kubernetes Objects</a> :</p>

<blockquote>
  <p><em>Kubernetes objects</em>  are persistent entities in the Kubernetes system. Kubernetes uses these entities to represent the state of your cluster. Specifically, they can describe:</p>
  
  <ul>
  <li>What containerized applications are running (and on which nodes)</li>
  <li>The resources available to those applications</li>
  <li>The policies around how those applications behave, such as restart policies, upgrades, and fault-tolerance</li>
  </ul>
  
  <p>A Kubernetes object is a “record of intent”–once you create the object, the Kubernetes system will constantly work to ensure that object exists. By creating an object, you’re effectively telling the Kubernetes system what you want your cluster’s workload to look like; this is your cluster’s  <em>desired state</em>.</p>
  
  <p>To work with Kubernetes objects–whether to create, modify, or delete them–you’ll need to use the  <a href="https://kubernetes.io/docs/concepts/overview/kubernetes-api/" rel="nofollow noreferrer">Kubernetes API</a>. When you use the  <code>kubectl</code>  command-line interface, for example, the CLI makes the necessary Kubernetes API calls for you. You can also use the Kubernetes API directly in your own programs using one of the  <a href="https://kubernetes.io/docs/reference/using-api/client-libraries/" rel="nofollow noreferrer">Client Libraries</a>.</p>
</blockquote>

<p>If you would like to know more about Kubernetes Object I'd recommend reading <a href="https://kubernetes.io/docs/tasks/manage-kubernetes-objects/" rel="nofollow noreferrer">Declarative Management of Kubernetes Objects</a> and <a href="https://medium.com/@chkrishna/kubernetes-objects-e0a8b93b5cdc" rel="nofollow noreferrer">Kubernetes Objects</a>.</p>
