Configurare un backend NetApp HCI o SolidFire
Scopri come creare e utilizzare un backend Element con la tua installazione Trident .
Dettagli del driver dell'elemento
Trident fornisce il solidfire-san driver di archiviazione per comunicare con il cluster. Le modalità di accesso supportate sono: ReadWriteOnce (RWO), ReadOnlyMany (ROX), ReadWriteMany (RWX), ReadWriteOncePod (RWOP).
IL solidfire-san il driver di archiviazione supporta le modalità volume file e block. Per il Filesystem volumeMode, Trident crea un volume e crea un file system. Il tipo di file system è specificato da StorageClass.
| Autista | Protocollo | Modalità Volume | Modalità di accesso supportate | Sistemi di file supportati |
|---|---|---|---|---|
|
iSCSI |
Bloccare |
RWO, ROX, RWX, RWOP |
Nessun file system. Dispositivo a blocchi grezzi. |
|
iSCSI |
File system |
RWO, RWOP |
|
Prima di iniziare
Prima di creare un backend Element, avrai bisogno di quanto segue.
-
Un sistema di archiviazione supportato che esegue il software Element.
-
Credenziali per un amministratore del cluster NetApp HCI/ SolidFire o un utente tenant in grado di gestire i volumi.
-
Tutti i nodi worker di Kubernetes devono avere installati gli strumenti iSCSI appropriati. Fare riferimento a"informazioni sulla preparazione del nodo worker" .
Opzioni di configurazione del backend
Per le opzioni di configurazione del backend, consultare la seguente tabella:
| Parametro | Descrizione | Predefinito |
|---|---|---|
|
Sempre 1 |
|
|
Nome del driver di archiviazione |
Sempre "solidfire-san" |
|
Nome personalizzato o backend di archiviazione |
"solidfire_" + indirizzo IP di archiviazione (iSCSI) |
|
MVIP per il cluster SolidFire con credenziali tenant |
|
|
Indirizzo IP e porta di archiviazione (iSCSI) |
|
|
Insieme di etichette arbitrarie in formato JSON da applicare ai volumi. |
"" |
|
Nome del tenant da utilizzare (creato se non trovato) |
|
|
Limitare il traffico iSCSI a un'interfaccia host specifica |
"predefinito" |
|
Utilizzare CHAP per autenticare iSCSI. Trident utilizza CHAP. |
VERO |
|
Elenco degli ID dei gruppi di accesso da utilizzare |
Trova l'ID di un gruppo di accesso denominato "trident" |
|
Specifiche QoS |
|
|
Il provisioning non riesce se la dimensione del volume richiesto è superiore a questo valore |
"" (non applicato di default) |
|
Flag di debug da utilizzare durante la risoluzione dei problemi. Esempio, {"api":false, "method":true} |
null |
|
|
Non usare debugTraceFlags a meno che non si stia risolvendo un problema e si necessiti di un dump di registro dettagliato.
|
Esempio 1: Configurazione backend per solidfire-san driver con tre tipi di volume
Questo esempio mostra un file backend che utilizza l'autenticazione CHAP e modella tre tipi di volume con garanzie QoS specifiche. Molto probabilmente definiresti quindi classi di archiviazione per consumare ciascuna di queste utilizzando IOPS parametro della classe di archiviazione.
---
version: 1
storageDriverName: solidfire-san
Endpoint: https://<user>:<password>@<mvip>/json-rpc/8.0
SVIP: <svip>:3260
TenantName: <tenant>
labels:
k8scluster: dev1
backend: dev1-element-cluster
UseCHAP: true
Types:
- Type: Bronze
Qos:
minIOPS: 1000
maxIOPS: 2000
burstIOPS: 4000
- Type: Silver
Qos:
minIOPS: 4000
maxIOPS: 6000
burstIOPS: 8000
- Type: Gold
Qos:
minIOPS: 6000
maxIOPS: 8000
burstIOPS: 10000
Esempio 2: Configurazione della classe di backend e di archiviazione per solidfire-san autista con pool virtuali
Questo esempio mostra il file di definizione del backend configurato con pool virtuali insieme alle StorageClass che vi fanno riferimento.
Trident copia le etichette presenti su un pool di archiviazione nella LUN di archiviazione back-end durante il provisioning. Per comodità, gli amministratori di storage possono definire etichette per pool virtuale e raggruppare i volumi in base all'etichetta.
Nel file di definizione backend di esempio mostrato di seguito, vengono impostati valori predefiniti specifici per tutti i pool di archiviazione, che impostano type presso Silver. I pool virtuali sono definiti nel storage sezione. In questo esempio, alcuni pool di archiviazione impostano il proprio tipo e altri pool sovrascrivono i valori predefiniti impostati sopra.
---
version: 1
storageDriverName: solidfire-san
Endpoint: https://<user>:<password>@<mvip>/json-rpc/8.0
SVIP: <svip>:3260
TenantName: <tenant>
UseCHAP: true
Types:
- Type: Bronze
Qos:
minIOPS: 1000
maxIOPS: 2000
burstIOPS: 4000
- Type: Silver
Qos:
minIOPS: 4000
maxIOPS: 6000
burstIOPS: 8000
- Type: Gold
Qos:
minIOPS: 6000
maxIOPS: 8000
burstIOPS: 10000
type: Silver
labels:
store: solidfire
k8scluster: dev-1-cluster
region: us-east-1
storage:
- labels:
performance: gold
cost: "4"
zone: us-east-1a
type: Gold
- labels:
performance: silver
cost: "3"
zone: us-east-1b
type: Silver
- labels:
performance: bronze
cost: "2"
zone: us-east-1c
type: Bronze
- labels:
performance: silver
cost: "1"
zone: us-east-1d
Le seguenti definizioni StorageClass fanno riferimento ai pool virtuali sopra indicati. Utilizzando il parameters.selector campo, ogni StorageClass richiama quale pool virtuale può essere utilizzato per ospitare un volume. Il volume avrà gli aspetti definiti nel pool virtuale scelto.
Il primo StorageClass(solidfire-gold-four ) verrà mappato sul primo pool virtuale. Questa è l'unica piscina che offre prestazioni d'oro con un Volume Type QoS d'oro. L'ultima StorageClass(solidfire-silver ) richiama qualsiasi pool di archiviazione che offra prestazioni Silver. Trident deciderà quale pool virtuale selezionare e garantirà che i requisiti di archiviazione siano soddisfatti.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-gold-four
provisioner: csi.trident.netapp.io
parameters:
selector: performance=gold; cost=4
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-silver-three
provisioner: csi.trident.netapp.io
parameters:
selector: performance=silver; cost=3
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-bronze-two
provisioner: csi.trident.netapp.io
parameters:
selector: performance=bronze; cost=2
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-silver-one
provisioner: csi.trident.netapp.io
parameters:
selector: performance=silver; cost=1
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-silver
provisioner: csi.trident.netapp.io
parameters:
selector: performance=silver
fsType: ext4