Utilizzo di un volume disco Azure

GKE su Azure esegue automaticamente il deployment di azuredisk-csi-driver per eseguire il provisioning e gestire i volumi di dischi Azure nei tuoi cluster.

La versione del driver CSI di Azure Disk di GKE su Azure è associata a una versione del cluster Kubernetes. La versione del driver è in genere l'ultima disponibile al momento del rilascio della versione di GKE. Quando viene eseguito l'upgrade del cluster, i driver vengono aggiornati automaticamente.

Per saperne di più su come GKE su Azure fornisce l'archiviazione permanente, consulta la panoramica dell'archiviazione.

Classi di archiviazione predefinite

GKE su Azure fornisce le seguenti opzioni StorageClass per impostazione predefinita:

  • standard-rwo (predefinito): esegue il provisioning di dischi SSD Azure standard con LRS
  • premium-rwo: esegue il provisioning di dischi Azure SSD Premium con LRS

Prima di iniziare

Utilizzare la risorsa StorageClass predefinita

Quando crei un PersistentVolumeClaim senza impostare il campo spec.storageClassName, GKE su Azure esegue il provisioning di un volume SSD standard utilizzando l'oggetto StorageClass predefinito del driver CSI Azure Disk di GKE su Azure.

Il seguente YAML crea una PersistentVolumeClaim (PVC) denominata mypvc con una dimensione di 30 gibibyte.

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

Utilizza la classe di archiviazione premium

Quando crei un PersistentVolumeClaim e imposti il campo spec.storageClassName su premium-rwo, GKE su Azure esegue il provisioning di un volume SSD Premium di Azure.

Il seguente file YAML crea una PersistentVolumeClaim (PVC) denominata mypvc con una dimensione di 30 gibibyte.

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

Fai riferimento a StorageClass in un oggetto StatefulSet

Per utilizzare il nuovo StorageClass, puoi farvi riferimento in volumeClaimTemplates di uno StatefulSet.

Quando fai riferimento a una StorageClass nella specifica volumeClaimTemplates di uno StatefulSet, Kubernetes fornisce spazio di archiviazione stabile utilizzando PersistentVolume (PV). Kubernetes chiama il provisioner definito in StorageClass per creare un nuovo volume di archiviazione. Dopo il provisioning del volume, Kubernetes crea automaticamente un PV.

Il seguente StatefulSet fa riferimento alla classe di archiviazione premium-rwo e provisiona un volume di 1 gibibyte:

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

Passaggi successivi