Bereiten Sie die Konfiguration eines Backends mit ONTAP NAS-Treibern vor
Verstehen Sie die Anforderungen, Authentifizierungsoptionen und Exportrichtlinien für die Konfiguration eines ONTAP Backends mit ONTAP NAS-Treibern.
Ab der Version 25.10 unterstützt NetApp Trident "NetApp AFX-Speichersystem". NetApp AFX-Speichersysteme unterscheiden sich von anderen ONTAP-Systemen (ASA, AFF und FAS) in der Implementierung ihrer Speicherschicht.
|
|
Nur der ontap-nas Treiber (mit NFS-Protokoll) wird für AFX-Systeme unterstützt; das SMB-Protokoll wird nicht unterstützt.
|
In der Trident-Backend-Konfiguration müssen Sie nicht angeben, dass Ihr System AFX ist. Wenn Sie ontap-nas als storageDriverName auswählen, erkennt Trident die AFX-Systeme automatisch.
Anforderungen
-
Für alle ONTAP Backends erfordert Trident, dass mindestens ein Aggregat dem SVM zugewiesen wird.
-
Sie können mehr als einen Treiber ausführen und Speicherklassen erstellen, die auf den einen oder den anderen verweisen. Beispielsweise könnten Sie eine Gold-Klasse konfigurieren, die den
ontap-nasTreiber verwendet, und eine Bronze-Klasse, die denontap-nas-economyverwendet. -
Auf allen Ihren Kubernetes-Worker-Knoten müssen die entsprechenden NFS-Tools installiert sein. Weitere Informationen finden Sie unter "hier,".
-
Trident unterstützt SMB-Volumes nur, wenn sie in Pods eingebunden sind, die auf Windows-Knoten ausgeführt werden. Weitere Informationen finden Sie unter Bereiten Sie die Bereitstellung von SMB-Volumes vor.
Authentifizieren Sie das ONTAP Backend
Trident bietet zwei Modi zur Authentifizierung eines ONTAP Backend.
-
Anmeldeinformationsbasiert: Dieser Modus erfordert ausreichende Berechtigungen für das ONTAP Backend. Es wird empfohlen, ein Konto zu verwenden, das einer vordefinierten Sicherheitsanmelderolle zugeordnet ist, wie
adminodervsadminum maximale Kompatibilität mit ONTAP Versionen zu gewährleisten. -
Zertifikatsbasiert: In diesem Modus ist ein auf dem Backend installiertes Zertifikat erforderlich, damit Trident mit einem ONTAP Cluster kommunizieren kann. Hier muss die Backend-Definition Base64-kodierte Werte des Client-Zertifikats, des Schlüssels und, falls verwendet (empfohlen), des vertrauenswürdigen CA-Zertifikats enthalten.
Sie können bestehende Backends aktualisieren, um zwischen anmeldeinformationsbasierten und zertifikatsbasierten Authentifizierungsverfahren zu wechseln. Es wird jedoch jeweils nur ein Authentifizierungsverfahren unterstützt. Um zu einem anderen Authentifizierungsverfahren zu wechseln, müssen Sie das bestehende Verfahren aus der Backend-Konfiguration entfernen.
|
|
Wenn Sie versuchen, sowohl Anmeldeinformationen als auch Zertifikate anzugeben, schlägt die Backend-Erstellung mit der Fehlermeldung fehl, dass mehr als ein Authentifizierungsverfahren in der Konfigurationsdatei angegeben wurde. |
Aktivieren Sie die anmeldeinformationsbasierte Authentifizierung
Trident benötigt die Anmeldeinformationen eines Administrators mit SVM- oder Cluster-Berechtigungen, um mit dem ONTAP Backend zu kommunizieren. Es wird empfohlen, vordefinierte Standardrollen wie admin oder vsadmin zu verwenden. Dies gewährleistet die Vorwärtskompatibilität mit zukünftigen ONTAP Versionen, die möglicherweise Feature-APIs für zukünftige Trident Versionen bereitstellen. Eine benutzerdefinierte Sicherheits-Anmelderolle kann erstellt und mit Trident verwendet werden, wird jedoch nicht empfohlen.
Eine beispielhafte Backend-Definition sieht folgendermaßen aus:
---
version: 1
backendName: ExampleBackend
storageDriverName: ontap-nas
managementLIF: 10.0.0.1
dataLIF: 10.0.0.2
svm: svm_nfs
credentials:
name: secret-backend-creds
{
"version": 1,
"backendName": "ExampleBackend",
"storageDriverName": "ontap-nas",
"managementLIF": "10.0.0.1",
"dataLIF": "10.0.0.2",
"svm": "svm_nfs",
"credentials": {
"name": "secret-backend-creds"
}
}
Beachten Sie, dass die Backend-Definition der einzige Ort ist, an dem die Zugangsdaten im Klartext gespeichert werden. Nach der Erstellung des Backends werden Benutzernamen und Passwörter mit Base64 kodiert und als Kubernetes-Secrets gespeichert. Die Erstellung/Aktualisierung eines Backends ist der einzige Schritt, der Kenntnisse der Zugangsdaten erfordert. Daher ist dies eine ausschließlich vom Kubernetes-/Speicheradministrator durchzuführende Admin-Operation.
Zertifikatsbasierte Authentifizierung aktivieren
Neue und bestehende Backends können ein Zertifikat verwenden und mit dem ONTAP Backend kommunizieren. In der Backend-Definition sind drei Parameter erforderlich.
-
clientCertificate: Base64-kodierter Wert des Client-Zertifikats.
-
clientPrivateKey: Base64-kodierter Wert des zugehörigen privaten Schlüssels.
-
trustedCACertificate: Base64-kodierter Wert des Zertifikats einer vertrauenswürdigen CA. Wenn eine vertrauenswürdige CA verwendet wird, muss dieser Parameter angegeben werden. Dies kann ignoriert werden, wenn keine vertrauenswürdige CA verwendet wird.
Ein typischer Arbeitsablauf umfasst die folgenden Schritte.
-
Generieren Sie ein Clientzertifikat und einen Schlüssel. Legen Sie beim Generieren den Common Name (CN) auf den ONTAP Benutzer fest, als den Sie sich authentifizieren möchten.
openssl req -x509 -nodes -days 1095 -newkey rsa:2048 -keyout k8senv.key -out k8senv.pem -subj "/C=US/ST=NC/L=RTP/O=NetApp/CN=vsadmin"
-
Fügen Sie dem ONTAP Cluster ein vertrauenswürdiges CA-Zertifikat hinzu. Dies wurde möglicherweise bereits vom Storage-Administrator erledigt. Ignorieren Sie dies, falls keine vertrauenswürdige CA verwendet wird.
security certificate install -type server -cert-name <trusted-ca-cert-name> -vserver <vserver-name> ssl modify -vserver <vserver-name> -server-enabled true -client-enabled true -common-name <common-name> -serial <SN-from-trusted-CA-cert> -ca <cert-authority>
-
Installieren Sie das Clientzertifikat und den Schlüssel (aus Schritt 1) auf dem ONTAP Cluster.
security certificate install -type client-ca -cert-name <certificate-name> -vserver <vserver-name> security ssl modify -vserver <vserver-name> -client-enabled true
-
Bestätigen Sie, dass die ONTAP Sicherheitsanmeldungsrolle das
certAuthentifizierungsverfahren unterstützt.security login create -user-or-group-name vsadmin -application ontapi -authentication-method cert -vserver <vserver-name> security login create -user-or-group-name vsadmin -application http -authentication-method cert -vserver <vserver-name>
-
Testen Sie die Authentifizierung mit dem generierten Zertifikat. Ersetzen Sie <ONTAP Management LIF> und <vserver name> durch die Management-LIF-IP und den SVM-Namen. Sie müssen sicherstellen, dass die Service-Richtlinie des LIF auf
default-data-managementgesetzt ist.curl -X POST -Lk https://<ONTAP-Management-LIF>/servlets/netapp.servlets.admin.XMLrequest_filer --key k8senv.key --cert ~/k8senv.pem -d '<?xml version="1.0" encoding="UTF-8"?><netapp xmlns="http://www.netapp.com/filer/admin" version="1.21" vfiler="<vserver-name>"><vserver-get></vserver-get></netapp>'
-
Zertifikat, Schlüssel und vertrauenswürdiges CA-Zertifikat mit Base64 kodieren.
base64 -w 0 k8senv.pem >> cert_base64 base64 -w 0 k8senv.key >> key_base64 base64 -w 0 trustedca.pem >> trustedca_base64
-
Erstellen Sie das Backend unter Verwendung der im vorherigen Schritt erhaltenen Werte.
cat cert-backend-updated.json { "version": 1, "storageDriverName": "ontap-nas", "backendName": "NasBackend", "managementLIF": "1.2.3.4", "dataLIF": "1.2.3.8", "svm": "vserver_test", "clientCertificate": "Faaaakkkkeeee...Vaaalllluuuueeee", "clientPrivateKey": "LS0tFaKE...0VaLuES0tLS0K", "storagePrefix": "myPrefix_" } #Update backend with tridentctl tridentctl update backend NasBackend -f cert-backend-updated.json -n trident +------------+----------------+--------------------------------------+--------+---------+ | NAME | STORAGE DRIVER | UUID | STATE | VOLUMES | +------------+----------------+--------------------------------------+--------+---------+ | NasBackend | ontap-nas | 98e19b74-aec7-4a3d-8dcf-128e5033b214 | online | 9 | +------------+----------------+--------------------------------------+--------+---------+
Aktualisieren Sie Authentifizierungsverfahren oder rotieren Sie die Anmeldeinformationen
Sie können ein bestehendes Backend aktualisieren, um ein anderes Authentifizierungsverfahren zu verwenden oder um dessen Anmeldeinformationen zu rotieren. Dies funktioniert in beide Richtungen: Backends, die Benutzername/Passwort verwenden, können auf Zertifikate umgestellt werden; Backends, die Zertifikate verwenden, können auf Benutzername/Passwort umgestellt werden. Dazu müssen Sie das bestehende Authentifizierungsverfahren entfernen und das neue Authentifizierungsverfahren hinzufügen. Verwenden Sie dann die aktualisierte backend.json-Datei mit den erforderlichen Parametern, um tridentctl update backend auszuführen.
cat cert-backend-updated.json
{
"version": 1,
"storageDriverName": "ontap-nas",
"backendName": "NasBackend",
"managementLIF": "1.2.3.4",
"dataLIF": "1.2.3.8",
"svm": "vserver_test",
"username": "vsadmin",
"password": "password",
"storagePrefix": "myPrefix_"
}
#Update backend with tridentctl tridentctl update backend NasBackend -f cert-backend-updated.json -n trident +------------+----------------+--------------------------------------+--------+---------+ | NAME | STORAGE DRIVER | UUID | STATE | VOLUMES | +------------+----------------+--------------------------------------+--------+---------+ | NasBackend | ontap-nas | 98e19b74-aec7-4a3d-8dcf-128e5033b214 | online | 9 | +------------+----------------+--------------------------------------+--------+---------+
|
|
Beim Rotieren von Passwörtern muss der Speicheradministrator zunächst das Passwort für den Benutzer auf ONTAP aktualisieren. Danach erfolgt ein Backend-Update. Beim Rotieren von Zertifikaten können dem Benutzer mehrere Zertifikate hinzugefügt werden. Das Backend wird dann aktualisiert, um das neue Zertifikat zu verwenden, wonach das alte Zertifikat aus dem ONTAP Cluster gelöscht werden kann. |
Die Aktualisierung des Backends beeinträchtigt weder den Zugriff auf bereits erstellte Volumes noch später hergestellte Volume-Verbindungen. Eine erfolgreiche Backend-Aktualisierung zeigt an, dass Trident mit dem ONTAP Backend kommunizieren und zukünftige Volume-Operationen ausführen kann.
Erstellen einer benutzerdefinierten ONTAP Rolle für Trident
Sie können eine ONTAP-Clusterrolle mit minimalen Berechtigungen erstellen, sodass Sie nicht die ONTAP-Admin-Rolle verwenden müssen, um Vorgänge in Trident durchzuführen. Wenn Sie den Benutzernamen in einer Trident-Backend-Konfiguration angeben, verwendet Trident die von Ihnen erstellte ONTAP-Clusterrolle, um die Vorgänge auszuführen.
Weitere Informationen zum Erstellen benutzerdefinierter Trident-Rollen finden Sie unter "Trident Custom-Role-Generator".
-
Erstellen Sie eine neue Rolle mit folgendem Befehl:
security login role create <role_name\> -cmddirname "command" -access all –vserver <svm_name\> -
Erstellen Sie einen Benutzernamen für den Trident Benutzer:
security login create -username <user_name\> -application ontapi -authmethod <password\> -role <name_of_role_in_step_1\> –vserver <svm_name\> -comment "user_description" -
Ordnen Sie die Rolle dem Benutzer zu:
security login modify username <user_name\> –vserver <svm_name\> -role <role_name\> -application ontapi -application console -authmethod <password\>
Führen Sie die folgenden Schritte im ONTAP System Manager aus:
-
Erstellen Sie eine benutzerdefinierte Rolle:
-
Um eine benutzerdefinierte Rolle auf Clusterebene zu erstellen, wählen Sie Cluster > Settings.
(Oder) Um eine benutzerdefinierte Rolle auf SVM-Ebene zu erstellen, wählen Sie Storage > Storage VMs >
required SVM> Settings > Users and Roles. -
Wählen Sie das Pfeilsymbol (→) neben Users and Roles aus.
-
Wählen Sie unter Rollen +Add aus.
-
Definieren Sie die Regeln für die Rolle und klicken Sie auf Save.
-
-
Rolle dem Trident-Benutzer zuordnen: + Führen Sie die folgenden Schritte auf der Seite Benutzer und Rollen aus:
-
Wählen Sie das Symbol + unter Benutzer aus.
-
Wählen Sie den gewünschten Benutzernamen aus und wählen Sie eine Rolle im Dropdown-Menü für Rolle.
-
Klicken Sie auf Speichern.
-
Weitere Informationen finden Sie auf den folgenden Seiten:
NFS-Exportrichtlinien verwalten
Trident verwendet NFS-Exportregeln, um den Zugriff auf die Volumes zu steuern, die es bereitstellt.
Trident bietet zwei Optionen für die Arbeit mit Exportrichtlinien:
-
Trident kann die Exportregel dynamisch selbst verwalten; in diesem Betriebsmodus gibt der Speicheradministrator eine Liste von CIDR-Blöcken an, die zulässige IP-Adressen repräsentieren. Trident fügt anwendbare Knoten-IPs, die in diese Bereiche fallen, der Exportregel beim Veröffentlichen automatisch hinzu. Alternativ, wenn keine CIDRs angegeben werden, werden alle globalen Unicast-IPs, die auf dem Knoten gefunden werden, auf den das Volume veröffentlicht wird, zur Exportregel hinzugefügt.
-
Speicheradministratoren können eine Exportregel erstellen und Regeln manuell hinzufügen. Trident verwendet die Standard-Exportregel, sofern in der Konfiguration kein anderer Name für die Exportregel angegeben ist.
Exportregeln dynamisch verwalten
Trident bietet die Möglichkeit, Exportregeln für ONTAP-Backends dynamisch zu verwalten. Dadurch erhält der Speicheradministrator die Möglichkeit, einen zulässigen Adressraum für Worker-Knoten-IPs anzugeben, anstatt explizite Regeln manuell zu definieren. Dies vereinfacht die Verwaltung der Exportregel erheblich; Änderungen an der Exportregel erfordern keine manuelle Intervention mehr am Storage-Cluster. Außerdem hilft dies, den Zugriff auf den Storage-Cluster nur auf Worker-Knoten zu beschränken, die Volumes einbinden und deren IPs im angegebenen Bereich liegen, was eine feingranulare und automatisierte Verwaltung unterstützt.
|
|
Verwenden Sie keine Netzwerkadressübersetzung (NAT), wenn Sie dynamische Exportregeln verwenden. Mit NAT sieht der Speicherkontroller die Frontend-NAT-Adresse und nicht die tatsächliche IP-Hostadresse, sodass der Zugriff verweigert wird, wenn in den Exportregeln keine Übereinstimmung gefunden wird. |
Beispiel
Es gibt zwei Konfigurationsoptionen, die verwendet werden müssen. Hier ist ein Beispiel für eine Backend-Definition:
---
version: 1
storageDriverName: ontap-nas-economy
backendName: ontap_nas_auto_export
managementLIF: 192.168.0.135
svm: svm1
username: vsadmin
password: password
autoExportCIDRs:
- 192.168.0.0/24
autoExportPolicy: true
|
|
Bei Verwendung dieser Funktion müssen Sie sicherstellen, dass die Root-Verbindung in Ihrer SVM über eine zuvor erstellte Exportregel verfügt, die den CIDR-Block des Knotens zulässt (wie z. B. die Standard-Exportregel). Befolgen Sie stets die von NetApp empfohlenen Best Practices, um eine SVM für Trident zu dedizieren. |
Hier ist eine Erklärung, wie diese Funktion anhand des obigen Beispiels funktioniert:
-
autoExportPolicyist auftruegesetzt. Dies bedeutet, dass Trident für jedes mit diesem Backend bereitgestellte Volume für diesvm1SVM eine Exportregel erstellt und das Hinzufügen sowie Löschen von Regeln mithilfe vonautoexportCIDRsAdressblöcken verwaltet. Solange ein Volume nicht an einen Knoten angehängt ist, verwendet das Volume eine leere Exportregel ohne Regeln, um unerwünschten Zugriff auf dieses Volume zu verhindern. Wenn ein Volume auf einem Knoten veröffentlicht wird, erstellt Trident eine Exportregel mit demselben Namen wie der zugrunde liegende qtree, der die Knoten-IP innerhalb des angegebenen CIDR-Blocks enthält. Diese IPs werden auch der Exportregel hinzugefügt, die vom übergeordneten FlexVol volume verwendet wird.-
Beispiel:
-
Backend-UUID 403b5326-8482-40db-96d0-d83fb3f4daec
-
autoExportPolicyeingestellt auftrue -
Speicherpräfix
trident -
PVC UUID a79bcf5f-7b6d-4a40-9876-e2551f159c1c
-
Der Qtree mit dem Namen trident_pvc_a79bcf5f_7b6d_4a40_9876_e2551f159c1c erstellt eine Exportrichtlinie für das FlexVol mit dem Namen
trident-403b5326-8482-40db96d0-d83fb3f4daec, eine Exportrichtlinie für den Qtree mit dem Namen
trident_pvc_a79bcf5f_7b6d_4a40_9876_e2551f159c1cund eine leere Exportrichtlinie mit dem Namentrident_emptyauf dem SVM. Die Regeln der FlexVol-Exportrichtlinie bilden eine Obermenge aller in den Qtree-Exportrichtlinien enthaltenen Regeln. Die leere Exportrichtlinie wird von allen nicht angehängten Volumes wiederverwendet.
-
-
-
autoExportCIDRsenthält eine Liste von Adressblöcken. Dieses Feld ist optional und hat standardmäßig den Wert ["0.0.0.0/0", "::/0"]. Falls nicht definiert, fügt Trident alle global gültigen Unicast-Adressen hinzu, die auf den Worker-Knoten mit Veröffentlichungen gefunden wurden.
In diesem Beispiel wird der 192.168.0.0/24 Adressraum bereitgestellt. Dies bedeutet, dass Kubernetes-Knoten-IPs, die in diesen Adressbereich fallen und Veröffentlichungen enthalten, der von Trident erstellten Exportregel hinzugefügt werden. Wenn Trident einen Knoten registriert, auf dem es ausgeführt wird, ruft es die IP-Adressen des Knotens ab und prüft sie anhand der in autoExportCIDRs bereitgestellten Adressblöcke. Zum Veröffentlichungszeitpunkt erstellt Trident nach dem Filtern der IPs die Exportregel für die Client-IPs des Knotens, auf den veröffentlicht wird.
Sie können autoExportPolicy und autoExportCIDRs für Backends nach deren Erstellung aktualisieren. Sie können neue CIDRs für ein automatisch verwaltetes Backend hinzufügen oder bestehende CIDRs löschen. Gehen Sie beim Löschen von CIDRs vorsichtig vor, um sicherzustellen, dass bestehende Verbindungen nicht getrennt werden. Sie können auch wählen, autoExportPolicy für ein Backend zu deaktivieren und auf eine manuell erstellte Exportrichtlinie zurückzugreifen. Dies erfordert das Setzen des exportPolicy Parameters in Ihrer Backend-Konfiguration.
Nachdem Trident ein Backend erstellt oder aktualisiert hat, können Sie das Backend mit tridentctl oder der entsprechenden tridentbackend CRD überprüfen:
./tridentctl get backends ontap_nas_auto_export -n trident -o yaml
items:
- backendUUID: 403b5326-8482-40db-96d0-d83fb3f4daec
config:
aggregate: ""
autoExportCIDRs:
- 192.168.0.0/24
autoExportPolicy: true
backendName: ontap_nas_auto_export
chapInitiatorSecret: ""
chapTargetInitiatorSecret: ""
chapTargetUsername: ""
chapUsername: ""
dataLIF: 192.168.0.135
debug: false
debugTraceFlags: null
defaults:
encryption: "false"
exportPolicy: <automatic>
fileSystemType: ext4
Wenn ein Knoten entfernt wird, überprüft Trident alle Exportregeln, um die Zugriffsregeln zu entfernen, die dem Knoten entsprechen. Durch das Entfernen dieser Knoten-IP aus den Exportregeln der verwalteten Backends verhindert Trident unerwünschte Einbindungen, es sei denn, diese IP wird von einem neuen Knoten im Cluster wiederverwendet.
Bei bereits vorhandenen Backends stellt die Aktualisierung des Backends mit tridentctl update backend sicher, dass Trident die Exportregeln automatisch verwaltet. Dabei werden bei Bedarf zwei neue Exportregeln erstellt, die nach der UUID und dem Qtree-Namen des Backends benannt sind. Volumes, die auf dem Backend vorhanden sind, verwenden nach dem Aushängen und erneuten Einhängen die neu erstellten Exportregeln.
|
|
Das Löschen eines Backends mit automatisch verwalteten Exportregeln löscht die dynamisch erstellte Exportregel. Wenn das Backend neu erstellt wird, wird es als neues Backend behandelt und führt zur Erstellung einer neuen Exportregel. |
Wird die IP-Adresse eines aktiven Knotens geändert, muss der Trident Pod auf dem Knoten neu gestartet werden. Trident aktualisiert anschließend die Exportregel für die von ihm verwalteten Backends, um diese IP-Änderung widerzuspiegeln.
Bereiten Sie die Bereitstellung von SMB-Volumes vor
Mit ein wenig zusätzlicher Vorbereitung können Sie SMB-Volumes mit ontap-nas Treibern bereitstellen.
|
|
Sie müssen sowohl das NFS- als auch das SMB/CIFS-Protokoll auf der SVM konfigurieren, um ein ontap-nas-economy SMB-Volume für ONTAP On-Premises-Cluster zu erstellen. Wenn eines dieser Protokolle nicht konfiguriert ist, schlägt die Erstellung des SMB-Volumes fehl.
|
|
|
autoExportPolicy is not supported for SMB-Volumes.
|
Bevor Sie SMB-Volumes bereitstellen können, müssen Sie Folgendes haben.
-
Ein Kubernetes-Cluster mit einem Linux-Controller-Knoten und mindestens einem Windows-Worker-Knoten, auf dem Windows Server 2022 läuft. Trident unterstützt SMB-Volumes, die nur auf Pods auf Windows-Knoten eingebunden sind.
-
Mindestens ein Trident secret, das Ihre Active Directory-Anmeldeinformationen enthält. Um ein secret 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
csi-proxyzu konfigurieren, siehe "GitHub: CSI Proxy" oder "GitHub: CSI-Proxy für Windows" für Kubernetes-Knoten, die unter Windows laufen.
-
Für On-Premises ONTAP können Sie optional eine SMB-Freigabe erstellen oder Trident kann eine für Sie erstellen.
SMB-Shares sind für Amazon FSx for ONTAP erforderlich. Sie können die SMB-Administratorfreigaben auf zwei Arten erstellen: entweder mit dem "Microsoft Management Console" Shared Folders Snap-In oder mit der ONTAP CLI. Um die SMB-Freigaben mit der ONTAP CLI zu erstellen:
-
Erstellen Sie bei Bedarf die Verzeichnispfadstruktur für die Freigabe.
Der
vserver cifs share createBefehl prüft den in der Option -path beim Erstellen der Freigabe angegebenen Pfad. 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_name
Weitere Einzelheiten finden Sie in "Erstellen Sie eine SMB-Freigabe".
-
-
Bei der Erstellung des Backends müssen Sie Folgendes konfigurieren, um SMB-Volumes anzugeben. Alle FSx for ONTAP Backend-Konfigurationsoptionen finden Sie unter "FSx for ONTAP Konfigurationsoptionen und Beispiele".
Parameter Beschreibung Beispiel smbShareSie können eines der folgenden angeben: den Namen einer SMB-Freigabe, die mit der Microsoft Management Console oder ONTAP CLI erstellt wurde; einen Namen, damit Trident die SMB-Freigabe erstellen kann; oder Sie können den Parameter leer lassen, um den gemeinsamen Freigabezugriff auf Volumes zu verhindern. Dieser Parameter ist optional für lokale ONTAP. Dieser Parameter ist für Amazon FSx for ONTAP Backends erforderlich und darf nicht leer sein.
smb-sharenasTypeMuss auf
smbgesetzt werden. Wenn null, wird standardmäßignfsverwendet.smbsecurityStyleSicherheitsstil für neue Volumes. Muss auf
ntfsodermixedfür SMB-Volumes eingestellt werden.ntfsormixedfür SMB-VolumesunixPermissionsModus für neue Volumes. Muss für SMB-Volumes leer bleiben.
""
Sichere SMB-Verbindungen aktivieren
Ab der Version 25.06 unterstützt NetApp Trident die sichere Bereitstellung von SMB-Volumes, die mit ontap-nas und ontap-nas-economy Backends erstellt wurden. Wenn Secure SMB aktiviert ist, können Sie Active Directory (AD)-Benutzern und -Benutzergruppen mithilfe von Zugriffssteuerungslisten (ACLs) kontrollierten Zugriff auf die SMB-Freigaben gewähren.
-
Das Importieren
ontap-nas-economyvon Volumes wird nicht unterstützt. -
Es werden nur schreibgeschützte Klone für
ontap-nas-economyvolumes unterstützt. -
Wenn Secure SMB aktiviert ist, ignoriert Trident die im Backend angegebene SMB-Freigabe.
-
Das Aktualisieren der PVC-Annotation, der Speicherklassenannotation und des Backend-Felds aktualisiert nicht die SMB share ACL.
-
Die in der Annotation des Klon-PVC angegebene SMB-Share-ACL hat Vorrang vor denen im Quell-PVC.
-
Stellen Sie sicher, dass Sie gültige AD-Benutzer angeben, wenn Sie sicheres SMB aktivieren. Ungültige Benutzer werden nicht zur ACL hinzugefügt.
-
Wenn Sie dem gleichen AD-Benutzer im Backend, in der Speicherklasse und im PVC unterschiedliche Berechtigungen zuweisen, ist die Berechtigungspriorität: PVC, Speicherklasse und dann Backend.
-
Secure SMB wird für `ontap-nas`managed Volume-Importe unterstützt und ist für unmanaged Volume-Importe nicht anwendbar.
-
Geben Sie adAdminUser in TridentBackendConfig wie im folgenden Beispiel an:
apiVersion: trident.netapp.io/v1 kind: TridentBackendConfig metadata: name: backend-tbc-ontap namespace: trident spec: version: 1 storageDriverName: ontap-nas managementLIF: 10.193.176.x svm: svm0 useREST: true defaults: adAdminUser: tridentADtest credentials: name: backend-tbc-ontap-invest-secret -
Fügen Sie die Annotation in die Speicherklasse ein.
Fügen Sie die
trident.netapp.io/smbShareAdUserAnnotation zur Storage Class hinzu, um sicheres SMB ohne Fehler zu aktivieren. Der für die Annotationtrident.netapp.io/smbShareAdUserangegebene Benutzerwert sollte derselbe sein wie der imsmbcredsSecret angegebene Benutzername. Sie können eines der folgenden fürsmbShareAdUserPermissionauswählen:full_control,changeoderread. Die Standardberechtigung istfull_control.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: ontap-smb-sc
annotations:
trident.netapp.io/smbShareAdUserPermission: change
trident.netapp.io/smbShareAdUser: tridentADuser
parameters:
backendType: ontap-nas
csi.storage.k8s.io/node-stage-secret-name: smbcreds
csi.storage.k8s.io/node-stage-secret-namespace: trident
trident.netapp.io/nasType: smb
provisioner: csi.trident.netapp.io
reclaimPolicy: Delete
volumeBindingMode: Immediate
-
Erstellen Sie ein PVC.
Das folgende Beispiel erstellt eine PVC:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc4
namespace: trident
annotations:
trident.netapp.io/snapshotDirectory: "true"
trident.netapp.io/smbShareAccessControl: |
read:
- tridentADtest
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: ontap-smb-sc