Configurare una classe di storage e PVC
Configurare un oggetto Kubernetes StorageClass e creare una classe storage per istruire Astra Trident su come eseguire il provisioning dei volumi. Creare un PersistentVolume (PV) e un PersistentVolumeClaim (PVC) che utilizza 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
https://kubernetes.io/docs/concepts/storage/storage-classes/["Oggetto Kubernetes StorageClass"^]Identifica Astra Trident come provisioner utilizzato per quella classe istruisce Astra Trident su come eseguire il provisioning di un volume. Ad esempio:
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"
Per ulteriori informazioni sull'interazione delle classi di storage con i PersistentVolumeClaim
parametri e per il controllo del provisioning dei volumi da parte di Astra Trident, consulta"Kubernetes e Trident Objects".
Creare una classe di storage
-
Si tratta di un oggetto Kubernetes, quindi utilizzarlo
kubectl
per crearlo in Kubernetes.kubectl create -f storage-class-ontapnas.yaml
-
Ora dovrebbe essere visualizzata una classe di storage Basic-csi in Kubernetes e Astra Trident, mentre Astra Trident avrebbe scoperto i pool sul backend.
kubectl get sc basic-csi NAME PROVISIONER AGE basic-csi csi.trident.netapp.io 15h
Creare PV e PVC
Un "PersistentVolume" (PV) è una risorsa di storage fisico fornita dall'amministratore del cluster in un cluster Kubernetes. Il "PersistentVolumeClaim" (PVC) è una richiesta di accesso al 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 PV e PVC, è possibile montare il volume in un pod.
Manifesti campione
Manifesto di esempio di PersistentVolume
Questo manifesto di esempio mostra un PV di base di 10Gi associato a StorageClass basic-csi
.
apiVersion: v1 kind: PersistentVolume metadata: name: pv-storage labels: type: local spec: storageClassName: basic-csi capacity: storage: 10Gi accessModes: - ReadWriteMany hostPath: path: "/my/host/path"
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: basic-csi
Questo esempio mostra un PVC di base per NVMe/TCP con accesso RWO associato a una classe StorageClass denominata protection-gold
.
--- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-san-nvme spec: accessModes: - ReadWriteOnce resources: requests: storage: 300Mi storageClassName: protection-gold
Creare PV e PVC
-
Creare il PV.
kubectl create -f pv.yaml
-
Verificare lo stato FV.
kubectl get pv NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE pv-storage 4Gi RWO Retain Available 7s
-
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 storage con i PersistentVolumeClaim
parametri e per il controllo del provisioning dei volumi da parte di Astra Trident, consulta"Kubernetes e Trident Objects".
Attributi Astra Trident
Questi parametri determinano quali pool di storage gestiti da Astra Trident devono essere utilizzati per 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