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.

Anpassen der Trident Operator-Installation

Beitragende netapp-aruldeepa juliantap netapp-mwallis

Mit dem Operator Trident können Sie die Trident-Installation mithilfe der Attribute in der Spezifikation anpassen TridentOrchestrator. Wenn Sie die Installation über die Argumente hinaus anpassen möchten TridentOrchestrator, sollten Sie die Verwendung verwenden, tridentctl um benutzerdefinierte YAML-Manifeste zu erstellen, die bei Bedarf geändert werden.

Allgemeines zu Controller-Pods und Node-Pods

Trident läuft als einzelner Controller-Pod und als 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 "Knotenauswahl" Und "Toleranzen und Verfleckungen" Werden verwendet, um die Ausführung eines Pod auf einem bestimmten oder bevorzugten Node einzuschränken. Verwenden von`ControllerPlugin` und NodePlugin, Sie können Bedingungen und Überschreibungen festlegen.

  • Das Controller-Plug-in übernimmt Volume-Bereitstellung und -Management, beispielsweise Snapshots und Größenanpassungen.

  • Das Node-Plug-in verarbeitet das Verbinden des Speichers mit dem Node.

Konfigurationsoptionen

Warnung spec.namespace Wird in angegeben TridentOrchestrator, um den Namespace zu kennzeichnen, in dem Trident installiert ist. Dieser Parameter kann nicht aktualisiert werden, nachdem Trident installiert wurde. Der Versuch, dies zu tun, führt dazu, dass der TridentOrchestrator Status in geändert Failed wird. Trident soll nicht über Namespaces hinweg migriert werden.

Diese Tabelle enthält Einzelheiten 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. Weitere Informationen finden Sie unter"Automatisierung des Failovers zustandsbehafteter Anwendungen mit Trident" .

false

windows

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

false

cloudProvider

Einstellung auf "Azure" bei Verwendung von verwalteten Identitäten oder einer Cloud-Identität auf einem AKS-Cluster. Legen Sie bei Verwendung einer Cloud-Identität auf einem EKS-Cluster fest "AWS". Einstellung auf "GCP" bei Verwendung einer Cloud-Identität auf einem GKE-Cluster.

""

cloudIdentity

Bei Verwendung der Cloud-Identität auf einem AKS-Cluster auf Workload-Identität („Azure.Workload.Identity/Client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx“) einstellen. Bei Verwendung der Cloud-Identität auf einem EKS-Cluster auf AWS iam-Rolle (“'eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/Trident-role') einstellen. Bei Verwendung der Cloud-Identität auf einem GKE-Cluster auf Cloud-Identität ("iam.gke.io/gcp-Service-Account: xxxx@mygcpproject.iam.gserviceaccount.com'") gesetzt.

""

IPv6

Installieren Sie Trident über IPv6

Falsch

k8sTimeout

Zeitüberschreitung für Kubernetes-Operationen.

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

180sec

silenceAutosupport

Senden Sie keine AutoSupport Bundles an NetApp
Automatisch

false

autosupportImage

Das Container-Image für AutoSupport Telemetrie

"netapp/trident-autosupport10"

autosupportProxy

Die Adresse/den Port eines Proxys zum Senden von AutoSupport
Telemetrie

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

uninstall

Ein Flag, mit dem Trident deinstalliert wird

false

logFormat

Verwendetes Trident-Protokollierungsformat [Text,json]

"text"

tridentImage

Zu installierendes Trident-Image

"netapp/trident:25.10"

imageRegistry

Pfad zur internen Registrierung des Formats
<registry FQDN>[:port][/subpath]

"registry.k8s.io"

kubeletDir

Pfad zum kubelet-Verzeichnis auf dem Host

"/var/lib/kubelet"

wipeout

Eine Liste der zu löschenden Ressourcen, um Trident vollständig zu entfernen

imagePullSecrets

Secrets, um Bilder aus einer internen Registrierung zu ziehen

imagePullPolicy

Legt die BildPull-Richtlinie für den Trident-Operator fest. Gültige Werte sind:
Always Um immer das Bild zu ziehen.
IfNotPresent Nur wenn das Image nicht auf dem Node vorhanden ist, soll das Image kopiert werden.
Never Nie das Bild ziehen.

IfNotPresent

controllerPluginNodeSelector

Zusätzliche Node-Auswahl für Pods Entspricht dem Format pod.spec.nodeSelector.

Kein Standard; optional

controllerPluginTolerations

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

Kein Standard; optional

nodePluginNodeSelector

Zusätzliche Node-Auswahl für Pods Entspricht dem Format pod.spec.nodeSelector.

Kein Standard; optional

nodePluginTolerations

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

Kein Standard; optional

nodePrep

Ermöglicht Trident, die Nodes des Kubernetes-Clusters so vorzubereiten, dass Volumes mithilfe des angegebenen Daten-Storage-Protokolls gemanagt werden. Derzeit iscsi wird nur der Wert unterstützt.

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 experimentell und unterstützt derzeit eingeschränkte parallele Arbeitsabläufe mit den Treibern ONTAP-NAS (nur NFS) und ONTAP-SAN (NVMe für Unified ONTAP 9) sowie die bestehende technische Vorschau für den Treiber ONTAP-SAN (iSCSI- und FCP-Protokolle in Unified ONTAP 9).

Falsch

resources

Legt Kubernetes-Ressourcenlimits und -anforderungen für den Trident -Controller und die Node-Pods fest. Sie können CPU und Arbeitsspeicher für jeden Container und Sidecar konfigurieren, um die Ressourcenzuweisung in Kubernetes zu verwalten.

Weitere Informationen zum Konfigurieren von Ressourcenanforderungen und -limits finden Sie unter"Ressourcenverwaltung für Pods und Container" Die

Warnung
  • Ändern Sie NICHT die Namen von Containern oder Feldern.

  • Ändern Sie die Einrückung NICHT – die YAML-Einrückung ist für die korrekte Analyse entscheidend.

Hinweis
  • Standardmäßig gelten keine Beschränkungen – nur Anfragen haben Standardwerte, die automatisch angewendet werden, sofern keine anderen Werte angegeben sind.

  • Die Containernamen werden so aufgelistet, wie sie in den Pod-Spezifikationen erscheinen.

  • Die Beiwagen sind unter jedem Hauptcontainer aufgeführt.

  • Überprüfen Sie die TORCs status.CurrentInstallationParams Feld zur Anzeige der aktuell angewendeten Werte.

resources:
  controller:
    trident-main:
      requests:
        cpu: 10m
        memory: 80Mi
      limits:
          cpu:
          memory:
    csi-provisioner:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-attacher:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-resizer:
      requests:
        cpu: 3m
        memory: 20Mi
      limits:
        cpu:
        memory:
    csi-snapshotter:
      requests:
        cpu: 2m
        memory: 20Mi
      limits:
        cpu:
        memory:
    trident-autosupport:
      requests:
        cpu: 1m
        memory: 30Mi
      limits:
        cpu:
        memory:
  node:
    linux:
      trident-main:
        requests:
          cpu: 10m
          memory: 60Mi
        limits:
          cpu:
          memory:
      node-driver-registrar:
        requests:
          cpu: 1m
          memory: 10Mi
        limits:
          cpu:
          memory:
    windows:
      trident-main:
        requests:
          cpu: 6m
          memory: 40Mi
        limits:
          cpu:
          memory:
      node-driver-registrar:
        requests:
          cpu: 6m
          memory: 40Mi
        limits:
          cpu:
          memory:
      liveness-probe:
        requests:
          cpu: 2m
          memory: 40Mi
        limits:
          cpu:
          memory:

httpsMetrics

Aktivieren Sie HTTPS für den Prometheus-Metrikendpunkt.

Falsch

hostNetwork

Ermöglicht die Host-Netzwerkverbindung für den Trident -Controller. Dies ist nützlich, wenn Sie den Frontend- und Backend-Datenverkehr in einem Netzwerk mit mehreren Heimnetzwerken trennen möchten.

Falsch

Hinweis Weitere Informationen zum Formatieren von Pod-Parametern finden Sie unter "Pods werden Nodes zugewiesen".

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
Konfiguration von Kubernetes-Ressourcenanforderungen und -limits für Trident -Controller und Trident -Linux-Node-Pods

Dieses Beispiel konfiguriert Kubernetes-Ressourcenanforderungen und -limits für Trident -Controller und Trident -Linux-Node-Pods.

Warnung Haftungsausschluss: Die in diesem Beispiel angegebenen Anforderungs- und Grenzwerte dienen lediglich Demonstrationszwecken. Passen Sie diese Werte an Ihre Umgebung und Ihre Arbeitslastanforderungen an.
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
  resources:
    controller:
      trident-main:
        requests:
          cpu: 10m
          memory: 80Mi
        limits:
          cpu: 200m
          memory: 256Mi
      # sidecars
      csi-provisioner:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-attacher:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-resizer:
        requests:
          cpu: 3m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-snapshotter:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      trident-autosupport:
        requests:
          cpu: 1m
          memory: 30Mi
        limits:
          cpu: 50m
          memory: 128Mi
    node:
      linux:
        trident-main:
          requests:
            cpu: 10m
            memory: 60Mi
          limits:
            cpu: 200m
            memory: 256Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 1m
            memory: 10Mi
          limits:
            cpu: 50m
            memory: 32Mi
Konfiguration von Kubernetes-Ressourcenanforderungen und -limits für den Trident -Controller sowie für Trident Windows- und Linux-Node-Pods

Dieses Beispiel konfiguriert Kubernetes-Ressourcenanforderungen und -limits für den Trident -Controller sowie für Trident -Windows- und Linux-Node-Pods.

Warnung Haftungsausschluss: Die in diesem Beispiel angegebenen Anforderungs- und Grenzwerte dienen lediglich Demonstrationszwecken. Passen Sie diese Werte an Ihre Umgebung und Ihre Arbeitslastanforderungen an.
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  debug: true
  namespace: trident
  imagePullSecrets:
  - thisisasecret
  windows: true
  resources:
    controller:
      trident-main:
        requests:
          cpu: 10m
          memory: 80Mi
        limits:
          cpu: 200m
          memory: 256Mi
        # sidecars
      csi-provisioner:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-attacher:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-resizer:
        requests:
          cpu: 3m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      csi-snapshotter:
        requests:
          cpu: 2m
          memory: 20Mi
        limits:
          cpu: 100m
          memory: 64Mi
      trident-autosupport:
        requests:
          cpu: 1m
          memory: 30Mi
        limits:
          cpu: 50m
          memory: 128Mi
    node:
      linux:
        trident-main:
          requests:
            cpu: 10m
            memory: 60Mi
          limits:
            cpu: 200m
            memory: 256Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 1m
            memory: 10Mi
          limits:
            cpu: 50m
            memory: 32Mi
      windows:
        trident-main:
          requests:
            cpu: 6m
            memory: 40Mi
          limits:
            cpu: 200m
            memory: 128Mi
        # sidecars
        node-driver-registrar:
          requests:
            cpu: 6m
            memory: 40Mi
          limits:
            cpu: 100m
            memory: 128Mi
        liveness-probe:
          requests:
            cpu: 2m
            memory: 40Mi
          limits:
            cpu: 50m
            memory: 64Mi