sidebar | permalink | keywords | summary |
---|---|---|---|
sidebar |
faq.html |
faq, frequently asked questions |
Hier finden Sie Antworten auf die häufig gestellten Fragen zur Installation, Konfiguration, Aktualisierung und Fehlerbehebung von Trident. |
Hier finden Sie Antworten auf die häufig gestellten Fragen zur Installation, Konfiguration, Aktualisierung und Fehlerbehebung von Trident.
Ab Version 24.02 wird Trident alle vier Monate veröffentlicht: Februar, Juni und Oktober.
Trident unterstützt in der Regel keine Alpha-Funktionen in Kubernetes. Trident unterstützt möglicherweise Beta-Funktionen in den beiden Trident Versionen, die nach der Kubernetes Beta-Version folgen.
Trident hat keine Abhängigkeiten von anderen NetApp Software-Produkten und funktioniert als Standalone-Applikation. Sie sollten jedoch ein NetApp Back-End Storage-Gerät haben.
Verwenden Sie den tridentctl get
Befehl, um weitere Informationen zur Trident Konfiguration zu erhalten.
Ja. Prometheus Endpunkte, die zur Erfassung von Informationen über den Trident-Vorgang verwendet werden können, z. B. die Anzahl der gemanagten Back-Ends, die Anzahl der bereitgestellten Volumes, die verbrauchten Bytes usw. Sie können auch für Monitoring und Analysen verwenden"Einblicke in die Cloud".
Nein. Es gibt keine Änderungen hinsichtlich der Benutzererfahrung und Funktionalitäten. Der verwendete bereitstellungsname ist csi.trident.netapp.io
. Diese Methode zur Installation von Trident wird empfohlen, wenn Sie alle neuen Funktionen der aktuellen und zukünftigen Versionen verwenden möchten.
Ja, Trident kann offline installiert werden. Siehe "Erfahren Sie mehr über die Trident Installation".
Ja. Trident 18.10 und höher unterstützen Remote-Installationsfunktionen von jedem Computer aus, der Zugriff auf das Cluster hat kubectl
. Nachdem kubectl
der Zugriff überprüft wurde (z. B. Starten Sie einen kubectl get nodes
Befehl vom Remote-Computer zur Überprüfung), befolgen Sie die Installationsanweisungen.
Trident wird als Kubernetes Deployment (ReplicaSet) mit einer Instanz installiert und verfügt daher über integrierte HA. Sie sollten die Anzahl der Replikate in der Bereitstellung nicht erhöhen. Wenn der Node, auf dem Trident installiert ist, verloren geht oder der Pod anderweitig nicht verfügbar ist, stellt Kubernetes den Pod automatisch wieder einem funktionstüchtigen Node im Cluster bereit. Trident arbeitet nur über die Kontrollebene. Derzeit gemountete Pods sind also nicht betroffen, wenn Trident erneut implementiert wird.
Trident liest vom Kubernetes-API-Server, um zu bestimmen, wann Applikationen neue PVCs anfordern. Daher ist Zugriff auf das kube-System erforderlich.
Das Trident-Installationsprogramm erstellt ein Kubernetes ClusterRole, das spezifischen Zugriff auf die Ressourcen PersistentVolume, PersistentVolumeClaim, StorageClass und Secret des Kubernetes-Clusters hat. Siehe "Die tridentctl-Installation anpassen".
Sie können die genauen Manifestdateien, die Trident für die Installation verwendet, bei Bedarf lokal generieren und ändern. Siehe "Die tridentctl-Installation anpassen".
Kann ich dieselbe ONTAP-Backend-SVM für zwei separate Trident-Instanzen für zwei separate Kubernetes-Cluster nutzen?
Es wird zwar nicht empfohlen, aber Sie können dieselbe Back-End-SVM für zwei Trident-Instanzen verwenden. Geben Sie während der Installation einen eindeutigen Volume-Namen für jede Instanz an und/oder geben Sie einen eindeutigen StoragePrefix
Parameter in der setup/backend.json
Datei an. Dadurch wird sichergestellt, dass nicht dieselbe FlexVol für beide Instanzen verwendet wird.
Trident ist ganz einfach ein Kubernetes-Pod und kann überall dort installiert werden, wo Kubernetes ausgeführt wird.
Ja, Trident wird auf AWS, Google Cloud und Azure unterstützt.
Obwohl Trident Open Source ist und kostenlos zur Verfügung gestellt wird, unterstützt NetApp es vollständig, vorausgesetzt, Ihr NetApp Backend wird unterstützt.
Wenn Sie einen Support-Case anheben möchten, führen Sie einen der folgenden Schritte aus:
-
Kontaktieren Sie Ihren Support Account Manager und erhalten Sie Hilfe bei der Ticketausstellung.
-
Eröffnen Sie einen Support-Case, indem Sie Kontakt aufnehmen "NetApp Support".
Sie können ein Support-Bundle erstellen, indem Sie ausführen tridentctl logs -a
. Erfassen Sie zusätzlich zu den im Bundle erfassten Protokollen das kubelet-Protokoll, um die Mount-Probleme auf der Seite von Kubernetes zu diagnostizieren. Die Anweisungen zum Abrufen des kubelet-Protokolls variieren je nach der Installation von Kubernetes.
Erstellen Sie ein Problem "Trident Github" und erwähnen Sie RFE im Betreff und der Beschreibung des Problems.
Erstellen Sie ein Problem am "Trident Github". Achten Sie darauf, alle erforderlichen Informationen und Protokolle für das Problem einzubeziehen.
Was passiert, wenn ich schnelle Frage zu Trident habe, bei der ich Klarstellung brauche? Gibt es eine Gemeinschaft oder ein Forum?
Sollten Sie Fragen oder Probleme haben oder Anfragen haben, wenden Sie sich bitte über unser Trident oder GitHub an uns"Kanal abstecken".
Das Passwort meines Storage-Systems wurde geändert und Trident funktioniert nicht mehr. Wie kann ich das Recovery durchführen?
Aktualisieren Sie das Back-End-Passwort mit tridentctl update backend myBackend -f </path/to_new_backend.json> -n trident
. Austausch myBackend
Im Beispiel mit Ihrem Backend-Namen, und `/path/to_new_backend.json
Mit dem Pfad zum richtigen backend.json
Datei:
Es gibt zwei wahrscheinliche Szenarien, warum Trident keinen Kubernetes-Node finden kann. Dies kann auf ein Netzwerkproblem innerhalb von Kubernetes oder auf ein DNS-Problem zurückzuführen sein. Das Trident Node-Demonset, das auf jedem Kubernetes Node ausgeführt wird, muss mit dem Trident Controller kommunizieren können, um den Node bei Trident zu registrieren. Wenn nach der Installation von Trident Netzwerkänderungen aufgetreten sind, tritt dieses Problem nur bei den neuen Kubernetes-Nodes auf, die dem Cluster hinzugefügt werden.
Kann ich ein Upgrade von einer älteren Version direkt auf eine neuere Version durchführen (einige Versionen werden übersprungen)?
NetApp unterstützt das Upgrade von Trident von einer Hauptversion auf die nächste unmittelbare Hauptversion. Sie können ein Upgrade von Version 18.xx auf 19.xx, 19.xx auf 20.xx usw. durchführen. Sie sollten das Upgrade vor der Implementierung in einer Produktionsumgebung in einem Labor testen.
Wenn Sie nach einem Upgrade, Abhängigkeitsproblemen oder einem nicht erfolgreichen oder unvollständigen Upgrade Fehler beheben müssen, sollten Sie "Deinstallieren Sie Trident"die frühere Version mithilfe der entsprechenden Anweisungen für diese Version neu installieren. Dies ist der einzige empfohlene Weg, um ein Downgrade auf eine frühere Version.
Die Management-LIF ist erforderlich. Logische Datenschnittstelle variiert:
-
ONTAP SAN: Nicht für iSCSI angeben. Trident verwendet"ONTAP selektive LUN-Zuordnung", um die für die Einrichtung einer Multi-Path-Sitzung erforderlichen iSCI LIFs zu ermitteln. Eine Warnung wird erzeugt, wenn
dataLIF
explizit definiert ist. Weitere Informationen finden Sie unter "ONTAP SAN-Konfigurationsoptionen und -Beispiele" . -
ONTAP NAS: Wir empfehlen die Angabe
dataLIF
. Falls nicht bereitgestellt, ruft Trident die Daten-LIFs von der SVM ab. Sie können einen vollständig qualifizierten Domänennamen (FQDN) angeben, der für die NFS-Mount-Vorgänge verwendet werden soll. Damit können Sie ein Round-Robin-DNS zum Load-Balancing über mehrere Daten-LIFs erstellen. Weitere Informationen finden Sie unter"ONTAP NAS-Konfigurationsoptionen und -Beispiele"
Ja. Trident unterstützt bidirektionales CHAP für ONTAP Back-Ends. Dies erfordert die Einstellung useCHAP=true
in Ihrer Backend-Konfiguration.
Trident kann Exportrichtlinien ab Version 20.04 dynamisch erstellen und verwalten. Dadurch kann der Storage-Administrator einen oder mehrere CIDR-Blöcke in seiner Back-End-Konfiguration bereitstellen und Trident Add-Node-IPs erstellen, die einer erstellten Exportrichtlinie innerhalb dieses Bereichs liegen. Auf diese Weise verwaltet Trident automatisch das Hinzufügen und Löschen von Regeln für Knoten mit IPs innerhalb der angegebenen CIDRs.
Trident unterstützt das Definieren von IPv6-Adressen für:
-
managementLIF
UnddataLIF
Für ONTAP-NAS-Back-Ends. -
managementLIF
Für ONTAP-SAN-Back-Ends. Sie können nicht angebendataLIF
Auf einem ONTAP-SAN-Back-End
Trident muss mit dem Flag (für die tridentctl
Installation), IPv6
(für den Trident-Operator) oder tridentTPv6
(für die Helm-Installation) installiert --use-ipv6
werden, damit es über IPv6 funktioniert.
Ja, es ist möglich, die Backend-Management-LIF mithilfe des zu aktualisieren tridentctl update backend
Befehl.
Sie können die Daten-LIF auf aktualisieren ontap-nas
Und ontap-nas-economy
Nur.
Trident kann viele Backends gleichzeitig unterstützen, entweder mit dem gleichen Treiber oder mit verschiedenen Treibern.
Trident speichert die Back-End-Zugangsdaten als Kubernetes Secrets.
Wenn die Back-End-Attribute nicht zur automatischen Auswahl der richtigen Pools für eine Klasse verwendet werden können, wird das verwendet storagePools
Und additionalStoragePools
Parameter werden zur Auswahl eines bestimmten Pools verwendet.
Wie kann ich sicherstellen, dass die Trident nicht über ein bestimmtes Backend zur Verfügung stellt?
Mit dem excludeStoragePools
Parameter wird der Satz von Pools gefiltert, den Trident für die Bereitstellung verwendet, und alle passenden Pools werden entfernt.
Wenn mehrere konfigurierte Back-Ends des gleichen Typs vorhanden sind, wählt Trident das entsprechende Back-End basierend auf den in und PersistentVolumeClaim
vorhandenen Parametern aus StorageClass
. Wenn beispielsweise mehrere ONTAP-nas-Treiber-Backends vorhanden sind, versucht Trident, die Parameter im zu vergleichen StorageClass
und PersistentVolumeClaim
kombiniert und ein Backend zu verwenden, das die in und PersistentVolumeClaim
aufgeführten Anforderungen erfüllen kann StorageClass
. Wenn mehrere Back-Ends für die Anforderung vorhanden sind, wählt Trident zufällig einen aus.
Wie implementiert Trident qtrees auf einem ONTAP Volume? Wie viele qtrees können auf einem einzelnen Volume implementiert werden?
Der ontap-nas-economy
Der Treiber erstellt bis zu 200 qtrees in derselben FlexVol (konfigurierbar zwischen 50 und 300), 100,000 qtrees pro Cluster Node und 2,4 Mio. pro Cluster. Wenn Sie eine neue eingeben PersistentVolumeClaim
Das wird vom Wirtschaftstreiber gewartet und der Fahrer sieht danach aus, ob es bereits eine FlexVol gibt, die den neuen Qtree bedienen kann. Wenn es keine FlexVol gibt, die für den Qtree Services bereitstellen können, wird eine neue FlexVol erstellt.
Sie können Unix-Berechtigungen auf dem von Trident bereitgestellten Volume festlegen, indem Sie einen Parameter in der Back-End-Definitionsdatei festlegen.
Wie kann ich bei der Bereitstellung eines Volumes einen expliziten Satz von ONTAP-NFS-Mount-Optionen konfigurieren?
Standardmäßig legt Trident für Kubernetes keine Mount-Optionen auf einen Wert fest. Folgen Sie dem Beispiel, um die Mount-Optionen in der Kubernetes Storage Class anzugeben"Hier".
Um den entsprechenden Hosts den Zugriff auf ein Volume zu erlauben, verwenden Sie das exportPolicy
In der Backend-Definitionsdatei konfigurierter Parameter.
Sie können die Verschlüsselung auf dem von Trident bereitgestellten Volume mit dem Verschlüsselungsparameter in der Back-End-Definitionsdatei festlegen. Weitere Informationen finden Sie unter: "Funktionsweise von Trident mit NVE und NAE"
Nutzung StorageClasses
Bei der Implementierung von QoS für ONTAP.
Die ONTAP-Treiber unterstützen entweder Thin Provisioning oder Thick Provisioning. Die ONTAP-Treiber verwenden Thin Provisioning standardmäßig. Wenn Thick Provisioning gewünscht ist, sollten Sie entweder die Back-End-Definitionsdatei oder die konfigurieren StorageClass
. Wenn beide konfiguriert sind, StorageClass
Hat Vorrang. Konfigurieren Sie Folgendes für ONTAP:
-
Ein
StorageClass
, Einstellen Sie dieprovisioningType
Attribut als dick. -
Aktivieren Sie in der Back-End-Definitionsdatei die Option Thick Volumes
backend spaceReserve parameter
Als Volumen.
Wie kann ich sicherstellen, dass die verwendeten Volumes nicht gelöscht werden, auch wenn ich aus Versehen die PVC lösche?
Der PVC-Schutz ist für Kubernetes ab Version 1.10 automatisch aktiviert.
Ja. Sie können eine PVC erweitern, die von Trident erstellt wurde. Beachten Sie, dass Volume Autogrow eine ONTAP-Funktion ist, die nicht für Trident geeignet ist.
Kann ich ein Volume importieren, während es sich in SnapMirror Data Protection (DP) oder offline Modus befindet?
Der Volumenimport schlägt fehl, wenn sich das externe Volume im DP-Modus befindet oder offline ist. Sie erhalten die folgende Fehlermeldung:
Error: could not import volume: volume import failed to get size of volume: volume <name> was not found (400 Bad Request) command terminated with exit code 1. Make sure to remove the DP mode or put the volume online before importing the volume.
Die Kubernetes-Storage-Ressourcen-Quota sollte so lange funktionieren, wie NetApp Storage die Kapazität hat. Wenn der NetApp-Storage die Kubernetes-Kontingenteinstellungen aufgrund von Kapazitätsmangel nicht erfüllen kann, versucht Trident, die Bereitstellung zu übernehmen, es werden jedoch Fehler behoben.
Ja. Das Erstellen von On-Demand-Volume-Snapshots und persistenten Volumes aus Snapshots wird von Trident unterstützt. Um PVS aus Snapshots zu erstellen, stellen Sie sicher, dass das VolumeSnapshotDataSource
Feature Gate aktiviert wurde.
Ab heute ist die Unterstützung von On-Demand Snapshot für unser verfügbar ontap-nas
, ontap-nas-flexgroup
, ontap-san
, ontap-san-economy
, solidfire-san
, gcp-cvs
, und azure-netapp-files
Back-End-Treiber:
Dies ist auf verfügbar ontap-nas
, ontap-san
, und ontap-nas-flexgroup
Treiber. Sie können auch ein angeben snapshotPolicy
Für das ontap-san-economy
Treiber auf FlexVol-Ebene.
Dies ist auch auf den Treibern verfügbar ontap-nas-economy
, aber auf der Granularität auf FlexVol-Ebene und nicht auf qtree-Ebene. Um die Fähigkeit zu aktivieren, von Trident bereitgestellte Snapshots von Volumes zu erstellen, setzen Sie die Option für den Backend-Parameter snapshotPolicy
auf die gewünschte Snapshot-Richtlinie, wie auf dem ONTAP-Backend definiert. Alle vom Storage Controller erstellten Snapshots sind von Trident nicht bekannt.
Kann ich einen Snapshot-Reserve-Prozentsatz für ein über Trident bereitgestelltes Volume einstellen?
Ja, Sie können einen bestimmten Prozentsatz an Festplattenspeicher für das Speichern der Snapshot-Kopien über Trident reservieren, indem Sie das Attribut in der Back-End-Definitionsdatei festlegen snapshotReserve
. Wenn Sie konfiguriert haben snapshotPolicy
und snapshotReserve
in der Back-End-Definitionsdatei, wird der Prozentsatz der Snapshot-Reserve entsprechend dem Prozentsatz festgelegt snapshotReserve
, der in der Backend-Datei angegeben ist. Wenn die snapshotReserve
Prozentzahl nicht erwähnt wird, nimmt ONTAP den Prozentwert der Snapshot-Reserve standardmäßig auf 5. Wenn die snapshotPolicy
Option auf keine gesetzt ist, wird der Prozentsatz der Snapshot-Reserve auf 0 gesetzt.
Ja, Sie können auf das Snapshot-Verzeichnis auf dem von Trident bereitgestellten Volume zugreifen, indem Sie das festlegen snapshotDir
Parameter in der Backend-Definitionsdatei.
Derzeit muss SnapMirror extern über ONTAP CLI oder OnCommand System Manager festgelegt werden.
So stellen Sie ein Volume auf einem ONTAP-Snapshot wieder her:
-
Legen Sie den Applikations-POD still, der das persistente Volume nutzt.
-
Zurücksetzen des erforderlichen Snapshots mithilfe von ONTAP CLI oder OnCommand System Manager
-
Starten Sie den Anwendungs-POD neu.
Load-Sharing-Spiegelungen können für Root-Volumes von SVMs erstellt werden, die Daten über NFS bereitstellen. ONTAP aktualisiert automatisch die Spiegelungen zur Lastverteilung für Volumes, die von Trident erstellt wurden. Dies kann zu Verzögerungen bei der Montage der Volumen führen. Wenn mehrere Volumes mit Trident erstellt werden, hängt die Bereitstellung eines Volumes davon ab, ob ONTAP die Load-Sharing-Spiegelung aktualisiert.
Kubernetes erlaubt Storage-Klassen nicht in Namespaces. Kubernetes lässt sich jedoch mithilfe von Storage-Ressourcenkontingenten, die pro Namespace gelten, die Nutzung einer bestimmten Storage-Klasse pro Namespace begrenzen. Um einem bestimmten Namespace-Zugriff auf einen bestimmten Speicher zu verweigern, setzen Sie das Ressourcenkontingent für diese Speicherklasse auf 0.