Create Storage Class in Azure Kubernetes Cluster

Follow # Dynamically create and use a persistent volume with Azure Files in Azure Kubernetes Service (AKS) to create a new storage class in AKS:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: standard-grs
provisioner: kubernetes.io/azure-disk
parameters:
  cachingmode: ReadOnly
  kind: Managed
  skuName: Standard_GRS
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: Immediate

If you create new resource by kubernetes dashboard, an error might occur:

Deploying file has failed
the server could not find the requested resource

Two solutions: * Using kubectl apply -f command * Change kubernetes dashboard namespace to All namespaces, then create again

Another error might happen when claming PVC:

error while running "VolumeBinding" prebind plugin for pod "xxx": Failed to bind volumes: provisioning failed for PVC "xxx"

The error message can be found via kubectl describe pvc:

$ kubectl.exe describe pvc xxx
Name:          xxx
Namespace:     xxx
StorageClass:  standard-grs
Status:        Pending
Volume:
Labels:        app=xxx
Annotations:   volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/azure-disk
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
VolumeMode:    Filesystem
Used By:       xxx
Events:
  Type     Reason              Age                  From                         Message
  ----     ------              ----                 ----                         -------
  Warning  ProvisioningFailed  13s (x9 over 3m40s)  persistentvolume-controller  Failed to provision volume with StorageClass "standard-grs": azureDisk - Standard_GRS is not supported sku/storageaccounttype. Supported values are [Premium_LRS Standard_LRS StandardSSD_LRS UltraSSD_LRS]

Specifically, the error above cannot be resolved inside this cluster. One alternative would be create another cluster which supports sku Standard_GRS.