Configurez une classe de stockage et un PVC
Configurez un objet StorageClass Kubernetes et créez la classe de stockage pour indiquer à Trident comment provisionner les volumes. Créez une demande de volume persistant qui utilise la classe de stockage Kubernetes configurée pour demander l'accès au volume persistant. Vous pouvez ensuite monter le volume persistant sur un pod.
Créer une classe de stockage
Configuration d'un objet StorageClass Kubernetes
Le "Objet classe de stockage Kubernetes" L'objet identifie Trident comme le fournisseur utilisé pour cette classe et indique à Trident comment provisionner un volume. Utilisez cet exemple pour configurer Storageclass pour les volumes utilisant NFS (reportez-vous à la section Attribut Trident ci-dessous pour la liste complète des attributs) :
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas"
provisioningType: "thin"
snapshots: "true"
Utilisez cet exemple pour configurer Storageclass pour les volumes utilisant iSCSI :
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-san"
provisioningType: "thin"
snapshots: "true"
Pour provisionner des volumes NFSv3 sur AWS BottlerRocket, ajoutez les éléments requis mountOptions
à la classe de stockage :
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas"
media: "ssd"
provisioningType: "thin"
snapshots: "true"
mountOptions:
- nfsvers=3
- nolock
Reportez-vous "Kubernetes et objets Trident"à pour plus de détails sur l'interaction des classes de stockage avec les PersistentVolumeClaim
paramètres et pour le contrôle de la manière dont Trident provisionne les volumes.
Créer une classe de stockage
-
Il s'agit d'un objet Kubernetes, alors utilisez-le
kubectl
Pour la créer dans Kubernetes.kubectl create -f storage-class-ontapnas.yaml
-
Vous devriez maintenant voir une classe de stockage Basic-csi dans Kubernetes et Trident, et Trident aurait dû détecter les pools sur le back-end.
kubectl get sc basic-csi
NAME PROVISIONER AGE basic-csi csi.trident.netapp.io 15h
Créer la PVC
Une "PersistentVolumeClaim" demande de volume persistant est une demande d'accès au volume persistant sur le cluster.
Le PVC peut être configuré pour demander un stockage d'une certaine taille ou d'un certain mode d'accès. À l'aide de la classe de stockage associée, l'administrateur du cluster peut contrôler plus que la taille du volume persistant et le mode d'accès, tels que les performances ou le niveau de service.
Une fois la demande de volume créée, vous pouvez la monter dans un pod.
Exemples de manifestes
Exemples de manifestes de demande de volume persistant
Ces exemples présentent les options de configuration de base de la PVC.
Cet exemple montre une demande de volume persistant de base avec accès RWX associée à une classe de stockage nommée basic-csi
.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-storage
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: ontap-gold
Cet exemple montre un PVC de base pour iSCSI avec accès RWO associé à une StorageClass nommée protection-gold
.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-san
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: protection-gold
Créer PVC
-
Créer la PVC.
kubectl create -f pvc.yaml
-
Vérifiez l'état de la demande de volume persistant.
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-storage Bound pv-name 2Gi RWO 5m
Reportez-vous "Kubernetes et objets Trident"à pour plus de détails sur l'interaction des classes de stockage avec les PersistentVolumeClaim
paramètres et pour le contrôle de la manière dont Trident provisionne les volumes.
Attributs Trident
Ces paramètres déterminent quels pools de stockage gérés par Trident doivent être utilisés pour provisionner les volumes d'un type donné.
Attribut | Type | Valeurs | Offre | Demande | Pris en charge par |
---|---|---|---|---|---|
support1 |
chaîne |
hdd, hybride, ssd |
Le pool contient des supports de ce type ; hybride signifie les deux |
Type de support spécifié |
ontap-nas, ontap-nas-économie, ontap-nas-flexgroup, ontap-san, solidfire-san |
Type de provisionnement |
chaîne |
fin, épais |
Le pool prend en charge cette méthode de provisionnement |
Méthode de provisionnement spécifiée |
thick : tous les systèmes ONTAP ; thin : tous les systèmes ONTAP et solidfire-san |
Type de dos |
chaîne |
ontap-nas, économie ontap-nas, ontap-nas-flexgroup, ontap-san, solidfire-san, gcp-cvs, azure-netapp-files, ontap-san-economy |
Le pool appartient à ce type de système back-end |
Backend spécifié |
Tous les conducteurs |
snapshots |
bool |
vrai, faux |
Le pool prend en charge les volumes dotés de snapshots |
Volume sur lequel les snapshots sont activés |
ontap-nas, ontap-san, solidfire-san, gcp-cvs |
clones |
bool |
vrai, faux |
Le pool prend en charge les volumes de clonage |
Volume sur lequel les clones sont activés |
ontap-nas, ontap-san, solidfire-san, gcp-cvs |
le cryptage |
bool |
vrai, faux |
Le pool prend en charge les volumes chiffrés |
Volume avec chiffrement activé |
ontap-nas, économie ontap-nas, ontap-nas-flexgroups, ontap-san |
D'IOPS |
int |
entier positif |
Le pool est en mesure de garantir l'IOPS dans cette plage |
Volume garanti ces IOPS |
solidfire-san |
1 : non pris en charge par les systèmes ONTAP Select