Gestire le classi di archiviazione
È possibile visualizzare le classi di archiviazione esistenti, impostare una classe di archiviazione predefinita, identificare il backend della classe di archiviazione ed eliminare le classi di archiviazione.
Visualizza le classi di archiviazione esistenti
-
Per visualizzare le classi di archiviazione Kubernetes esistenti, eseguire il seguente comando:
kubectl get storageclass
-
Per visualizzare i dettagli della classe di archiviazione Kubernetes, eseguire il seguente comando:
kubectl get storageclass <storage-class> -o json
-
Per visualizzare le classi di archiviazione sincronizzate di Trident, eseguire il seguente comando:
tridentctl get storageclass
-
Per visualizzare i dettagli della classe di archiviazione sincronizzata di Trident, eseguire il seguente comando:
tridentctl get storageclass <storage-class> -o json
Imposta una classe di archiviazione predefinita
Kubernetes 1.6 ha aggiunto la possibilità di impostare una classe di archiviazione predefinita. Questa è la classe di archiviazione che verrà utilizzata per fornire un volume persistente se un utente non ne specifica uno in una richiesta di volume persistente (PVC).
-
Definisci una classe di archiviazione predefinita impostando l'annotazione
storageclass.kubernetes.io/is-default-classsu true nella definizione della classe di archiviazione. Secondo la specifica, qualsiasi altro valore o l'assenza dell'annotazione viene interpretato come falso. -
È possibile configurare una classe di archiviazione esistente come classe di archiviazione predefinita utilizzando il seguente comando:
kubectl patch storageclass <storage-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
-
Allo stesso modo, è possibile rimuovere l'annotazione della classe di archiviazione predefinita utilizzando il seguente comando:
kubectl patch storageclass <storage-class-name> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'
Ci sono anche esempi nel pacchetto di installazione Trident che includono questa annotazione.
|
|
Nel cluster dovrebbe essere presente una sola classe di archiviazione predefinita alla volta. Tecnicamente Kubernetes non impedisce di averne più di una, ma si comporterà come se non ci fosse alcuna classe di archiviazione predefinita. |
Identificare il backend per una classe di archiviazione
Questo è un esempio del tipo di domande a cui puoi rispondere con il JSON che tridentctl output per gli oggetti backend Trident . Questo utilizza il jq utilità, che potrebbe essere necessario installare prima.
tridentctl get storageclass -o json | jq '[.items[] | {storageClass: .Config.name, backends: [.storage]|unique}]'
Elimina una classe di archiviazione
Per eliminare una classe di archiviazione da Kubernetes, esegui il seguente comando:
kubectl delete storageclass <storage-class>
`<storage-class>`dovrebbe essere sostituito con la tua classe di archiviazione.
Tutti i volumi persistenti creati tramite questa classe di archiviazione rimarranno intatti e Trident continuerà a gestirli.
|
|
Trident impone un vuoto fsType per i volumi che crea. Per i backend iSCSI, si consiglia di applicare parameters.fsType nella StorageClass. Dovresti eliminare le StorageClass esistenti e ricrearle con parameters.fsType specificato.
|