Utilizzo di un volume disco Azure

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

La versione del driver GKE on Azure Azure Disk CSI è legata a una versione del cluster Kubernetes. In genere, la versione del driver è l'ultima disponibile al momento del rilascio della versione GKE. Quando viene eseguito l'upgrade del cluster, i driver si aggiornano automaticamente.

Per saperne di più su come GKE su Azure fornisce 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 dei dischi Azure SSD standard con LRS
  • premium-rwo: esegui la provisioning dei dischi Azure SSD premium con LRS

Prima di iniziare

Utilizzare la classe StorageClass predefinita

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

Il seguente codice YAML crea una richiesta di volume permanente (PVC) denominata mypvc con una dimensione di 30 gigabyte.

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

Utilizza la classe di archiviazione premium

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

Il seguente codice YAML crea una richiesta di volume permanente (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

Fare riferimento a StorageClass in un StatefulSet

Per utilizzare il nuovo StorageClass, puoi farvi riferimento nel volumeClaimTemplates di un StatefulSet.

Quando fai riferimento a un StorageClass nella volumeClaimTemplates specifica di un StatefulSet, Kubernetes fornisce uno spazio di archiviazione stabile utilizzando gli oggetti 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 esegue il provisioning di 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