Managen Sie Trident mit tridentctl
Im ist das "Trident Installationspaket" Befehlszeilendienstprogramm für den einfachen Zugriff auf Trident enthalten tridentctl. Kubernetes-Benutzer mit genügend Privileges können es verwenden, um Trident zu installieren oder den Namespace zu managen, der den Trident Pod enthält.
Befehle und globale Alarmmeldungen
Sie können laufen tridentctl help Um eine Liste der verfügbaren Befehle für zu erhalten tridentctl Oder hängen Sie die an --help Markieren Sie einen beliebigen Befehl, um eine Liste mit Optionen und Flags für diesen bestimmten Befehl zu erhalten.
tridentctl [command] [--optional-flag]
Das Dienstprogramm Trident tridentctl unterstützt die folgenden Befehle und Global Flags.
Befehle
create-
Fügen Sie eine Ressource zu Trident hinzu.
delete-
Entfernen Sie eine oder mehrere Ressourcen aus Trident.
get-
Holen Sie sich eine oder mehrere Ressourcen von Trident.
help-
Hilfe zu jedem Befehl.
images-
Drucken Sie eine Tabelle der Container-Bilder, die Trident benötigt.
import-
Importieren Sie eine vorhandene Ressource in Trident.
install-
Installation Von Trident:
logs-
Drucken Sie die Protokolle aus Trident.
send-
Senden Sie eine Ressource von Trident.
uninstall-
Deinstallieren Sie Trident.
update-
Ändern Sie eine Ressource in Trident.
update backend state-
Vorübergehende Unterbrechung der Back-End-Vorgänge.
upgrade-
Aktualisieren Sie eine Ressource in Trident.
version-
Drucken Sie die Version von Trident.
Globale Alarmmeldungen
-d,--debug-
Debug-Ausgabe.
-h,--help-
Hilfe für
tridentctl. -k,--kubeconfig string-
Geben Sie die an
KUBECONFIGPfad zur Ausführung von Befehlen lokal oder von einem Kubernetes-Cluster zu einem anderen.Alternativ können Sie den exportieren KUBECONFIGVariable Möglichkeit, auf ein bestimmtes Kubernetes-Cluster und Problem zu verweisentridentctlBefehle zu diesem Cluster. -n,--namespace string-
Namespace der Trident-Implementierung:
-o,--output string-
Ausgabeformat. Einer von json yaml-Namen natürlich Ärmellos (Standard).
-s,--server string-
Adresse/Port der Trident REST-Schnittstelle.
Die Trident REST-Schnittstelle kann nur für die Wiedergabe unter 127.0.0.1 (für IPv4) oder [: 1] (für IPv6) konfiguriert werden.
Befehlsoptionen und -Flags
Erstellen
Verwenden Sie den create Befehl, um Trident eine Ressource hinzuzufügen.
tridentctl create [option]
- Optionen
-
backend: Fügen Sie ein Backend zu Trident.
Löschen
Mit dem delete Befehl können Sie eine oder mehrere Ressourcen aus Trident entfernen.
tridentctl delete [option]
- Optionen
-
backend: Löschen Sie eine 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 eines oder mehrerer Speichervolumes aus Trident.
Get
Mit dem get Befehl rufen Sie eine oder mehrere Ressourcen von Trident ab.
tridentctl get [option]
- Optionen
-
backend: Holen Sie sich ein oder mehrere Speicher-Backends von Trident.
snapshot: Holen Sie sich einen oder mehrere Schnappschüsse von Trident.
storageclass: Holen Sie sich eine oder mehrere Speicherklassen von Trident.
volume: Holen Sie sich einen oder mehrere Bände von Trident. - Flags
-
-h,--help: Hilfe für Volumen.
--parentOfSubordinate string: Abfrage auf untergeordnetes Quellvolumen begrenzen.
--subordinateOf string: Abfrage auf Untergebene beschränken.
Bilder
Verwenden Sie images Markierungen, um eine Tabelle der Container-Bilder zu drucken, die Trident benötigt.
tridentctl images [flags]
- Flags
-
-h,--help: Hilfe für Bilder.
-v,--k8s-version string: Semantische Version des Kubernetes-Clusters.
Importvolumen
Importieren Sie ein vorhandenes Volume mit dem import volume Befehl in Trident.
tridentctl import volume <backendName> <volumeName> [flags]
- Aliase
-
volume,v - Flags
-
-f,--filename string: Pfad zu YAML oder JSON PVC-Datei.
-h,--help: Hilfe für Lautstärke.
--no-manage: Nur PV/PVC erstellen. Nehmen Sie kein Lifecycle Management für Volumes an.
Installieren
Verwenden Sie die install Flags, um Trident zu installieren.
tridentctl install [flags]
- Flags
-
--autosupport-image string: Das Container-Image für Autosupport Telemetry (Standard: „netapp/trident autosupport:<aktuelle Version>“).
--autosupport-proxy string: Die Adresse/der Port eines Proxys zum Senden von Autosupport-Telemetriedaten.
--enable-node-prep: Versuchen Sie, die erforderlichen Pakete auf den Knoten zu installieren.
--generate-custom-yaml: Generieren Sie YAML-Dateien, ohne etwas zu installieren.
-h,--help: Hilfe zur Installation.
--http-request-timeout: Überschreibt das HTTP-Anforderungstimeout für die REST-API des Trident Controllers (Standard 1 Minuten und 30 Sekunden).
--image-registry string: Die Adresse/der Port eines internen Bildregisters.
--k8s-timeout duration: Das Timeout für alle Kubernetes-Operationen (Standard 3 Min. und 0 Sek.).
--kubelet-dir string: Der Host-Speicherort des internen Status von Kubelet (Standard „/var/lib/kubelet“).
--log-format string: Das Trident -Protokollierungsformat (Text, JSON) (Standard „Text“).
--node-prep: Ermöglicht Trident , die Knoten des Kubernetes-Clusters für die Verwaltung von Volumes mithilfe des angegebenen Datenspeicherprotokolls vorzubereiten. Momentan,iscsiist der einzige unterstützte Wert. Ab OpenShift 4.19 ist die für diese Funktion unterstützte Mindestversion von Trident 25.06.1.
--pv string: Der Name des von Trident verwendeten Legacy-PV. Stellt sicher, dass dieser nicht vorhanden ist (Standard: „Trident“).
--pvc string: Der Name des von Trident verwendeten Legacy-PVC. Stellt sicher, dass dieser nicht vorhanden ist (Standard: „Trident“).
--silence-autosupport: Autosupport-Pakete nicht automatisch an NetApp senden (Standard: „true“).
--silent: Deaktivieren Sie die meisten Ausgaben während der Installation.
--trident-image string: Das zu installierende Trident -Image.
--k8s-api-qps: Das Limit für Abfragen pro Sekunde (QPS) für Kubernetes-API-Anfragen (Standard 100; optional).
--use-custom-yaml: Verwenden Sie alle vorhandenen YAML-Dateien, die im Setup-Verzeichnis vorhanden sind.
--use-ipv6: Verwenden Sie IPv6 für die Kommunikation von Trident.
Protokolle
Verwenden Sie logs Markierungen, um die Protokolle aus Trident zu drucken.
tridentctl logs [flags]
- Flags
-
-a,--archive: Erstellen Sie ein Support-Archiv mit allen Protokollen, sofern nicht anders angegeben.
-h,--help: Hilfe für Protokolle.
-l,--log string: Trident-Protokoll zur Anzeige. Eine von Trident/Trident-Operator/alle (Standard „Auto“).
--node string: Der Name des Kubernetes-Knotens, von dem aus die POD-Protokolle des Knotens erfasst werden.
-p,--previous: Holen Sie sich die Protokolle für die vorherige Container-Instanz, wenn sie existiert.
--sidecars: Holen Sie sich die Protokolle für die Beiwagen-Container.
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: Deaktivieren der meisten Ausgabe während der Deinstallation.
Aktualisierung
Verwenden Sie den update Befehl, um eine Ressource in Trident zu ändern.
tridentctl update [option]
- Optionen
-
backend: Aktualisieren Sie ein Backend in Trident.
Back-End-Status aktualisieren
Verwenden Sie die update backend state Befehl zum Anhalten oder Fortsetzen von Back-End-Vorgängen.
tridentctl update backend state <backend-name> [flag]
-
Wenn ein Backend mit einem TridentBackendConfig (tbc) erstellt wird, kann das Backend nicht mit einer Datei aktualisiert werden
backend.json. -
Wenn der
userStatein einem tbc gesetzt wurde, kann er nicht mit dem Befehl geändert werdentridentctl update backend state <backend-name> --user-state suspended/normal. -
Um die Möglichkeit, das via tridentctl nach dem Setzen über tbc wieder einzustellen
userState, muss das Feld aus dem tbcuserStateentfernt werden. Dies kann mit dem Befehl erfolgenkubectl edit tbc. Nachdem dasuserStateFeld entfernt wurde, können Sie mit demtridentctl update backend stateBefehl das eines Backends ändernuserState. -
Verwenden Sie die
tridentctl update backend state, um die zu ändernuserState. Sie können auch die Using- oder -Datei aktualisierenuserStateTridentBackendConfigbackend.json; dies löst eine vollständige Neuinitialisierung des Backends aus und kann zeitaufwändig sein.- Flags
-
-h,--help: Hilfe für Backend-Status.
--user-state: Auf eingestelltsuspendedUm Back-End-Vorgänge anzuhalten. Auf einstellennormalUm die Back-End-Vorgänge wieder aufzunehmen. Wenn eingestellt aufsuspended:
-
AddVolumeUndImport Volumewerden angehalten. -
CloneVolume,ResizeVolume,PublishVolume,UnPublishVolume,CreateSnapshot,GetSnapshotRestoreSnapshot, ,DeleteSnapshot,RemoveVolume,GetVolumeExternal,ReconcileNodeAccessverfügbar bleiben.
Sie können den Backend-Status auch über das Feld in der Backend-Konfigurationsdatei oder aktualisieren userState TridentBackendConfig backend.json. Weitere Informationen finden Sie unter "Optionen für das Management von Back-Ends" und "Führen Sie das Back-End-Management mit kubectl durch".
Beispiel:
Führen Sie die folgenden Schritte aus, um die mit der Datei zu aktualisieren userState backend.json :
-
Bearbeiten Sie die
backend.jsonDatei, um das Feld mit dem Wert „suspendiert“ aufzunehmenuserState. -
Aktualisieren Sie das Backend mithilfe der
tridentctl update backendBefehl und den 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 den tbc bearbeiten, nachdem er angewendet wurde, indem Sie den Befehl verwenden kubectl edit <tbc-name> -n <namespace> . Im folgenden Beispiel wird der Back-End-Status mit der Option zum Anhalten aktualisiert userState: suspended :
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
Nutzung version Flags zum Drucken der Version von tridentctl Und den Running Trident Service.
tridentctl version [flags]
- Flags
-
--client: Nur Client-Version (kein Server erforderlich).
-h, --help: Hilfe zur Version.
Plug-in-Unterstützung
Tridentctl unterstützt Plugins ähnlich wie kubectl. Tridentctl erkennt ein Plugin, wenn der binäre Dateiname des Plugins dem Schema "tridentctl-<plugin>" folgt, und die Binärdatei befindet sich in einem Ordner, der die Umgebungsvariable PATH aufführt. Alle erkannten Plugins sind im Plugin-Abschnitt der tridentctl-Hilfe aufgeführt. Optional können Sie die Suche auch einschränken, indem Sie in der Enviorment-Variable TRIDENTCTL_PLUGIN_PATH einen PLUGIN-Ordner angeben (Beispiel: TRIDENTCTL_PLUGIN_PATH=~/tridentctl-plugins/). Wenn die Variable verwendet wird, sucht tridenctl nur im angegebenen Ordner.