NetApp ONTAP NFS-Konfiguration
Um die Trident Integration mit dem NetApp ONTAP Speichersystem über NFS zu ermöglichen, müssen Sie ein Backend erstellen, das die Kommunikation mit dem Speichersystem ermöglicht. Wir konfigurieren in dieser Lösung ein grundlegendes Backend. Wenn Sie jedoch nach individuelleren Optionen suchen, besuchen Sie die Dokumentation"hier," .
Erstellen Sie eine SVM in ONTAP
-
Melden Sie sich beim ONTAP System Manager an, navigieren Sie zu Speicher > Speicher-VMs und klicken Sie auf Hinzufügen.
-
Geben Sie einen Namen für die SVM ein, aktivieren Sie das NFS-Protokoll, aktivieren Sie das Kontrollkästchen „NFS-Clientzugriff zulassen“ und fügen Sie die Subnetze, in denen sich Ihre Worker-Knoten befinden, in den Exportrichtlinienregeln hinzu, damit die Volumes als PVs in Ihren Workload-Clustern bereitgestellt werden können.
Wenn Sie eine NAT-Bereitstellung von Benutzerclustern oder Workloadclustern mit NSX-T verwenden, müssen Sie das Egress-Subnetz (im Fall von TKGS0) oder das Floating-IP-Subnetz (im Fall von TKGI) zu den Exportrichtlinienregeln hinzufügen. -
Geben Sie die Details für die Daten-LIFs und die Details für das SVM-Administrationskonto ein und klicken Sie dann auf „Speichern“.
-
Weisen Sie die Aggregate einer SVM zu. Navigieren Sie zu Speicher > Speicher-VMs, klicken Sie auf die Auslassungspunkte neben der neu erstellten SVM und dann auf Bearbeiten. Aktivieren Sie das Kontrollkästchen „Volume-Erstellung auf bevorzugte lokale Ebenen beschränken“ und hängen Sie die erforderlichen Aggregate daran an.
-
Bei NAT-Bereitstellungen von Benutzer- oder Workload-Clustern, auf denen Trident installiert werden soll, kann die Speicherbereitstellungsanforderung aufgrund von SNAT von einem nicht standardmäßigen Port kommen. Standardmäßig lässt ONTAP Volume-Mount-Anfragen nur zu, wenn diese vom Root-Port stammen. Melden Sie sich daher bei der ONTAP CLI an und ändern Sie die Einstellung, um Mount-Anfragen von nicht standardmäßigen Ports zuzulassen.
ontap-01> vserver nfs modify -vserver tanzu_svm -mount-rootonly disabled
Erstellen von Backends und StorageClasses
-
Erstellen Sie für NetApp ONTAP -Systeme, die NFS bereitstellen, eine Backend-Konfigurationsdatei auf dem Jumphost mit dem BackendName, ManagementLIF, DataLIF, SVM, Benutzernamen, Kennwort und anderen Details.
{ "version": 1, "storageDriverName": "ontap-nas", "backendName": "ontap-nas+10.61.181.221", "managementLIF": "172.21.224.201", "dataLIF": "10.61.181.221", "svm": "trident_svm", "username": "admin", "password": "password" }
Es empfiehlt sich, den benutzerdefinierten BackendName-Wert zur einfachen Identifizierung als Kombination aus StorageDriverName und DataLIF zu definieren, das NFS bereitstellt. -
Erstellen Sie das Trident -Backend, indem Sie den folgenden Befehl ausführen.
[netapp-user@rhel7]$ ./tridentctl -n trident create backend -f backend-ontap-nas.json +-------------------------+----------------+--------------------------------------+--------+---------+ | NAME | STORAGE DRIVER | UUID | STATE | VOLUMES | +-------------------------+----------------+--------------------------------------+--------+---------+ | ontap-nas+10.61.181.221 | ontap-nas | be7a619d-c81d-445c-b80c-5c87a73c5b1e | online | 0 | +-------------------------+----------------+--------------------------------------+--------+---------+
-
Nachdem das Backend erstellt wurde, müssen Sie als Nächstes eine Speicherklasse erstellen. Die folgende Beispieldefinition einer Speicherklasse hebt die erforderlichen und grundlegenden Felder hervor. Der Parameter
backendType
sollte den Speichertreiber vom neu erstellten Trident Backend widerspiegeln.apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: ontap-nfs provisioner: csi.trident.netapp.io parameters: backendType: "ontap-nas"
-
Erstellen Sie die Speicherklasse, indem Sie den Befehl kubectl ausführen.
[netapp-user@rhel7 trident-installer]$ kubectl create -f storage-class-nfs.yaml storageclass.storage.k8s.io/ontap-nfs created
-
Nachdem Sie die Speicherklasse erstellt haben, müssen Sie den ersten Persistent Volume Claim (PVC) erstellen. Nachfolgend finden Sie eine Beispieldefinition für PVC. Stellen Sie sicher, dass die
storageClassName
Das Feld stimmt mit dem Namen der gerade erstellten Speicherklasse überein. Die PVC-Definition kann je nach bereitzustellender Arbeitslast nach Bedarf weiter angepasst werden.kind: PersistentVolumeClaim apiVersion: v1 metadata: name: basic spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi storageClassName: ontap-nfs
-
Erstellen Sie den PVC, indem Sie den Befehl kubectl ausführen. Die Erstellung kann je nach Größe des zu erstellenden Sicherungsvolumes einige Zeit in Anspruch nehmen. Sie können den Vorgang daher während des Abschlusses verfolgen.
[netapp-user@rhel7 trident-installer]$ kubectl create -f pvc-basic.yaml persistentvolumeclaim/basic created [netapp-user@rhel7 trident-installer]$ kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE basic Bound pvc-b4370d37-0fa4-4c17-bd86-94f96c94b42d 1Gi RWO ontap-nfs 7s