Use an Azure Disk volume

GKE on Azure automatically deploys the azuredisk-csi-driver to provision and manage Azure Disk volumes in your clusters.

The GKE on Azure Azure Disk CSI Driver version is tied to a Kubernetes cluster version. The driver version is typically the latest available when the GKE version is released. When the cluster is upgraded, the drivers update automatically.

For more information on how GKE on Azure provides persistent storage, see Storage overview .

Default storage classes

GKE on Azure provides the following StorageClass options by default:

Before you begin

Use the default StorageClass

When you create a PersistentVolumeClaim without setting the field spec.storageClassName , GKE on Azure provisions an Azure Standard SSD volume using the default GKE on Azure Azure Disk CSI Driver StorageClass.

The following YAML creates a PersistentVolumeClaim (PVC) named mypvc with a size of 30 gibibytes.

  apiVersion 
 : 
  
 v1 
 kind 
 : 
  
 PersistentVolumeClaim 
 metadata 
 : 
  
 name 
 : 
  
 mypvc 
 spec 
 : 
  
 accessModes 
 : 
  
 - 
  
 ReadWriteOnce 
  
 resources 
 : 
  
 requests 
 : 
  
 storage 
 : 
  
 30Gi 
 

Use the premium storage class

When you create a PersistentVolumeClaim and sed the field spec.storageClassName to premium-rwo , GKE on Azure provisions an Azure premium SSD volume .

The following YAML creates a PersistentVolumeClaim (PVC) named mypvc with a size of 30 gibibytes.

  apiVersion 
 : 
  
 v1 
 kind 
 : 
  
 PersistentVolumeClaim 
 metadata 
 : 
  
 name 
 : 
  
 mypvc 
 spec 
 : 
  
 storageClassName 
 : 
  
 premium-rwo 
  
 accessModes 
 : 
  
 - 
  
 ReadWriteOnce 
  
 resources 
 : 
  
 requests 
 : 
  
 storage 
 : 
  
 30Gi 
 

Reference the StorageClass in a StatefulSet

To use your new StorageClass, you can reference it in a StatefulSet's volumeClaimTemplates .

When you reference a StorageClass in a StatefulSet's volumeClaimTemplates specification, Kubernetes provides stable storage using PersistentVolumes (PVs). Kubernetes calls the provisioner defined in the StorageClass to create a new storage volume. After the volume is provisioned, Kubernetes automatically creates a PV.

The following StatefulSet references the premium-rwo StorageClass and provisions a 1 gibibyte volume:

  apiVersion 
 : 
  
 apps/v1 
 kind 
 : 
  
 StatefulSet 
 metadata 
 : 
  
 name 
 : 
  
 web 
 spec 
 : 
  
 selector 
 : 
  
 matchLabels 
 : 
  
 app 
 : 
  
 nginx 
  
 template 
 : 
  
 metadata 
 : 
  
 labels 
 : 
  
 app 
 : 
  
 nginx 
  
 spec 
 : 
  
 containers 
 : 
  
 - 
  
 name 
 : 
  
 nginx 
  
 image 
 : 
  
 registry.k8s.io/nginx-slim:0.8 
  
 volumeMounts 
 : 
  
 - 
  
 name 
 : 
  
 www 
  
 mountPath 
 : 
  
 /usr/share/nginx/html 
  
 volumeClaimTemplates 
 : 
  
 # This is the specification in which you reference the StorageClass 
  
 - 
  
 metadata 
 : 
  
 name 
 : 
  
 www 
  
 spec 
 : 
  
 accessModes 
 : 
  
 [ 
  
 "ReadWriteOnce" 
  
 ] 
  
 resources 
 : 
  
 requests 
 : 
  
 storage 
 : 
  
 1Gi 
  
 storageClassName 
 : 
  
 premium-rwo 
  
 # This field references the existing StorageClass 
 

What's next

Create a Mobile Website
View Site in Mobile | Classic
Share by: