Anpassen der Trident Operator-Installation
Über den Trident-Operator können Sie die Astra Trident-Installation anhand der Attribute im anpassen TridentOrchestrator
Spez. Wenn Sie die Installation über die von Ihnen gewünschte hinaus anpassen möchten TridentOrchestrator
Argumente erlauben, verwenden Sie tridentctl
Um benutzerdefinierte YAML-Manifeste zu erzeugen, die bei Bedarf geändert werden sollen.
Allgemeines zu Controller-Pods und Node-Pods
Astra Trident wird als einzelner Controller-Pod ausgeführt sowie als Node-Pod auf jedem Worker-Node im Cluster. Der Node Pod muss auf jedem Host ausgeführt werden, auf dem Sie ein Astra Trident Volume mounten 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
spec.namespace Ist in angegeben TridentOrchestrator Um den Namespace zu kennzeichnen, in dem Astra Trident installiert ist. Dieser Parameter kann nicht aktualisiert werden, nachdem Astra Trident installiert wurde. Der Versuch, dies zu tun, bewirkt das TridentOrchestrator Status zu ändern in Failed . Astra Trident ist nicht für die Migration auf Namespaces vorgesehen.
|
Diese Tabelle enthält Einzelheiten TridentOrchestrator
Attribute.
Parameter | Beschreibung | Standard |
---|---|---|
|
Namespace für die Installation von Astra Trident in |
„Standard“ |
|
Aktivieren Sie das Debugging für Astra Trident |
Falsch |
|
|
|
|
Einstellung auf |
Falsch |
|
Installieren Sie Astra Trident über IPv6 |
Falsch |
|
Zeitüberschreitung für Kubernetes-Betrieb |
30 Sek. |
|
Senden Sie keine AutoSupport Bundles an NetApp |
Falsch |
|
Das Container-Image für AutoSupport Telemetrie |
„netapp/Trident-AutoSupport:23.07“ |
|
Die Adresse/den Port eines Proxys zum Senden von AutoSupport |
|
|
Eine Flagge, die zum Deinstallieren von Astra Trident verwendet wird |
Falsch |
|
Astra Trident Protokollformat zur Verwendung [Text, json] |
„Text“ |
|
Astra Trident-Image zu installieren |
„netapp/Trident:23.07“ |
|
Pfad zur internen Registrierung des Formats |
„K8s.gcr.io/SIG-Storage“ (K8s 1.19+) |
|
Pfad zum kubelet-Verzeichnis auf dem Host |
„/var/lib/kubelet“ |
|
Eine Liste der zu löschenden Ressourcen, um eine vollständige Entfernung von durchzuführen |
|
|
Secrets, um Bilder aus einer internen Registrierung zu ziehen |
|
|
Legt die BildPull-Richtlinie für den Trident-Operator fest. Gültige Werte sind: |
|
|
Zusätzliche Node-Auswahl für Pods Entspricht dem Format |
Kein Standard; optional |
|
Überschreibt Kubernetes-Toleranzen für Pods. Entspricht dem gleichen Format wie |
Kein Standard; optional |
|
Zusätzliche Node-Auswahl für Pods Entspricht dem Format |
Kein Standard; optional |
|
Überschreibt Kubernetes-Toleranzen für Pods. Entspricht dem gleichen Format wie |
Kein Standard; optional |
Weitere Informationen zum Formatieren von Pod-Parametern finden Sie unter "Pods werden Nodes zugewiesen". |
Details zum Ablösen von Krafteinwirkung
Trennung erzwingen ist für verfügbar ontap-san
Und ontap-san-economy
Nur. Vor der Aktivierung von Force Trennen muss das nicht-anmutige Herunterfahren des Node (NGNS) auf dem Kubernetes-Cluster aktiviert sein. Weitere Informationen finden Sie unter "Kubernetes: Nicht ordnungsgemäßes Herunterfahren von Nodes".
Da Astra Trident auf Kubernetes NGNS basiert, entfernen Sie nicht out-of-service Bleibt bei einem Node in einem unzulässigen Zustand, bis alle nicht tolerierbaren Workloads neu geplant werden. Das rücksichtslose Anwenden oder Entfernen der Schein kann den Schutz der Back-End-Daten gefährden.
|
Wenn der Kubernetes-Cluster-Administrator den angewendet hat node.kubernetes.io/out-of-service=nodeshutdown:NoExecute
Taint to the Node and enableForceDetach
Ist auf festgelegt `true`Astra Trident bestimmt den Node-Status und:
-
Beenden Sie den Back-End-I/O-Zugriff für Volumes, die auf diesem Node gemountet sind.
-
Markieren Sie das Astra Trident Node-Objekt als
dirty
(Nicht sicher für neue Publikationen).Der Trident-Controller lehnt neue Anfragen zu veröffentlichten Volumes ab, bis der Node neu qualifiziert wird (nachdem er als markiert wurde) dirty
) Durch den Trident Node POD. Alle Workloads, die mit einer gemounteten PVC geplant sind (selbst nachdem der Cluster-Node funktionsfähig und bereit ist), werden erst akzeptiert, wenn Astra Trident den Node überprüfen kannclean
(Sicher für neue Publikationen).
Wenn der Zustand der Nodes wiederhergestellt und die Wartung entfernt wird, übernimmt Astra Trident folgende Aufgaben:
-
Veraltete veröffentlichte Pfade auf dem Node identifizieren und bereinigen.
-
Wenn sich der Node in einem befindet
cleanable
Status (die Servicestaint wurde entfernt, und der Node befindet sich inReady
Status) und alle veralteten, veröffentlichten Pfade sind sauber. Astra Trident übermittelt den Node als neuclean
Und neue veröffentlichte Volumes auf dem Knoten zulassen.
Beispielkonfigurationen
Sie können die oben genannten Attribute beim Definieren verwenden TridentOrchestrator
Um die Installation anzupassen.
Beispiel 1: Grundlegende benutzerdefinierte Konfiguration
Dies ist ein Beispiel für eine benutzerdefinierte Grundkonfiguration.
cat deploy/crds/tridentorchestrator_cr_imagepullsecrets.yaml apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident imagePullSecrets: - thisisasecret
Beispiel 2: Implementierung mit Node-Auswahl
Dieses Beispiel veranschaulicht die Implementierung von Trident mit Node-Selektoren:
apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident controllerPluginNodeSelector: nodetype: master nodePluginNodeSelector: storage: netapp
Beispiel 3: Bereitstellung auf Windows Worker-Nodes
Dieses Beispiel zeigt die Bereitstellung auf einem Windows Worker-Knoten.
cat deploy/crds/tridentorchestrator_cr.yaml apiVersion: trident.netapp.io/v1 kind: TridentOrchestrator metadata: name: trident spec: debug: true namespace: trident windows: true