Configurare una classe di storage e PVC
Configurare un oggetto Kubernetes StorageClass e creare la classe storage per istruire Trident su come eseguire il provisioning dei volumi. Creare un PersistentVolumeClaim (PVC) che utilizzi Kubernetes StorageClass configurato per richiedere l'accesso al PV. È quindi possibile montare il PV su un pod.
Creare una classe di storage
Configurare un oggetto Kubernetes StorageClass
IL "Oggetto Kubernetes StorageClass" L'oggetto identifica Trident come il provisioner utilizzato per quella classe e indica a Trident come effettuare il provisioning di un volume. Utilizzare questo esempio per configurare Storageclass per i volumi tramite NFS (fare riferimento alla sezione Attributi Trident di seguito per l'elenco completo degli attributi):
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas"
provisioningType: "thin"
snapshots: "true"
Utilizzare questo esempio per configurare Storageclass per i volumi che utilizzano 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"
Per eseguire il provisioning di volumi NFSv3 su AWS Bottlerocket, aggiungere i necessari mountOptions
alla classe storage:
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
Per ulteriori informazioni sull'interazione delle classi di archiviazione con i PersistentVolumeClaim
parametri e per il controllo del provisioning dei volumi da parte di Trident, fare riferimento "Kubernetes e Trident Objects"a.
Creare una classe di storage
-
Si tratta di un oggetto Kubernetes, lo utilizza
kubectl
Per crearlo in Kubernetes.kubectl create -f storage-class-ontapnas.yaml
-
Ora dovresti vedere una classe storage Basic-csi in Kubernetes e Trident, e Trident dovrebbe aver scoperto i pool nel back-end.
kubectl get sc basic-csi
NAME PROVISIONER AGE basic-csi csi.trident.netapp.io 15h
Creare il PVC
Un "PersistentVolumeClaim" (PVC) è una richiesta di accesso a PersistentVolume sul cluster.
Il PVC può essere configurato per richiedere la memorizzazione di una determinata dimensione o modalità di accesso. Utilizzando StorageClass associato, l'amministratore del cluster può controllare più delle dimensioni di PersistentVolume e della modalità di accesso, ad esempio le prestazioni o il livello di servizio.
Dopo aver creato il PVC, è possibile montare il volume in un pod.
Manifesti campione
Manifesti di campioni PersistentVolumeClaim
Questi esempi mostrano le opzioni di configurazione di base del PVC.
Questo esempio mostra un PVC di base con accesso RWX associato a un StorageClass denominato basic-csi
.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-storage
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: ontap-gold
Questo esempio mostra un PVC di base per iSCSI con accesso RWO associato a una StorageClass denominata protection-gold
.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-san
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: protection-gold
Crea PVC
-
Creare il PVC.
kubectl create -f pvc.yaml
-
Verificare lo stato del PVC.
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-storage Bound pv-name 2Gi RWO 5m
Per ulteriori informazioni sull'interazione delle classi di archiviazione con i PersistentVolumeClaim
parametri e per il controllo del provisioning dei volumi da parte di Trident, fare riferimento "Kubernetes e Trident Objects"a.
Attributi Trident
Questi parametri determinano quali pool di storage gestiti da Trident devono essere utilizzati per eseguire il provisioning di volumi di un determinato tipo.
Attributo | Tipo | Valori | Offerta | Richiesta | Supportato da |
---|---|---|---|---|---|
supporti1 |
stringa |
hdd, ibrido, ssd |
Il pool contiene supporti di questo tipo; ibridi significa entrambi |
Tipo di supporto specificato |
ontap-nas, ontap-nas-economy, ontap-nas-flexgroup, ontap-san, solidfire-san |
ProvisioningType |
stringa |
sottile, spesso |
Il pool supporta questo metodo di provisioning |
Metodo di provisioning specificato |
thick: all ONTAP; thin: all ONTAP e solidfire-san |
BackendType |
stringa |
ontap-nas, ontap-nas-economy, ontap-nas-flexgroup, ontap-san, solidfire-san, gcp-cvs, azure-netapp-files, ontap-san-economy |
Il pool appartiene a questo tipo di backend |
Backend specificato |
Tutti i driver |
snapshot |
bool |
vero, falso |
Il pool supporta volumi con snapshot |
Volume con snapshot attivate |
ontap-nas, ontap-san, solidfire-san, gcp-cvs |
cloni |
bool |
vero, falso |
Il pool supporta la clonazione dei volumi |
Volume con cloni attivati |
ontap-nas, ontap-san, solidfire-san, gcp-cvs |
crittografia |
bool |
vero, falso |
Il pool supporta volumi crittografati |
Volume con crittografia attivata |
ontap-nas, ontap-nas-economy, ontap-nas-flexgroups, ontap-san |
IOPS |
int |
intero positivo |
Il pool è in grado di garantire IOPS in questa gamma |
Volume garantito per questi IOPS |
solidfire-san |
1: Non supportato dai sistemi ONTAP Select