Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Anpassung der Trident -Bedieninstallation

Beitragende netapp-aruldeepa

Der Trident -Operator ermöglicht die Anpassung der Trident Installation mithilfe der Attribute in der TridentOrchestrator Spezifikation. Wenn Sie die Installation über das hinaus anpassen möchten, was TridentOrchestrator Wenn Argumente dies zulassen, sollten Sie die Verwendung in Betracht ziehen. tridentctl um benutzerdefinierte YAML-Manifeste zu generieren, die nach Bedarf angepasst werden können.

Controller-Pods und Node-Pods verstehen

Trident läuft als ein einzelner Controller-Pod sowie als ein Node-Pod auf jedem Worker-Knoten im Cluster. Der Node-Pod muss auf jedem Host ausgeführt werden, auf dem Sie möglicherweise ein Trident -Volume einbinden möchten.

Kubernetes"Knotenselektoren" Und"Toleranzen und Verunreinigungen" werden verwendet, um einen Pod so einzuschränken, dass er auf einem bestimmten oder bevorzugten Knoten ausgeführt wird. Verwendung des ControllerPlugin und NodePlugin Sie können Einschränkungen und Überschreibungen festlegen.

  • Das Controller-Plugin übernimmt die Bereitstellung und Verwaltung von Volumes, wie z. B. Snapshots und Größenänderungen.

  • Das Node-Plugin kümmert sich um die Anbindung des Speichers an den Knoten.

Konfigurationsoptionen

Warnung spec.namespace`wird angegeben in `TridentOrchestrator um den Namensraum zu kennzeichnen, in dem Trident installiert ist. Dieser Parameter kann nach der Installation von Trident nicht mehr aktualisiert werden. Der Versuch dazu führt dazu, dass TridentOrchestrator Status ändern auf Failed . Trident ist nicht für die Migration zwischen Namensräumen vorgesehen.

Diese Tabelle enthält Details TridentOrchestrator Attribute.

Parameter Beschreibung Standard

namespace

Namespace, in dem Trident installiert werden soll

"default"

debug

Debugging für Trident aktivieren

false

enableForceDetach

ontap-san, ontap-san-economy , ontap-nas , Und ontap-nas-economy nur. Funktioniert mit Kubernetes Non-Graceful Node Shutdown (NGNS), um Cluster-Administratoren die Möglichkeit zu geben, Workloads mit eingebundenen Volumes sicher auf neue Knoten zu migrieren, falls ein Knoten in einen instabilen Zustand gerät.

false

windows

Einstellung auf true Ermöglicht die Installation auf Windows-Worker-Knoten.

false

cloudProvider

Auf einstellen "Azure" bei der Verwendung von verwalteten Identitäten oder einer Cloud-Identität auf einem AKS-Cluster. Auf einstellen "AWS" bei Verwendung einer Cloud-Identität auf einem EKS-Cluster. Auf einstellen "GCP" bei Verwendung einer Cloud-Identität auf einem GKE-Cluster.

""

cloudIdentity

Setzen Sie die Workload-Identität auf ("azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"), wenn Sie Cloud Identity auf einem AKS-Cluster verwenden. Setzen Sie die AWS IAM-Rolle auf ("eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/trident-role"), wenn Sie Cloud Identity auf einem EKS-Cluster verwenden. Stellen Sie die Cloud-Identität auf ("iam.gke.io/gcp-service-account: xxxx@mygcpproject.iam.gserviceaccount.com") ein, wenn Sie die Cloud-Identität auf einem GKE-Cluster verwenden.

""

IPv6

Trident über IPv6 installieren

FALSCH

k8sTimeout

Zeitüberschreitung für Kubernetes-Operationen.

Hinweis Der k8sTimeout Dieser Parameter ist nur für die Installation von Trident anwendbar.

180sec

silenceAutosupport

Senden Sie keine Autosupport-Bundles automatisch an NetApp.

false

autosupportImage

Das Container-Image für Autosupport-Telemetrie

"netapp/trident-autosupport:25.06"

autosupportProxy

Die Adresse/der Port eines Proxys zum Senden von Autosupport-Telemetriedaten

"http://proxy.example.com:8888"

uninstall

Eine Flagge, die zum Deinstallieren von Trident verwendet wird.

false

logFormat

Zu verwendendes Trident Protokollierungsformat [text,json]

"text"

tridentImage

Trident Bild zum Installieren

"netapp/trident:25.06"

imageRegistry

Pfad zur internen Registry im Format
<registry FQDN>[:port][/subpath]

"registry.k8s.io"

kubeletDir

Pfad zum kubelet-Verzeichnis auf dem Host

"/var/lib/kubelet"

wipeout

Eine Liste der Ressourcen, die gelöscht werden müssen, um Trident vollständig zu entfernen.

imagePullSecrets

Geheimnisse zum Abrufen von Bildern aus einer internen Registrierung

imagePullPolicy

Legt die Image-Pull-Richtlinie für den Trident -Operator fest. Gültige Werte sind:
Always um immer das Bild zu ziehen.
IfNotPresent Das Bild wird nur dann abgerufen, wenn es auf dem Knoten noch nicht vorhanden ist.
Never Das Bild niemals entfernen.

IfNotPresent

controllerPluginNodeSelector

Zusätzliche Knotenselektoren für Pods. Folgt dem gleichen Format wie pod.spec.nodeSelector .

Kein Standardwert; optional

controllerPluginTolerations

Überschreibt die Kubernetes-Toleranzen für Pods. Folgt dem gleichen Format wie pod.spec.Tolerations .

Kein Standardwert; optional

nodePluginNodeSelector

Zusätzliche Knotenselektoren für Pods. Folgt dem gleichen Format wie pod.spec.nodeSelector .

Kein Standardwert; optional

nodePluginTolerations

Überschreibt die Kubernetes-Toleranzen für Pods. Folgt dem gleichen Format wie pod.spec.Tolerations .

Kein Standardwert; optional

nodePrep

Ermöglicht Trident , die Knoten des Kubernetes-Clusters für die Verwaltung von Volumes mithilfe des angegebenen Datenspeicherprotokolls vorzubereiten. Momentan, iscsi ist der einzige unterstützte Wert.

Hinweis Ab OpenShift 4.19 ist die für diese Funktion unterstützte Mindestversion von Trident 25.06.1.

k8sAPIQPS

Das vom Controller bei der Kommunikation mit dem Kubernetes-API-Server verwendete Limit für Abfragen pro Sekunde (QPS). Der Burst-Wert wird automatisch basierend auf dem QPS-Wert festgelegt.

100; optional

enableConcurrency

Ermöglicht gleichzeitige Trident -Controller-Operationen für verbesserten Durchsatz.

Hinweis Technische Vorschau: Diese Funktion ist in NetApp Trident 25.06 experimentell und unterstützt derzeit begrenzte parallele Workflows mit dem ONTAP-SAN-Treiber (iSCSI- und FCP-Protokolle).

FALSCH

Hinweis Weitere Informationen zur Formatierung von Pod-Parametern finden Sie unter"Pods zu Knoten zuweisen" .

Details zum erzwungenen Abtrennen

Die Option „Zwangstrennung“ ist verfügbar für ontap-san , ontap-san-economy , ontap-nas , Und ontap-nas-economy nur. Bevor Sie die erzwungene Trennung aktivieren, muss das Non-Graceful Node Shutdown (NGNS) im Kubernetes-Cluster aktiviert werden. NGNS ist standardmäßig für Kubernetes 1.28 und höher aktiviert. Weitere Informationen finden Sie unter"Kubernetes: Nicht ordnungsgemäßes Herunterfahren eines Knotens" .

Hinweis Bei der Verwendung des ontap-nas oder ontap-nas-economy Treiber, Sie müssen die autoExportPolicy Parameter in der Backend-Konfiguration zu true damit Trident den Zugriff vom Kubernetes-Knoten mit der angewendeten Taint-Markierung mithilfe verwalteter Exportrichtlinien einschränken kann.
Warnung Da Trident auf Kubernetes NGNS basiert, entfernen Sie es nicht. out-of-service Beeinträchtigungen durch einen fehlerhaften Knoten, bis alle nicht tolerierbaren Arbeitslasten neu geplant sind. Das leichtfertige Anwenden oder Entfernen der Markierung kann den Schutz der Backend-Daten gefährden.

Wenn der Kubernetes-Clusteradministrator die node.kubernetes.io/out-of-service=nodeshutdown:NoExecute Verunreinigung des Knotens und enableForceDetach ist eingestellt auf true Trident ermittelt den Knotenstatus und:

  1. Den Backend-E/A-Zugriff auf die an diesen Knoten angeschlossenen Volumes einstellen.

  2. Markieren Sie das Trident -Knotenobjekt als dirty (Nicht geeignet für Neuveröffentlichungen).

    Hinweis Der Trident -Controller lehnt neue Veröffentlichungsanforderungen für Volumes so lange ab, bis der Knoten erneut qualifiziert ist (nachdem er als markiert wurde). dirty ) durch den Trident -Knotenpod. Alle Workloads, die mit einem eingebundenen PVC geplant sind (auch nachdem der Clusterknoten fehlerfrei und bereit ist), werden erst akzeptiert, wenn Trident den Knoten verifizieren konnte. clean (sicher für Neuveröffentlichungen).

Sobald der Zustand des Knotens wiederhergestellt und die Beschädigung entfernt ist, wird Trident Folgendes tun:

  1. Identifizieren und bereinigen Sie veraltete veröffentlichte Pfade auf dem Knoten.

  2. Wenn sich der Knoten in einem cleanable Der Status (die Außerbetriebnahme-Kennzeichnung wurde entfernt und der Knoten befindet sich im Zustand …) Ready Wenn alle veralteten, veröffentlichten Pfade bereinigt sind und Trident den Knoten wieder zulässt, wird Trident ihn wieder zulassen. clean und die Veröffentlichung neuer Bände auf dem Knoten zu ermöglichen.

Beispielkonfigurationen

Sie können die Attribute in verwendenKonfigurationsoptionen bei der Definition TridentOrchestrator um Ihre Installation individuell anzupassen.

Grundlegende benutzerdefinierte Konfiguration

Dieses Beispiel wurde nach dem Ausführen des cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml Der Befehl stellt eine einfache benutzerdefinierte Installation dar:

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
Knotenselektoren

Dieses Beispiel installiert Trident mit Knotenselektoren.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  controllerPluginNodeSelector:
    nodetype: master
  nodePluginNodeSelector:
    storage: netapp
Windows-Worker-Knoten

Dieses Beispiel wurde nach dem Ausführen des cat deploy/crds/tridentorchestrator_cr.yaml Befehl, installiert Trident auf einem Windows-Worker-Knoten.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  windows: true
Verwaltete Identitäten auf einem AKS-Cluster

Dieses Beispiel installiert Trident, um verwaltete Identitäten auf einem AKS-Cluster zu aktivieren.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "Azure"
Cloud-Identität auf einem AKS-Cluster

Dieses Beispiel installiert Trident zur Verwendung mit einer Cloud-Identität auf einem AKS-Cluster.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "Azure"
  cloudIdentity: 'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
Cloud-Identität auf einem EKS-Cluster

Dieses Beispiel installiert Trident zur Verwendung mit einer Cloud-Identität auf einem AKS-Cluster.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  cloudProvider: "AWS"
  cloudIdentity: "'eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/trident-role'"
Cloud-Identität für GKE

Dieses Beispiel installiert Trident zur Verwendung mit einer Cloud-Identität auf einem GKE-Cluster.

apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: backend-tbc-gcp-gcnv
spec:
  version: 1
  storageDriverName: google-cloud-netapp-volumes
  projectNumber: '012345678901'
  network: gcnv-network
  location: us-west2
  serviceLevel: Premium
  storagePool: pool-premium1