Konfigurieren des Speicher-Backends
ONTAP SAN- und NAS-Treiberintegration
Um ein Speicher-Backend zu erstellen, müssen Sie eine Konfigurationsdatei entweder im JSON- oder im YAML-Format erstellen. Die Datei muss den gewünschten Speichertyp (NAS oder SAN), das Dateisystem und die SVM, von der die Daten bezogen werden sollen, sowie die Art der Authentifizierung angeben. Das folgende Beispiel zeigt, wie Sie NAS-basierten Speicher definieren und ein AWS-Secret verwenden, um die Anmeldeinformationen für die gewünschte SVM zu speichern:
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-ontap-nas
namespace: trident
spec:
version: 1
storageDriverName: ontap-nas
backendName: tbc-ontap-nas
svm: svm-name
aws:
fsxFilesystemID: fs-xxxxxxxxxx
credentials:
name: "arn:aws:secretsmanager:us-west-2:xxxxxxxx:secret:secret-name"
type: awsarn
{
"apiVersion": "trident.netapp.io/v1",
"kind": "TridentBackendConfig",
"metadata": {
"name": "backend-tbc-ontap-nas"
"namespace": "trident"
},
"spec": {
"version": 1,
"storageDriverName": "ontap-nas",
"backendName": "tbc-ontap-nas",
"svm": "svm-name",
"aws": {
"fsxFilesystemID": "fs-xxxxxxxxxx"
},
"managementLIF": null,
"credentials": {
"name": "arn:aws:secretsmanager:us-west-2:xxxxxxxx:secret:secret-name",
"type": "awsarn"
}
}
}
Führen Sie die folgenden Befehle aus, um die Trident Backend-Konfiguration (TBC) zu erstellen und zu validieren:
-
Erstellen Sie eine Trident-Backend-Konfiguration (TBC) aus einer YAML-Datei und führen Sie folgenden Befehl aus:
kubectl create -f backendconfig.yaml -n tridenttridentbackendconfig.trident.netapp.io/backend-tbc-ontap-nas created
-
Überprüfen Sie, ob die Trident-Backend-Konfiguration (TBC) erfolgreich erstellt wurde:
Kubectl get tbc -n tridentNAME BACKEND NAME BACKEND UUID PHASE STATUS backend-tbc-ontap-nas tbc-ontap-nas 933e0071-66ce-4324-b9ff-f96d916ac5e9 Bound Success
FSx für ONTAP Treiberdetails
Sie können Trident mit Amazon FSx for NetApp ONTAP mithilfe der folgenden Treiber integrieren:
-
ontap-san: Jedes bereitgestellte PV ist eine LUN innerhalb eines eigenen Amazon FSx for NetApp ONTAP Volumes. Empfohlen für Blockspeicherung. -
`ontap-nas`Jedes bereitgestellte PV ist ein vollständiges Amazon FSx for NetApp ONTAP -Volume. Empfohlen für NFS und SMB.
-
`ontap-san-economy`Jedes bereitgestellte PV ist eine LUN mit einer konfigurierbaren Anzahl von LUNs pro Amazon FSx for NetApp ONTAP Volume.
-
`ontap-nas-economy`Jedes bereitgestellte PV ist ein Qtree, wobei die Anzahl der Qtrees pro Amazon FSx for NetApp ONTAP Volume konfigurierbar ist.
-
`ontap-nas-flexgroup`Jedes bereitgestellte PV ist ein vollständiges Amazon FSx for NetApp ONTAP FlexGroup Volume.
Weitere Fahrerdetails finden Sie unter"NAS-Treiber" Und"SAN-Treiber" .
Sobald die Konfigurationsdatei erstellt wurde, führen Sie diesen Befehl aus, um sie in Ihrem EKS zu erstellen:
kubectl create -f configuration_file
Um den Status zu überprüfen, führen Sie folgenden Befehl aus:
kubectl get tbc -n trident
NAME BACKEND NAME BACKEND UUID PHASE STATUS backend-fsx-ontap-nas backend-fsx-ontap-nas 7a551921-997c-4c37-a1d1-f2f4c87fa629 Bound Success
Erweiterte Backend-Konfiguration und Beispiele
Die folgenden Tabellen enthalten die Backend-Konfigurationsoptionen:
| Parameter | Beschreibung | Beispiel |
|---|---|---|
|
Immer 1 |
|
|
Name des Speichertreibers |
|
|
Benutzerdefinierter Name oder das Speicher-Backend |
Fahrername + "_" + dataLIF |
|
IP-Adresse eines Clusters oder SVM-Management-LIF. Es kann ein vollqualifizierter Domänenname (FQDN) angegeben werden. Kann so eingestellt werden, dass IPv6-Adressen verwendet werden, wenn Trident mit dem IPv6-Flag installiert wurde. IPv6-Adressen müssen in eckigen Klammern angegeben werden, z. B. [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]. Wenn Sie die |
„10.0.0.1“, „[2001:1234:abcd::fefe]“ |
|
IP-Adresse des Protokolls LIF. * ONTAP NAS-Treiber*: NetApp empfiehlt die Angabe von dataLIF. Falls keine Daten angegeben werden, ruft Trident die dataLIFs vom SVM ab. Sie können einen vollqualifizierten Domänennamen (FQDN) angeben, der für die NFS-Mount-Operationen verwendet werden soll. Dadurch können Sie ein Round-Robin-DNS erstellen, um die Last auf mehrere DataLIFs zu verteilen. Kann nach der Ersteinrichtung geändert werden. Siehe . * ONTAP SAN-Treiber*: Nicht für iSCSI angeben. Trident verwendet ONTAP Selective LUN Map, um die iSCI LIFs zu ermitteln, die zum Aufbau einer Multipath-Sitzung benötigt werden. Es wird eine Warnung generiert, wenn dataLIF explizit definiert ist. Kann so eingestellt werden, dass IPv6-Adressen verwendet werden, wenn Trident mit dem IPv6-Flag installiert wurde. IPv6-Adressen müssen in eckigen Klammern angegeben werden, z. B. [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]. |
|
|
Automatische Erstellung und Aktualisierung von Exportrichtlinien aktivieren [Boolesch]. Verwenden des |
|
|
Liste der CIDRs, anhand derer die Kubernetes-Knoten-IPs gefiltert werden sollen, wenn |
"["0.0.0.0/0", "::/0"]" |
|
Satz beliebiger JSON-formatierter Bezeichnungen, die auf Datenträger angewendet werden sollen |
"" |
|
Base64-kodierter Wert des Clientzertifikats. Wird für zertifikatsbasierte Authentifizierung verwendet |
"" |
|
Base64-kodierter Wert des privaten Client-Schlüssels. Wird für zertifikatsbasierte Authentifizierung verwendet |
"" |
|
Base64-kodierter Wert des vertrauenswürdigen CA-Zertifikats. Optional. Wird für die zertifikatsbasierte Authentifizierung verwendet. |
"" |
|
Benutzername für die Verbindung zum Cluster oder zur SVM. Wird für die auf Anmeldeinformationen basierende Authentifizierung verwendet. Zum Beispiel vsadmin. |
|
|
Passwort zum Verbinden mit dem Cluster oder der SVM. Wird für die auf Anmeldeinformationen basierende Authentifizierung verwendet. |
|
|
Zu verwendende virtuelle Speichermaschine |
Wird abgeleitet, wenn ein SVM managementLIF angegeben ist. |
|
Präfix, das beim Bereitstellen neuer Volumes in der SVM verwendet wird. Kann nach der Erstellung nicht mehr geändert werden. Um diesen Parameter zu aktualisieren, müssen Sie ein neues Backend erstellen. |
|
|
Nicht für Amazon FSx for NetApp ONTAP angeben. Die bereitgestellten |
Nicht verwenden. |
|
Die Bereitstellung schlägt fehl, wenn die angeforderte Volume-Größe diesen Wert überschreitet. Beschränkt außerdem die maximale Größe der von ihm verwalteten Volumes für Qtrees und LUNs, und die |
"" (wird nicht standardmäßig erzwungen) |
|
Die maximale Anzahl an LUNs pro Flexvol-Volume muss im Bereich [50, 200] liegen. Nur SAN. |
“100” |
|
Debug-Flags zur Verwendung bei der Fehlersuche. Beispiel: {"api":false, "method":true} Nicht verwenden |
null |
|
Durch Kommas getrennte Liste der NFS-Mount-Optionen. Die Mount-Optionen für Kubernetes-persistente Volumes werden normalerweise in Speicherklassen angegeben. Wenn jedoch in einer Speicherklasse keine Mount-Optionen angegeben sind, greift Trident auf die in der Konfigurationsdatei des Speicher-Backends angegebenen Mount-Optionen zurück. Wenn in der Speicherklasse oder der Konfigurationsdatei keine Mount-Optionen angegeben sind, setzt Trident keine Mount-Optionen auf einem zugehörigen persistenten Volume. |
"" |
|
Konfiguration der Erstellung von NFS- oder SMB-Volumes. Optionen sind |
|
|
Die maximale Anzahl an Qtrees pro FlexVol volume muss im Bereich [50, 300] liegen. |
|
|
Sie können entweder den Namen einer SMB-Freigabe angeben, die mit der Microsoft Management Console oder der ONTAP CLI erstellt wurde, oder einen Namen, unter dem Trident die SMB-Freigabe erstellen kann. Dieser Parameter ist für Amazon FSx for ONTAP -Backends erforderlich. |
|
|
Boolescher Parameter zur Verwendung von ONTAP REST-APIs. Wenn eingestellt auf |
|
|
In der Konfigurationsdatei für AWS FSx für ONTAP können Sie Folgendes angeben: - |
|
|
Geben Sie die FSx SVM-Anmeldeinformationen an, die im AWS Secrets Manager gespeichert werden sollen. - |
Backend-Konfigurationsoptionen für die Bereitstellung von Volumes
Sie können die Standardbereitstellung mithilfe dieser Optionen steuern. defaults Abschnitt der Konfiguration. Ein Beispiel finden Sie in den folgenden Konfigurationsbeispielen.
| Parameter | Beschreibung | Standard |
|---|---|---|
|
Speicherplatzzuweisung für LUNs |
|
|
Platzreservierungsmodus; "keine" (dünn) oder "Volumen" (dick) |
|
|
Zu verwendende Snapshot-Richtlinie |
|
|
Die QoS-Richtliniengruppe soll den erstellten Volumes zugewiesen werden. Wählen Sie pro Speicherpool oder Backend entweder qosPolicy oder adaptiveQosPolicy aus. Die Verwendung von QoS-Richtliniengruppen mit Trident erfordert ONTAP 9.8 oder höher. Sie sollten eine nicht gemeinsam genutzte QoS-Richtliniengruppe verwenden und sicherstellen, dass die Richtliniengruppe auf jeden einzelnen Bestandteil angewendet wird. Eine gemeinsam genutzte QoS-Richtliniengruppe setzt die Obergrenze für den Gesamtdurchsatz aller Workloads durch. |
"" |
|
Adaptive QoS-Richtliniengruppe, die den erstellten Volumes zugewiesen werden soll. Wählen Sie pro Speicherpool oder Backend entweder qosPolicy oder adaptiveQosPolicy aus. Wird von ontap-nas-economy nicht unterstützt. |
"" |
|
Prozentsatz des für Snapshots reservierten Speichervolumens „0“ |
Wenn |
|
Beim Erstellen eines Klons diesen von seinem Elternklon trennen |
|
|
Aktivieren Sie die NetApp Volumeverschlüsselung (NVE) auf dem neuen Volume; Standardwert ist |
|
|
LUKS-Verschlüsselung aktivieren. Siehe"Verwenden Sie Linux Unified Key Setup (LUKS)." . Nur SAN. |
"" |
|
zu verwendende Stufenrichtlinie |
|
|
Modus für neue Volumes. Für SMB-Volumes leer lassen. |
"" |
|
Sicherheitsstil für neue Bände. NFS unterstützt |
NFS-Standard ist |
Bereiten Sie die Bereitstellung von SMB-Volumes vor
Sie können SMB-Volumes mithilfe von … bereitstellen. ontap-nas Treiber. Bevor Sie fertigstellenONTAP SAN- und NAS-Treiberintegration Führen Sie die folgenden Schritte aus.
Bevor Sie SMB-Volumes mithilfe von ontap-nas Als Fahrer benötigen Sie Folgendes:
-
Ein Kubernetes-Cluster mit einem Linux-Controller-Knoten und mindestens einem Windows-Worker-Knoten, auf dem Windows Server 2019 ausgeführt wird. Trident unterstützt SMB-Volumes nur, wenn sie in Pods eingebunden sind, die auf Windows-Knoten laufen.
-
Mindestens ein Trident Geheimnis, das Ihre Active Directory-Anmeldeinformationen enthält. Um Geheimnisse zu generieren
smbcreds:kubectl create secret generic smbcreds --from-literal username=user --from-literal password='password' -
Ein als Windows-Dienst konfigurierter CSI-Proxy. Um einen zu konfigurieren
csi-proxy, siehe"GitHub: CSI-Proxy" oder"GitHub: CSI-Proxy für Windows" für Kubernetes-Knoten, die unter Windows laufen.
-
SMB-Freigaben erstellen. Sie können die SMB-Administratorfreigaben auf zwei Arten erstellen, entweder mithilfe von"Microsoft Management Console" Über das Snap-In „Freigegebene Ordner“ oder über die ONTAP -Befehlszeilenschnittstelle. So erstellen Sie die SMB-Freigaben mithilfe der ONTAP -Befehlszeilenschnittstelle:
-
Erstellen Sie gegebenenfalls die Verzeichnispfadstruktur für die Freigabe.
Der
vserver cifs share createDer Befehl überprüft den Pfad, der bei der Erstellung der Freigabe in der Option -path angegeben wurde. Wenn der angegebene Pfad nicht existiert, schlägt der Befehl fehl. -
Erstellen Sie eine SMB-Freigabe, die dem angegebenen SVM zugeordnet ist:
vserver cifs share create -vserver vserver_name -share-name share_name -path path [-share-properties share_properties,...] [other_attributes] [-comment text] -
Überprüfen Sie, ob die Freigabe erstellt wurde:
vserver cifs share show -share-name share_nameSiehe"Erstellen einer SMB-Freigabe" Für alle Details.
-
-
Bei der Erstellung des Backends müssen Sie Folgendes konfigurieren, um SMB-Volumes anzugeben. Alle Konfigurationsoptionen für das FSx for ONTAP Backend finden Sie unter"FSx für ONTAP: Konfigurationsoptionen und Beispiele" .
Parameter Beschreibung Beispiel smbShareSie können entweder den Namen einer SMB-Freigabe angeben, die mit der Microsoft Management Console oder der ONTAP CLI erstellt wurde, oder einen Namen, unter dem Trident die SMB-Freigabe erstellen kann. Dieser Parameter ist für Amazon FSx for ONTAP -Backends erforderlich.
smb-sharenasTypeMuss eingestellt werden auf
smb. Wenn null, wird standardmäßig der Wert verwendet.nfs.smbsecurityStyleSicherheitsstil für neue Bände. Muss eingestellt sein auf
ntfsodermixedfür SMB-Volumes.ntfs`oder `mixedfür SMB-VolumesunixPermissionsModus für neue Volumes. Muss bei SMB-Volumes leer bleiben.
""