Skip to main content
Eine neuere Version dieses Produkts ist erhältlich.
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Trident-Operator-Installation anpassen

Änderungen vorschlagen

Der Trident-Operator ermöglicht es Ihnen, die Trident-Installation mithilfe der Attribute in der TridentOrchestrator spec anzupassen. Wenn Sie die Installation über das hinaus anpassen möchten, was TridentOrchestrator Argumente erlauben, sollten Sie tridentctl verwenden, um benutzerdefinierte YAML-Manifeste zu generieren und diese nach Bedarf zu modifizieren.

Controller-Pods und Node-Pods verstehen

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 potenziell ein Trident-Volume einbinden möchten.

Kubernetes "Knotenselektoren" und "Tolerations und Taints" werden verwendet, um einen Pod auf einen bestimmten oder bevorzugten Knoten zu beschränken. Mit dem ControllerPlugin und NodePlugin können Sie Einschränkungen und Überschreibungen festlegen.

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

  • Das Node-Plugin übernimmt das Anbinden des Speichers an den Knoten.

Konfigurationsoptionen

Warnung spec.namespace wird in TridentOrchestrator angegeben, um den Namespace zu kennzeichnen, in dem Trident installiert ist. Dieser Parameter kann nach der Installation von Trident nicht mehr aktualisiert werden. Ein entsprechender Versuch führt dazu, dass sich der TridentOrchestrator Status in Failed ändert. Trident ist nicht für die Migration zwischen Namespaces vorgesehen.

Diese Tabelle enthält `TridentOrchestrator`Attribute im Detail.

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 Clusteradministratoren die Möglichkeit zu geben, Workloads mit eingebundenen Volumes sicher auf neue Knoten zu migrieren, falls ein Knoten fehlerhaft wird. Weitere Informationen finden Sie unter "Automatisierung des Failovers von zustandsbehafteten Anwendungen mit Trident".

false

windows

Das Setzen auf true ermöglicht die Installation auf Windows-Worker-Knoten.

false

cloudProvider

Setzen Sie auf "Azure", wenn verwaltete Identitäten oder eine Cloud-Identität auf einem AKS-Cluster verwendet werden. Setzen Sie auf "AWS", wenn eine Cloud-Identität auf einem EKS-Cluster verwendet wird. Setzen Sie auf "GCP", wenn eine Cloud-Identität auf einem GKE-Cluster verwendet wird.

""

cloudIdentity

Auf Workload-Identität („azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx“) setzen, wenn Cloud Identity auf einem AKS-Cluster verwendet wird. Auf AWS IAM-Rolle („'eks.amazonaws.com/role-arn: arn:aws:iam::123456:role/trident-role'“) setzen, wenn Cloud Identity auf einem EKS-Cluster verwendet wird. Auf Cloud-Identität („'iam.gke.io/gcp-service-account: xxxx@mygcpproject.iam.gserviceaccount.com'“) setzen, wenn Cloud Identity auf einem GKE-Cluster verwendet wird.

""

IPv6

Trident über IPv6 installieren

false

k8sTimeout

Zeitüberschreitung für Kubernetes-Operationen.

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

180sec

silenceAutosupport

Senden Sie Autosupport-Pakete nicht automatisch an NetApp

false

autosupportImage

Das Container-Image für Autosupport Telemetry

"netapp/trident-autosupport10"

autosupportProxy

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

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

uninstall

Eine Kennzeichnung, die zur Deinstallation von Trident verwendet wird

false

logFormat

Trident Protokollierungsformat, das verwendet werden soll [text,json]

"text"

tridentImage

Trident-Image zur Installation

"netapp/trident:25.10"

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 eine vollständige Entfernung von Trident durchzuführen

imagePullSecrets

Geheimnisse zum Abrufen von Images aus einer internen Registry

imagePullPolicy

Legt die Richtlinie zum Abrufen von Images für den Trident Operator fest. Gültige Werte sind:
Always um das Image immer abzurufen.
IfNotPresent um das Image nur abzurufen, wenn es noch nicht auf dem Knoten vorhanden ist.
Never um das Image niemals abzurufen.

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 es Trident, die Knoten des Kubernetes-Clusters für die Verwaltung von Volumes mithilfe des angegebenen Datenspeicherprotokolls vorzubereiten. Aktuell ist iscsi der einzige unterstützte Wert.

Hinweis Ab OpenShift 4.19 ist die minimale unterstützte Trident-Version für diese Funktion 25.06.1.

k8sAPIQPS

Die vom Controller bei der Kommunikation mit dem Kubernetes-API-Server verwendete Abfrageanzahl pro Sekunde (QPS). Der Burst-Wert wird automatisch anhand des QPS-Werts festgelegt.

100; optional

enableConcurrency

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

Hinweis Tech Preview: Diese Funktion ist experimentell und unterstützt derzeit eingeschränkte parallele Arbeitsabläufe mit den ONTAP-NAS (nur NFS) und ONTAP-SAN (NVMe für unified ONTAP 9) Treibern, zusätzlich zur bestehenden Tech Preview für den ONTAP-SAN Treiber (iSCSI- und FCP-Protokolle in unified ONTAP 9).

false

resources

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

Weitere Informationen zur Konfiguration von Ressourcenanforderungen und -limits finden Sie unter "Ressourcenverwaltung für Pods und Container".

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

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

Hinweis
  • Standardmäßig werden keine Limits angewendet – nur Anfragen haben Standardwerte und werden automatisch angewendet, wenn sie nicht angegeben sind.

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

  • Sidecars sind unter jedem Hauptcontainer aufgeführt.

  • Überprüfen Sie das Feld „TORC“ status.CurrentInstallationParams, um die aktuell angewendeten Werte anzuzeigen.

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 metrics endpoint.

false

hostNetwork

Aktiviert die Host-Netzwerkverbindung für den Trident Controller. Dies ist nützlich, wenn Sie den Frontend- und Backend-Datenverkehr in einem Multi-Home-Netzwerk trennen möchten.

false

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

Beispielkonfigurationen

Sie können die Attribute in Konfigurationsoptionen verwenden, wenn Sie TridentOrchestrator definieren, um Ihre Installation anzupassen.

Grundlegende benutzerdefinierte Konfiguration

Dieses Beispiel, das nach Ausführung des cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml Befehls erstellt wurde, 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, das nach Ausführung des cat deploy/crds/tridentorchestrator_cr.yaml Befehls erstellt wurde, 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 identity 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 der 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 Hinweis: Die in diesem Beispiel angegebenen Anforderungs- und Grenzwerte dienen lediglich Demonstrationszwecken. Passen Sie diese Werte an Ihre Umgebung und 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 Trident Controller sowie für Trident Windows- und Linux-Node-Pods

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

Warnung Hinweis: Die in diesem Beispiel angegebenen Anforderungs- und Grenzwerte dienen lediglich Demonstrationszwecken. Passen Sie diese Werte an Ihre Umgebung und 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