Configurer un backend NetApp HCI ou SolidFire
Apprenez à créer et à utiliser un backend Element avec votre installation Trident .
Détails du pilote Element
Trident fournit le solidfire-san Pilote de stockage pour communiquer avec le cluster. Les modes d'accès pris en charge sont : ReadWriteOnce (RWO), ReadOnlyMany (ROX), ReadWriteMany (RWX), ReadWriteOncePod (RWOP).
Le solidfire-san Le pilote de stockage prend en charge les modes de volume file et block. Pour le Filesystem En mode volume, Trident crée un volume et un système de fichiers. Le type de système de fichiers est spécifié par la StorageClass.
| Conducteur | Protocole | Mode de volume | Modes d'accès pris en charge | Systèmes de fichiers pris en charge |
|---|---|---|---|---|
|
iSCSI |
Bloc |
RWO, ROX, RWX, RWOP |
Aucun système de fichiers. Périphérique de bloc brut. |
|
iSCSI |
Système de fichiers |
RWO, RWOP |
|
Avant de commencer
Vous aurez besoin des éléments suivants avant de créer un backend Element.
-
Un système de stockage compatible qui exécute le logiciel Element.
-
Identifiants d'un administrateur ou d'un utilisateur locataire d'un cluster NetApp HCI/ SolidFire pouvant gérer des volumes.
-
Tous vos nœuds de travail Kubernetes doivent avoir les outils iSCSI appropriés installés. Se référer à"Informations de préparation des nœuds de travail" .
options de configuration du backend
Consultez le tableau suivant pour connaître les options de configuration du backend :
| Paramètre | Description | Défaut |
|---|---|---|
|
Toujours 1 |
|
|
Nom du pilote de stockage |
Toujours "solidfire-san" |
|
Nom personnalisé ou système de stockage |
"solidfire_" + adresse IP de stockage (iSCSI) |
|
MVIP pour le cluster SolidFire avec identifiants de locataire |
|
|
Adresse IP et port de stockage (iSCSI) |
|
|
Ensemble d'étiquettes arbitraires au format JSON à appliquer aux volumes. |
"" |
|
Nom du locataire à utiliser (créé s'il n'est pas trouvé) |
|
|
Limiter le trafic iSCSI à une interface hôte spécifique |
"défaut" |
|
Utilisez CHAP pour authentifier iSCSI. Trident utilise CHAP. |
true |
|
Liste des ID de groupes d'accès à utiliser |
Recherche l'ID d'un groupe d'accès nommé « trident ». |
|
Spécifications QoS |
|
|
L'approvisionnement échouera si la taille du volume demandée est supérieure à cette valeur. |
"" (non appliqué par défaut) |
|
Indicateurs de débogage à utiliser lors du dépannage. Exemple, {"api":false, "method":true} |
nul |
|
|
Ne pas utiliser debugTraceFlags sauf si vous effectuez un dépannage et avez besoin d'un journal détaillé.
|
Exemple 1 : Configuration du backend pour solidfire-san pilote avec trois types de volume
Cet exemple montre un fichier backend utilisant l'authentification CHAP et modélisant trois types de volumes avec des garanties QoS spécifiques. Vous définiriez alors très probablement des classes de stockage pour consommer chacune d'elles en utilisant IOPS Paramètre de classe de stockage.
---
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
Exemple 2 : Configuration du backend et de la classe de stockage pour solidfire-san pilote avec pools virtuels
Cet exemple montre le fichier de définition du backend configuré avec des pools virtuels ainsi que les StorageClasses qui y font référence.
Lors de la mise en service, Trident copie les étiquettes présentes sur un pool de stockage vers le LUN de stockage backend. Pour plus de commodité, les administrateurs de stockage peuvent définir des étiquettes par pool virtuel et regrouper les volumes par étiquette.
Dans l'exemple de fichier de définition de backend présenté ci-dessous, des valeurs par défaut spécifiques sont définies pour tous les pools de stockage, qui définissent les type à Silver. Les pools virtuels sont définis dans le storage section. Dans cet exemple, certains pools de stockage définissent leur propre type, et certains pools remplacent les valeurs par défaut définies ci-dessus.
---
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
Les définitions StorageClass suivantes font référence aux pools virtuels ci-dessus. En utilisant le parameters.selector Dans ce champ, chaque StorageClass indique quel(s) pool(s) virtuel(s) peuvent être utilisés pour héberger un volume. Le volume aura les aspects définis dans le pool virtuel choisi.
La première classe de stockage(solidfire-gold-four ) sera associé au premier pool virtuel. Il s'agit de la seule piscine offrant des performances de niveau or avec un Volume Type QoS d'or. La dernière classe de stockage(solidfire-silver ) désigne tout pool de stockage offrant une performance de niveau argent. Trident déterminera quel pool virtuel sera sélectionné et s'assurera que les besoins en stockage sont satisfaits.
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