This documentation is for the most recent version of Anthos clusters on Azure, released in November 2021. See the Release notes for more information.
Stay organized with collections Save and categorize content based on your preferences.

Use an Azure Disk volume

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

The Anthos clusters 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 Anthos clusters on Azure provides persistent storage, see Storage overview.

Default storage classes

Anthos clusters 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, Anthos clusters on Azure provisions an Azure Standard SSD volume using the default Anthos clusters 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, Anthos clusters 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