Trident mit tridentctl verwalten
Das "Trident Installer-Bundle" beinhaltet das tridentctl Befehlszeilenprogramm, um einfachen Zugriff auf Trident zu ermöglichen. Kubernetes-Benutzer mit ausreichenden Berechtigungen können es verwenden, um Trident zu installieren oder den Namespace zu verwalten, der den Trident Pod enthält.
Befehle und globale Flags
Sie können tridentctl help ausführen, um eine Liste der verfügbaren Befehle für tridentctl zu erhalten, oder das --help-Flag an einen beliebigen Befehl anhängen, um eine Liste der Optionen und Flags für diesen spezifischen Befehl zu erhalten.
tridentctl [command] [--optional-flag]
Das Trident tridentctl-Dienstprogramm unterstützt die folgenden Befehle und globalen Flags.
Befehle
create-
Fügen Sie eine Ressource zu Trident hinzu.
delete-
Entfernen Sie eine oder mehrere Ressourcen aus Trident.
get-
Holen Sie eine oder mehrere Ressourcen von Trident.
help-
Hilfe zu jedem Befehl.
images-
Drucken Sie eine Tabelle der Container-Images, die Trident benötigt.
import-
Importieren Sie eine vorhandene Ressource in Trident.
install-
Installieren Sie Trident.
logs-
Drucken Sie die Protokolle von Trident.
send-
Senden Sie eine Ressource von Trident.
uninstall-
Deinstallieren Sie Trident.
update-
Modifizieren Sie eine Ressource in Trident.
update backend state-
Backend-Operationen vorübergehend aussetzen.
upgrade-
Aktualisieren Sie eine Ressource in Trident.
version-
Geben Sie die Version von Trident aus.
Globale Flags
-d,--debug-
Debug-Ausgabe.
-h,--help-
Hilfe für
tridentctl. -k,--kubeconfig string-
Geben Sie den
KUBECONFIGPfad an, um Befehle lokal oder von einem Kubernetes-Cluster zu einem anderen auszuführen.Alternativ können Sie die KUBECONFIGVariable so exportieren, dass sie auf einen bestimmten Kubernetes-Cluster verweist undtridentctlBefehle an diesen Cluster ausführen. -n,--namespace string-
Namespace der Trident-Bereitstellung.
-o,--output string-
Ausgabeformat. Eines der folgenden: json|yaml|name|wide|ps (Standard).
-s,--server string-
Adresse/Port der Trident REST-Schnittstelle.
Trident REST interface kann so konfiguriert werden, dass sie nur unter 127.0.0.1 (für IPv4) oder [::1] (für IPv6) lauscht und Anfragen beantwortet.
Befehlsoptionen und Flags
erstellen
Verwenden Sie den create Befehl, um eine Ressource zu Trident hinzuzufügen.
tridentctl create [option]
- Optionen
-
backend: Fügen Sie ein Backend zu Trident hinzu.
löschen
Verwenden Sie den delete Befehl, um eine oder mehrere Ressourcen aus Trident zu entfernen.
tridentctl delete [option]
- Optionen
-
backend: Löschen Sie ein oder mehrere Speicher-Backends aus Trident.
snapshot: Löschen Sie einen oder mehrere Volume-Snapshots aus Trident.
storageclass: Löschen Sie eine oder mehrere Speicherklassen aus Trident.
volume: Löschen Sie ein oder mehrere Speichervolumes aus Trident.
erhalten
Verwenden Sie den get Befehl, um eine oder mehrere Ressourcen von Trident abzurufen.
tridentctl get [option]
- Optionen
-
backend: Ein oder mehrere Speicher-Backends von Trident.
snapshot: Ein oder mehrere Snapshots von Trident.
storageclass: Eine oder mehrere Speicherklassen von Trident.
volume: Ein oder mehrere Volumes von Trident. - Flags
-
-h,--help: Hilfe für Volumes.
--parentOfSubordinate string: Abfrage auf untergeordnetes Quellvolume beschränken.
--subordinateOf string: Abfrage auf untergeordnete Volumes beschränken.
Bilder
Verwenden Sie images-Flags, um eine Tabelle der von Trident benötigten Container-Images auszugeben.
tridentctl images [flags]
- Flags
-
-h,--help: Hilfe für Bilder.
-v,--k8s-version string: Semantische Version des Kubernetes-Clusters.
Importvolumen
Verwenden Sie den import volume Befehl, um ein vorhandenes Volume in Trident zu importieren.
tridentctl import volume <backendName> <volumeName> [flags]
- Aliase
-
volume,v - Flags
-
-f,--filename string: Pfad zur YAML- oder JSON-PVC-Datei.
-h,--help: Hilfe für Volume.
--no-manage: Nur PV/PVC erstellen. Lebenszyklusverwaltung des Volumes wird nicht vorausgesetzt.
installieren
Verwenden Sie die install Flags, um Trident zu installieren.
tridentctl install [flags]
- Flags
-
--autosupport-image string: Das Container-Image für Autosupport-Telemetrie (Standardwert „netapp/trident autosupport:<current-version>“).
--autosupport-proxy string: Die Adresse/der Port eines Proxys zum Senden von Autosupport-Telemetrie.
--enable-node-prep: Versuch, erforderliche Pakete auf den Nodes zu installieren.
--generate-custom-yaml: YAML-Dateien generieren, ohne etwas zu installieren.
-h,--help: Hilfe für die Installation.
--http-request-timeout: Die HTTP-Anfrage-Zeitüberschreitung für die REST-API des Trident-Controllers überschreiben (Standardwert 1m30s).
--image-registry string: Die Adresse/der Port einer internen Image-Registry.
--k8s-timeout duration: Die Zeitüberschreitung für alle Kubernetes-Operationen (Standardwert 3m0s).
--kubelet-dir string: Der Host-Speicherort des internen Status von kubelet (Standardwert „/var/lib/kubelet“).
--log-format string: Das Trident-Protokollierungsformat (text, json) (Standardwert „text“).
--node-prep: Ermöglicht Trident, die Nodes des Kubernetes-Clusters für die Verwaltung von Volumes mit dem angegebenen Datenspeicherprotokoll vorzubereiten. Aktuell istiscsider einzige unterstützte Wert. Ab OpenShift 4.19 ist die minimale unterstützte Trident-Version für dieses Feature 25.06.1.
--pv string: Der Name des von Trident verwendeten Legacy-PV, stellen Sie sicher, dass dieses nicht existiert (Standardwert „trident“).
--pvc string: Der Name des von Trident verwendeten Legacy-PVC, stellen Sie sicher, dass dieses nicht existiert (Standardwert „trident“).
--silence-autosupport: Keine Autosupport-Bundles automatisch an NetApp senden (Standardwert true).
--silent: Die meiste Ausgabe während der Installation deaktivieren.
--trident-image string: Das zu installierende Trident-Image.
--k8s-api-qps: Das Queries-per-Second-(QPS)-Limit für Kubernetes-API-Anfragen (Standardwert 100; optional).
--use-custom-yaml: Vorhandene YAML-Dateien im Setup-Verzeichnis verwenden.
--use-ipv6: IPv6 für die Kommunikation von Trident verwenden.
Protokolle
Verwenden Sie logs-Flags, um die Protokolle von Trident auszugeben.
tridentctl logs [flags]
- Flags
-
-a,--archive: Erstellt ein Support-Archiv mit allen Protokollen, sofern nicht anders angegeben.
-h,--help: Hilfe für Protokolle.
-l,--log string: Anzuzeigendes Trident-Protokoll. Einer von trident|auto|trident-operator|all (Standard "auto").
--node string: Der Kubernetes Node-Name, von dem die Node-Pod-Protokolle gesammelt werden sollen.
-p,--previous: Ruft die Protokolle der vorherigen Containerinstanz ab, falls vorhanden.
--sidecars: Ruft die Protokolle der Sidecar-Container ab.
senden
Verwenden Sie den send Befehl, um eine Ressource von Trident zu senden.
tridentctl send [option]
- Optionen
-
autosupport: Senden Sie ein Autosupport-Archiv an NetApp.
deinstallieren
Verwenden Sie uninstall-Flags, um Trident zu deinstallieren.
tridentctl uninstall [flags]
- Flags
-
-h, --help: Hilfe zur Deinstallation.
--silent: Deaktiviert die meisten Ausgaben während der Deinstallation.
aktualisieren
Verwenden Sie den update Befehl, um eine Ressource in Trident zu ändern.
tridentctl update [option]
- Optionen
-
backend: Aktualisieren Sie ein Backend in Trident.
Backend-Status aktualisieren
Verwenden Sie den update backend state Befehl, um Backend-Operationen anzuhalten oder fortzusetzen.
tridentctl update backend state <backend-name> [flag]
-
Wenn ein Backend mit einem TridentBackendConfig (tbc) erstellt wird, kann das Backend nicht mit einer
backend.json-Datei aktualisiert werden. -
Wenn der
userStatein einer tbc festgelegt wurde, kann er nicht mit demtridentctl update backend state <backend-name> --user-state suspended/normal-Befehl geändert werden. -
Um die Möglichkeit wiederzuerlangen, das
userStateüber tridentctl zu setzen, nachdem es über tbc gesetzt wurde, muss dasuserStateFeld aus dem tbc entfernt werden. Dies kann mit demkubectl edit tbcBefehl durchgeführt werden. Nachdem dasuserStateFeld entfernt wurde, können Sie mit demtridentctl update backend stateBefehl dasuserStateeines Backends ändern. -
Verwenden Sie das
tridentctl update backend state, um dasuserStatezu ändern. Sie können dasuserStateauch mitTridentBackendConfigoderbackend.json-Datei aktualisieren; dies löst eine vollständige Neuinitialisierung des Backends aus und kann zeitaufwändig sein.- Flags
-
-h,--help: Hilfe zum Backend-Status.
--user-state: Aufsuspendedsetzen, um Backend-Operationen anzuhalten. Aufnormalsetzen, um Backend-Operationen fortzusetzen. Wenn aufsuspendedgesetzt:
-
AddVolumeundImport Volumesind pausiert. -
CloneVolume,ResizeVolume,PublishVolume,UnPublishVolume,CreateSnapshot,GetSnapshot,RestoreSnapshot,DeleteSnapshot,RemoveVolume,GetVolumeExternal,ReconcileNodeAccessbleiben verfügbar.
Sie können den Backend-Status auch über das userState Feld in der Backend-Konfigurationsdatei TridentBackendConfig oder backend.json aktualisieren. Weitere Informationen finden Sie unter "Optionen zur Verwaltung von Backends" und "Führen Sie die Backend-Verwaltung mit kubectl durch".
Beispiel:
Führen Sie diese Schritte aus, um die userState mit der backend.json Datei zu aktualisieren:
-
Bearbeiten Sie die
backend.jsonDatei, um dasuserStateFeld mit dem Wert 'suspended' einzufügen. -
Aktualisieren Sie das Backend mit dem
tridentctl update backendBefehl und dem Pfad zur aktualisiertenbackend.jsonDatei.Beispiel:
tridentctl update backend -f /<path to backend JSON file>/backend.json -n trident
{
"version": 1,
"storageDriverName": "ontap-nas",
"managementLIF": "<redacted>",
"svm": "nas-svm",
"backendName": "customBackend",
"username": "<redacted>",
"password": "<redacted>",
"userState": "suspended"
}
Sie können die tbc nach ihrer Anwendung mit dem kubectl edit <tbc-name> -n <namespace> Befehl bearbeiten. Das folgende Beispiel aktualisiert den Backend-Status auf „Angehalten“ mit der userState: suspended Option:
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-ontap-nas
spec:
version: 1
backendName: customBackend
storageDriverName: ontap-nas
managementLIF: <redacted>
svm: nas-svm
userState: suspended
credentials:
name: backend-tbc-ontap-nas-secret
Version
Verwenden Sie version`Flags, um die Version von `tridentctl und den laufenden Trident Service auszugeben.
tridentctl version [flags]
- Flags
-
--client: Nur Clientversion (kein Server erforderlich).
-h, --help: Hilfe zur Version.
Plugin-Unterstützung
Tridentctl unterstützt Plugins ähnlich wie kubectl. Tridentctl erkennt ein Plugin, wenn der Name der Plugin-Binärdatei dem Schema „tridentctl-<plugin>“ entspricht und sich die Binärdatei in einem Ordner befindet, der in der Umgebungsvariablen PATH aufgeführt ist. Alle erkannten Plugins sind im Plugin-Abschnitt der tridentctl-Hilfe aufgelistet. Optional können Sie die Suche auch einschränken, indem Sie einen Plugin-Ordner in der Umgebungsvariablen TRIDENTCTL_PLUGIN_PATH angeben (Beispiel: TRIDENTCTL_PLUGIN_PATH=~/tridentctl-plugins/). Wenn die Variable verwendet wird, durchsucht tridentctl nur den angegebenen Ordner.