Utilizzo di un volume disco Azure

GKE su Azure esegue automaticamente il deployment di azuredisk-csi-driver per eseguire il provisioning e la gestione dei volumi di Azure Disk nei tuoi cluster.

La versione del driver CSI per GKE su Azure Disk è collegata 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 si aggiornano automaticamente.

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

Classi di archiviazione predefinite

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

  • standard-rwo (impostazione predefinita): esegue il provisioning dei dischi Azure SSD standard con LRS
  • premium-rwo: esegue il provisioning dei dischi Azure SSD premium con LRS

Prima di iniziare

Utilizza il valore predefinito di StorageClass

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

Il seguente YAML crea un PersistentVolumeClaim (PVC) denominato 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 oggetto 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 YAML crea un PersistentVolumeClaim (PVC) denominato mypvc con una dimensione di 30 gibibyte.

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

Riferimento a StorageClass in un StatefulSet

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

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

Il seguente StatefulSet fa riferimento a premium-rwo StorageClass e esegue il provisioning di un volume da 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