Erstellen einer Speicherklasse
Konfigurieren Sie ein Kubernetes StorageClass-Objekt und erstellen Sie die Storage-Klasse, um Trident anzuweisen, wie Volumes bereitgestellt werden sollen.
Konfigurieren eines Kubernetes StorageClass-Objekts
Der "Kubernetes StorageClass-Objekt" Identifiziert Trident als den für diese Klasse verwendeten Provisionierer und weist Trident an, wie ein Volume zu provisionieren ist. Beispiel:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-gold
provisioner: csi.trident.netapp.io
mountOptions:
- nfsvers=3
- nolock
parameters:
backendType: "ontap-nas"
media: "ssd"
allowVolumeExpansion: true
volumeBindingMode: Immediate
Siehe"Kubernetes- und Trident Objekte" Einzelheiten darüber, wie Speicherklassen mit dem interagieren, finden Sie hier. PersistentVolumeClaim und Parameter zur Steuerung der Volumenbereitstellung Trident .
Erstellen einer Speicherklasse
Nachdem Sie das StorageClass-Objekt erstellt haben, können Sie die Speicherklasse erstellen. Lagerklassenmuster bietet einige grundlegende Beispiele, die Sie verwenden oder modifizieren können.
-
Dies ist ein Kubernetes-Objekt, also verwenden Sie
kubectlum es in Kubernetes zu erstellen.kubectl create -f sample-input/storage-class-basic-csi.yaml
-
Sie sollten nun sowohl in Kubernetes als auch in Trident eine basic-csi-Speicherklasse sehen, und Trident sollte die Pools im Backend erkannt haben.
kubectl get sc basic-csi
NAME PROVISIONER AGE basic-csi csi.trident.netapp.io 15h
./tridentctl -n trident get storageclass basic-csi -o json
{
"items": [
{
"Config": {
"version": "1",
"name": "basic-csi",
"attributes": {
"backendType": "ontap-nas"
},
"storagePools": null,
"additionalStoragePools": null
},
"storage": {
"ontapnas_10.0.0.1": [
"aggr1",
"aggr2",
"aggr3",
"aggr4"
]
}
}
]
}
Lagerklassenmuster
Trident bietet "einfache Speicherklassendefinitionen für spezifische Backends" .
Alternativ können Sie bearbeiten sample-input/storage-class-csi.yaml.templ Die mit dem Installationsprogramm gelieferte Datei ersetzen BACKEND_TYPE mit dem Namen des Speichertreibers.
./tridentctl -n trident get backend +-------------+----------------+--------------------------------------+--------+---------+ | NAME | STORAGE DRIVER | UUID | STATE | VOLUMES | +-------------+----------------+--------------------------------------+--------+---------+ | nas-backend | ontap-nas | 98e19b74-aec7-4a3d-8dcf-128e5033b214 | online | 0 | +-------------+----------------+--------------------------------------+--------+---------+ cp sample-input/storage-class-csi.yaml.templ sample-input/storage-class-basic-csi.yaml # Modify __BACKEND_TYPE__ with the storage driver field above (e.g., ontap-nas) vi sample-input/storage-class-basic-csi.yaml