Konfigurieren Sie eine Storage-Klasse und PVC
Konfigurieren Sie ein Kubernetes StorageClass-Objekt und erstellen Sie die Storage-Klasse, um Trident anzuweisen, wie Volumes bereitgestellt werden. Erstellen Sie ein PersistentVolumeClaim (PVC), das die konfigurierte Kubernetes StorageClass verwendet, um Zugriff auf das PV anzufordern. Anschließend können Sie das PV an einem Pod montieren.
Erstellen Sie eine Speicherklasse
Konfigurieren Sie ein Kubernetes StorageClass-Objekt
Der "Kubernetes StorageClass-Objekt" Das Objekt identifiziert Trident als den für diese Klasse verwendeten Provisioner und weist Trident an, wie ein Volume bereitgestellt wird. Verwenden Sie dieses Beispiel, um die Speicherklasse für Volumes mit NFS einzurichten (die vollständige Liste der Attribute finden Sie im Abschnitt „Trident -Attribute“ weiter unten):
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-nas"
provisioningType: "thin"
snapshots: "true"
Verwenden Sie dieses Beispiel, um die Speicherklasse für Volumes mit iSCSI einzurichten:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
parameters:
backendType: "ontap-san"
provisioningType: "thin"
snapshots: "true"
Fügen Sie zum Bereitstellen von NFSv3 Volumes auf AWS Bottlerocket die erforderliche Storage-Klasse hinzu mountOptions
:
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
Einzelheiten zur Interaktion von Storage-Klassen mit den PersistentVolumeClaim
Parametern und zur Steuerung, wie Trident Volumes provisioniert, finden Sie unter"Kubernetes und Trident Objekte".
Erstellen Sie eine Speicherklasse
-
Verwenden Sie dieses Objekt von Kubernetes
kubectl
Um sie in Kubernetes zu erstellen.kubectl create -f storage-class-ontapnas.yaml
-
Sie sollten nun eine Basic-csi Storage-Klasse sowohl in Kubernetes als auch in Trident sehen, und Trident hätte die Pools auf dem Backend entdeckt haben sollen.
kubectl get sc basic-csi
NAME PROVISIONER AGE basic-csi csi.trident.netapp.io 15h
Erstellen Sie die PVC
A "PersistentVolumeClaim" (PVC) ist eine Anforderung für den Zugriff auf das PersistentVolume auf dem Cluster.
Die PVC kann so konfiguriert werden, dass eine Speicherung einer bestimmten Größe oder eines bestimmten Zugriffsmodus angefordert wird. Mithilfe der zugehörigen StorageClass kann der Clusteradministrator mehr als die Größe des PersistentVolume und den Zugriffsmodus steuern, z. B. die Performance oder das Service-Level.
Nachdem Sie die PVC erstellt haben, können Sie das Volume in einem Pod einbinden.
Beispielmanifeste
PersistentVolumeClaim-Beispielmanifeste
Diese Beispiele zeigen grundlegende PVC-Konfigurationsoptionen.
Dieses Beispiel zeigt ein einfaches PVC mit RWX-Zugriff, das mit einer StorageClass namens verknüpft ist basic-csi
.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-storage
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
storageClassName: ontap-gold
Dieses Beispiel zeigt ein grundlegendes PVC für iSCSI mit RWO-Zugriff, das mit einer StorageClass namens protection-gold
.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: pvc-san
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: protection-gold
PVC erstellen
-
Erstellen Sie die PVC.
kubectl create -f pvc.yaml
-
Überprüfen Sie den PVC-Status.
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pvc-storage Bound pv-name 2Gi RWO 5m
Einzelheiten zur Interaktion von Storage-Klassen mit den PersistentVolumeClaim
Parametern und zur Steuerung, wie Trident Volumes provisioniert, finden Sie unter"Kubernetes und Trident Objekte".
Trident-Attribute
Diese Parameter bestimmen, welche in Trident gemanagten Storage Pools zur Bereitstellung von Volumes eines bestimmten Typs verwendet werden sollten.
Attribut | Typ | Werte | Angebot | Anfrage | Unterstützt von |
---|---|---|---|---|---|
Medien1 |
Zeichenfolge |
hdd, Hybrid, ssd |
Pool enthält Medien dieser Art. Beides bedeutet Hybrid |
Medientyp angegeben |
ontap-nas, ontap-nas-Economy, ontap-nas-Flexgroup, ontap-san, solidfire-san |
Bereitstellungstyp |
Zeichenfolge |
Dünn, dick |
Pool unterstützt diese Bereitstellungsmethode |
Bereitstellungsmethode angegeben |
Thick: All ONTAP; Thin: Alle ONTAP und solidfire-san |
BackendType |
Zeichenfolge |
ontap-nas, ontap-nas-Economy, ontap-nas-Flexgroup, ontap-san, solidfire-san, gcp-cvs, Azure-netapp-Files, ontap-san-Wirtschaftlichkeit |
Pool gehört zu dieser Art von Backend |
Back-End angegeben |
Alle Treiber |
Snapshots |
bool |
Richtig, falsch |
Pool unterstützt Volumes mit Snapshots |
Volume mit aktivierten Snapshots |
ontap-nas, ontap-san, solidfire-san, gcp-cvs |
Klone |
bool |
Richtig, falsch |
Pool unterstützt das Klonen von Volumes |
Volume mit aktivierten Klonen |
ontap-nas, ontap-san, solidfire-san, gcp-cvs |
Verschlüsselung |
bool |
Richtig, falsch |
Pool unterstützt verschlüsselte Volumes |
Volume mit aktivierter Verschlüsselung |
ontap-nas, ontap-nas-Economy, ontap-nas-Flexgroups, ontap-san |
IOPS |
Int |
Positive Ganzzahl |
Pool kann IOPS in diesem Bereich garantieren |
Volume hat diese IOPS garantiert |
solidfire-san |
1: Nicht unterstützt von ONTAP Select-Systemen