Configura una storage class e un PVC
Configura un oggetto Kubernetes StorageClass e crea la storage class per istruire Trident su come effettuare il provisioning dei volumi. Crea un PersistentVolumeClaim (PVC) che utilizza il Kubernetes StorageClass configurato per richiedere l'accesso al PV. Puoi quindi montare il PV su un pod.
Creare una storage class
Configura un oggetto Kubernetes StorageClass
L' "Oggetto Kubernetes StorageClass"oggetto identifica Trident come il provisioner utilizzato per quella classe e istruisce Trident su come effettuare il provisioning di un volume. Usa questo esempio per configurare la Storageclass per i volumi che utilizzano NFS (consulta la sezione Attributi di Trident qui sotto 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"
Utilizza questo esempio per configurare Storageclass per 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, aggiungete il necessario mountOptions alla storage class:
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
Fate riferimento a "Oggetti Kubernetes e Trident" per i dettagli su come le classi di storage interagiscono con PersistentVolumeClaim e sui parametri per controllare come Trident effettua il provisioning dei volumi.
Creare una storage class
-
Si tratta di un oggetto Kubernetes, quindi usa
kubectlper crearlo in Kubernetes.kubectl create -f storage-class-ontapnas.yaml -
Ora dovresti vedere una classe di storage basic-csi sia in Kubernetes che in Trident, e Trident dovrebbe aver rilevato i pool sul backend.
kubectl get sc basic-csi
NAME PROVISIONER AGE basic-csi csi.trident.netapp.io 15h
Crea il PVC
Un "PersistentVolumeClaim" (PVC) è una richiesta di accesso al PersistentVolume sul cluster.
Il PVC può essere configurato per richiedere storage di una certa dimensione o modalità di accesso. Utilizzando il StorageClass associato, l'amministratore del cluster può controllare più della sola dimensione e modalità di accesso della PersistentVolume, come ad esempio le prestazioni o il livello di servizio.
Dopo aver creato il PVC, puoi montare il volume in un pod.
Esempi di manifest
PersistentVolumeClaim manifesti di esempio
Questi esempi mostrano le opzioni di configurazione di base del PVC.
Questo esempio mostra un PVC di base con accesso RWX associato a una StorageClass denominata 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 che è associato a un StorageClass denominato protection-gold.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-san
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: protection-gold
Crea PVC
-
Crea 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
Fate riferimento a "Oggetti Kubernetes e Trident" per i dettagli su come le classi di storage interagiscono con PersistentVolumeClaim e sui parametri per controllare come Trident effettua il provisioning dei volumi.
Attributi di Trident
Questi parametri determinano quali pool di storage gestiti da Trident devono essere utilizzati per effettuare il provisioning dei volumi di un determinato tipo.
| Attributo | Tipo | Valori | Offerta | Richiesta | Supportato da |
|---|---|---|---|---|---|
media1 |
stringa |
hdd, hybrid, ssd |
Il pool contiene supporti di questo tipo; ibrido significa entrambi |
Tipo di media 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 |
spesso: tutti ontap; sottile: tutti ontap & solidfire-san |
backendType |
stringa |
ontap-nas, ontap-nas-economy, ontap-nas-flexgroup, ontap-san, solidfire-san, azure-netapp-files, ontap-san-economy |
Il pool appartiene a questo tipo di backend |
Backend specificato |
Tutti i driver |
istantanee |
bool |
vero, falso |
Il pool supporta volumi con snapshot |
Volume con snapshot abilitato |
ontap-nas, ontap-san, solidfire-san |
cloni |
bool |
vero, falso |
Il pool supporta la clonazione dei volumi |
Volume con cloni abilitati |
ontap-nas, ontap-san, solidfire-san |
crittografia |
bool |
vero, falso |
Il pool supporta volumi criptati |
Volume con crittografia abilitata |
ontap-nas, ontap-nas-economy, ontap-nas-flexgroups, ontap-san |
IOPS |
int |
intero positivo |
Il pool è in grado di garantire IOPS in questo intervallo |
Volume garantisce questi IOPS |
solidfire-san |
1: Non supportato dai sistemi ONTAP Select