Panoramica delle opzioni di archiviazione

Puoi creare archiviazione permanente per i carichi di lavoro in esecuzione su GKE su Azure con gli oggetti Kubernetes.

Archiviazione piano di controllo

Quando crei un cluster, GKE su Azure esegue il provisioning di dischi LRS SSD Premium per il piano di controllo e i volumi etcd.

Utilizza l'archiviazione permanente in GKE sui carichi di lavoro Azure

In GKE su Azure, utilizzi le risorse Kubernetes PersistentVolume (PV), PersistentVolumeClaim (PVC) e StorageClass per fornire file permanenti e archiviazione a blocchi ai carichi di lavoro. Puoi creare snapshot di archiviazione permanente con le risorse VolumeSnapshot e VolumeSnapshotClass. Gli snapshot sono archiviati nel tuo account Azure.

StorageClass

I cluster hanno una classe predefinita di Kubernetes StorageClass che esegue il provisioning dinamico di archiviazione stateful per i carichi di lavoro su volumi Archiviazione su disco di Azure (AzureDisk). Puoi anche utilizzare un oggetto StorageClass diverso per eseguire il provisioning di altri tipi di volumi. Queste opzioni sono descritte nella sezione seguente.

Account di archiviazione Azure

GKE su Azure crea automaticamente un account di archiviazione Azure quando viene creato un cluster. Se vuoi utilizzare un account di archiviazione specifico, crea una classe di archiviazione personalizzata.

Configura l'archiviazione del cluster

Se vuoi eseguire il provisioning dei volumi di archiviazione con un oggetto StorageClass non predefinito, puoi creare un nuovo StorageClass in un cluster che utilizza parametri diversi o un driver di archiviazione diverso. Quindi, puoi impostare StorageClass come predefinito del cluster o configurare i tuoi carichi di lavoro per l'utilizzo dell'oggetto StorageClass. Ad esempio, puoi utilizzare uno StatefulSet per impostare un nome StorageClass specifico.

Archiviazione su disco di Azure (AzureDisk)

GKE su Azure gestisce i volumi di Azure Disk con azuredisk-csi-driver.

La versione del driver CSI è legata a GKE su Azure Kubernetes versione. Quando esegui l'upgrade della versione del cluster, GKE su Azure aggiorna automaticamente la versione del driver. Questa versione è in genere il driver più recente disponibile al momento del rilascio della versione di GKE su Azure. Il tipo di volume kubernetes.io/azure-disk legacy di Kubernetes non è supportato.

Il driver preinstallato con GKE su Azure fornisce per impostazione predefinita le seguenti classi di archiviazione:

  • standard-rwo (impostazione predefinita): utilizzata per il provisioning di dischi Azure SSD standard con LRS
  • premium-rwo: utilizzato per il provisioning di dischi Azure SSD premium con LRS

I volumi Azure Disk supportano la modalità di accesso ReadWriteOnce di Kubernetes.

Snapshot di volumi

Puoi utilizzare la risorsa VolumeSnapshot per creare snapshot di volumi di archiviazione. Successivamente, puoi eseguire il provisioning dei nuovi volumi permanenti da questi snapshot.

Clonazione di volumi

Puoi utilizzare la clonazione di volumi CSI per clonare i volumi di Azure Disk esistenti. Per ulteriori informazioni, consulta l'esempio di clonazione di volumi.

Ridimensionamento del volume

Puoi ridimensionare i volumi di Azure Disk scollegati con il ridimensionamento dei volumi. Per ulteriori informazioni, consulta l'esempio di ridimensionamento del volume. Il ridimensionamento quando il volume è collegato e montato non è supportato.

Dischi condivisi Azure

Per i carichi di lavoro progettati per coordinare le scritture su un disco a blocchi non elaborati condiviso, GKE su Azure supporta i dischi condivisi di Azure. Per maggiori informazioni, consulta Disco condiviso(letturascrittura multi-nodo) nella documentazione CSI del disco di Azure.

Archiviazione file di Azure (AzureFile)

GKE su Azure gestisce i volumi dei file di Azure con azurefile-csi-driver

Il driver CSI è collegato a GKE sulla versione Azure Kubernetes. Quando esegui l'upgrade della versione del cluster, la nuova versione del driver viene applicata automaticamente. Questa versione è in genere il driver più recente disponibile al momento del rilascio della versione di GKE su Azure. Il tipo di volume kubernetes.io/azure-file Kubernetes legacy non è supportato.

Il driver preinstallato con GKE su Azure fornisce per impostazione predefinita le seguenti classi di archiviazione:

  • standard-rwx: utilizzato per il provisioning di SSD standard Condivisioni file di Azure con LRS
  • premium-rwx: utilizzato per il provisioning di SSD premium Condividi file di Azure con LRS

I volumi file di Azure utilizzano la modalità di accesso ReadWriteinto di Kubernetes.

Snapshot di volumi

Puoi utilizzare la risorsa VolumeSnapshot per creare snapshot di volumi di file di Azure. Per ulteriori informazioni, consulta la documentazione sulla funzionalità Snapshot file di Azure. Per ripristinare uno snapshot, utilizza il portale Azure. Per ulteriori informazioni, consulta la Panoramica della condivisione di snapshot per i file di Azure.

Ridimensionamento del volume

Puoi ridimensionare i volumi di Azure File tramite il ridimensionamento del volume. Per ulteriori informazioni, consulta l'esempio di ridimensionamento del volume.

Driver di archiviazione aggiuntivi

GKE su Azure può essere utilizzato con altri sistemi di archiviazione di terze parti tramite driver di Container Storage Interface (CSI) di terze parti (opzione consigliata) o plug-in di volumi Kubernetes integrati.

Driver CSI

Container Storage Interface (CSI) è un'API standard aperta che consente a Kubernetes di collegare sistemi di archiviazione arbitrari ai carichi di lavoro containerizzati. Un elenco non completo dei driver CSI è disponibile nella documentazione per gli sviluppatori CSI di Kubernetes. GKE su Azure supporta CSI v1.x,

Per utilizzare un driver CSI nel tuo cluster, devi installare il driver CSI fornito dal tuo fornitore di spazio di archiviazione. Puoi quindi configurare i carichi di lavoro per utilizzare l'oggetto StorageClass del driver o impostarlo come StorageClass predefinito.

Driver di archiviazione specifici per Azure

I seguenti driver di volume possono essere utilizzati con GKE su Azure:

GKE su Azure non gestisce direttamente l'archiviazione Blob di Azure. Puoi installare manualmente il driver CSI di blob-csi-driver, ma Google non offre assistenza.

Plug-in di volumi Kubernetes in-tree

Kubernetes viene fornito con plug-in di volume in-tree (integrati). I driver in-tree supportati includono:

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • proiezione
  • secrets

Che cosa succede dopo?