Questo argomento spiega come installare un driver di archiviazione Container Storage Interface (CSI) sui tuoi cluster.
Panoramica
Per impostazione predefinita, GKE su AWS esegue il provisioning dei volumi EBS AWS utilizzando l'StorageClass predefinito. Se i tuoi carichi di lavoro devono utilizzare un altro tipo di volume di archiviazione, puoi installare un driver CSI compatibile per fornirne l'accesso.
Container Storage Interface
(CSI)
è un'API open standard che consente ai carichi di lavoro Kubernetes di accedere a sistemi di archiviazione conformi. CSI consente inoltre di utilizzare funzionalità di archiviazione moderne come il ridimensionamento e gli snapshot.
Dopo aver installato un driver CSI, devi creare un StorageClass Kubernetes. Imposti il driver CSI come provisioning per StorageClass. Dopodiché puoi impostare StorageClass come predefinito o configurare i carichi di lavoro in modo che utilizzino StorageClass. Per un esempio di come creare un StatefulSet con una classe StorageClass personalizzata, consulta Utilizzare StorageClasses con i tuoi carichi di lavoro.
Installare un driver CSI di un fornitore
I fornitori di soluzioni di archiviazione sono responsabili di fornire le istruzioni di installazione per i propri driver CSI. Consulta l'elenco dei driver CSI nella documentazione di CSI.
Segui le istruzioni di installazione del driver CSI, quindi procedi con i passaggi successivi di questa pagina.
Verificare l'installazione del driver
Dopo aver installato un driver CSI, puoi verificare l'installazione eseguendo i seguenti comandi.
kubectl get csinodes \
-o jsonpath='{range .items[*]} {.metadata.name}{": "} {range .spec.drivers[*]} {.name}{"\n"} {end}{end}'
Come utilizzare un driver CSI
Per utilizzare un driver CSI:
Crea un StorageClass personalizzato che fa riferimento al driver nel campo
provisioner
.Per eseguire il provisioning dello spazio di archiviazione, puoi:
- Fai riferimento alla StorageClass nella specifica
volumeClaimTemplates
di un StatefulSet. - Impostala come StorageClass predefinita del cluster.
- Fai riferimento alla StorageClass nella specifica
Considerazioni per StorageClass supportato da un driver CSI
Quando crei una classe di archiviazione, tieni presente quanto segue:
Consulta la documentazione del driver CSI per i parametri specifici del driver da fornire alla classe di archiviazione, incluso il nome del provisioning.
Devi assegnare un nome a StorageClass in base alle sue proprietà (ad esempio
fast
ohighly-replicated
), anziché al nome del driver o dell'appliance specifico alla base. Quando assegni un nome a un StorageClass in base alle sue proprietà, puoi creare StorageClass con lo stesso nome in cluster e ambienti diversi. Poi configura i carichi di lavoro in modo che utilizzino lo stesso StorageClass.
Passaggi successivi
- Crea una StorageClass che fa riferimento al driver CSI.