Implementierungsübersicht
Sie können Astra Trident über den Trident-Operator oder mit implementieren tridentctl
.
Wählen Sie die Bereitstellungsmethode
Um zu ermitteln, welche Bereitstellungsmethode verwendet werden soll, sollten Sie Folgendes berücksichtigen:
Warum sollte ich den Trident Operator verwenden?
Der "Betreiber von Trident" Bietet eine hervorragende Möglichkeit, Astra Trident Ressourcen dynamisch zu managen und die Einrichtungsphase zu automatisieren. Es gibt einige Voraussetzungen, die erfüllt werden müssen. Siehe "Den Anforderungen gerecht zu werden".
Der Trident Operator hat mehrere Vorteile wie unten beschrieben.
Funktionen zur Selbstreparatur
Sie können eine Astra Trident-Installation überwachen und aktiv Maßnahmen ergreifen, um Probleme wie das Löschen der Implementierung oder das versehentliche Ändern der Implementierung zu beheben. Wenn der Bediener als Bereitstellung eingerichtet ist, wird ein trident-operator-<generated-id>
Pod wird erstellt. Dieser Pod ordnet A zu TridentOrchestrator
CR mit einer Astra Trident Installation und sorgt stets dafür, dass nur eine aktiv ist TridentOrchestrator
. Mit anderen Worten, der Operator stellt sicher, dass es nur eine Instanz von Astra Trident im Cluster gibt und steuert seine Einrichtung, um sicherzustellen, dass die Installation ist idempotent. Wenn Änderungen an der Installation vorgenommen werden (z. B. Löschen der Bereitstellung oder Knotendemonsatz), identifiziert der Bediener diese und korrigiert sie einzeln.
Einfache Updates vorhandener Installationen
Sie können eine vorhandene Implementierung einfach mit dem Bediener aktualisieren. Sie müssen nur die bearbeiten TridentOrchestrator
CR, um Aktualisierungen für eine Installation durchzuführen. Betrachten Sie zum Beispiel ein Szenario, bei dem Sie Astra Trident aktivieren müssen, um Debug-Protokolle zu generieren.
Um dies zu tun, patchen Sie Ihre TridentOrchestrator
Einstellen spec.debug
Bis true
:
kubectl patch torc <trident-orchestrator-name> -n trident --type=merge -p '{"spec":{"debug":true}}'
Nachher TridentOrchestrator
Wird aktualisiert, verarbeitet der Bediener die Updates und Patches für die vorhandene Installation. Dies kann dazu führen, dass neue Pods erstellt werden, um die Installation entsprechend zu ändern.
Automatische Verarbeitung von Kubernetes-Upgrades
Wenn die Kubernetes-Version des Clusters auf eine unterstützte Version aktualisiert wird, aktualisiert der Operator automatisch eine bestehende Astra Trident-Installation und ändert sie, um sicherzustellen, dass sie die Anforderungen der Kubernetes-Version erfüllt.
Wenn das Cluster auf eine nicht unterstützte Version aktualisiert wird, verhindert der Operator die Installation von Astra Trident. Falls Astra Trident bereits mit dem Operator installiert wurde, wird eine Warnmeldung angezeigt, die angibt, dass Astra Trident auf einer nicht unterstützten Kubernetes-Version installiert ist. |
Warum sollte ich Helm verwenden?
Wenn Sie andere Applikationen, die Sie mit Helm managen, ab Astra Trident 21.01 können Sie Ihre Implementierung auch mit Helm managen.
Wann sollte ich verwenden tridenctl
?
Wenn Sie eine vorhandene Implementierung haben, die aktualisiert werden muss, oder wenn Sie Ihre Implementierung stark anpassen möchten, sollten Sie sich unbedingt die Lösung verwenden "Tridentctl". Dies ist die herkömmliche Methode der Implementierung von Astra Trident.
Überlegungen beim Wechsel zwischen Implementierungsmethoden
Es ist nicht schwer, sich ein Szenario vorzustellen, in dem ein Wechsel zwischen Implementierungsmethoden gewünscht wird. Sie sollten Folgendes berücksichtigen, bevor Sie versuchen, von A zu wechseln tridentctl
Implementierung in eine Operator-basierte Implementierung oder umgekehrt:
-
Verwenden Sie immer die gleiche Methode, um Astra Trident zu deinstallieren. Wenn Sie mit bereitgestellt haben
tridentctl
, Sie sollten die entsprechende Version des verwendentridentctl
Binary zur Deinstallation von Astra Trident. Ebenso sollten Sie bei der Bereitstellung mit dem Operator die bearbeitenTridentOrchestrator
CR und Setspec.uninstall=true
Um Astra Trident zu deinstallieren. -
Wenn Sie über eine bedienerbasierte Bereitstellung verfügen, die Sie entfernen und verwenden möchten
tridentctl
Bei der Implementierung von Astra Trident sollten Sie zuerst bearbeitenTridentOrchestrator
Und gesetztspec.uninstall=true
Um Astra Trident zu deinstallieren. Löschen Sie dannTridentOrchestrator
Und die Bedienerbereitstellung. Sie können dann mit installierentridentctl
. -
Wenn Sie über eine manuelle, bedienerbasierte Implementierung verfügen und die Helm-basierte Trident Operator-Implementierung verwenden möchten, sollten Sie zuerst den Operator manuell deinstallieren und dann die Helm-Installation durchführen. So kann Helm den Trident-Operator mit den erforderlichen Beschriftungen und Anmerkungen implementieren. Wenn dies nicht der Fall ist, schlägt die Bereitstellung des Helm-basierten Trident-Operators mit einem Fehler bei der Labelvalidierung und einem Validierungsfehler bei der Annotation fehl. Wenn Sie eine haben
tridentctl
-Basierte Bereitstellung, können Sie Helm-basierte Implementierung nutzen, ohne Probleme zu verursachen.
Analysieren Sie die Bereitstellungsmodi
Es gibt drei Möglichkeiten für die Implementierung von Astra Trident:
Standardimplementierung
Die Implementierung von Trident auf einem Kubernetes Cluster führt zum Astra Trident Installer auf zwei Dinge:
-
Abrufen der Container-Images über das Internet
-
Erstellung einer Implementierung und/oder Node-Demonset, bei der Astra Trident Pods auf allen teilnahmeberechtigten Nodes im Kubernetes-Cluster gespinnt werden.
Eine solche Standardimplementierung kann auf zwei verschiedene Arten ausgeführt werden:
-
Wird Verwendet
tridentctl install
-
Verwenden des Betreibers von Trident. Trident-Operator kann entweder manuell oder mit Helm implementiert werden.
Dieser Installationsmodus ist die einfachste Möglichkeit, Astra Trident zu installieren und funktioniert für die meisten Umgebungen, die keine Netzwerkeinschränkungen auferlegen.
Offline-Bereitstellung
Um eine luftvergoppte Installation durchzuführen, können Sie den verwenden --image-registry
Markierung beim Aufrufen tridentctl install
Auf eine private Bildregistrierung verweisen. Bei der Implementierung mit dem Trident-Operator können Sie alternativ angeben spec.imageRegistry
In Ihren TridentOrchestrator
. Diese Registrierung sollte den enthalten "Bild: Trident", Das "Bild: Trident AutoSupport", Und die CSI-Sidecar-Bilder, wie von Ihrer Kubernetes-Version erforderlich.
Verwenden Sie zum Anpassen Ihrer Implementierung die Möglichkeit tridentctl
Generierung der Manifeste für Trident Ressourcen: Dies umfasst die Implementierung, das Demonet, das Servicekonto und die Cluster-Rolle, die Astra Trident im Rahmen der Installation erstellt.
Weitere Informationen zum Anpassen Ihrer Bereitstellung finden Sie unter diesen Links:
Wenn Sie ein privates Image Repository verwenden, sollten Sie hinzufügen /k8scsi Für Kubernetes-Versionen vor 1.17 oder /sig-storage Für Kubernetes-Versionen ab 1.17 bis zum Ende der privaten Registrierungs-URL. Wenn Sie eine private Registrierung für verwenden tridentctl Implementierung, sollten Sie verwenden --trident-image Und --autosupport-image Zusammen mit --image-registry . Wenn Sie Astra Trident mithilfe des Trident-Operators implementieren, stellen Sie sicher, dass der Orchestrator CR enthält tridentImage Und autosupportImage In den Installationsparametern.
|
Remote-Implementierung
Im Folgenden finden Sie einen allgemeinen Überblick über den Remote-Implementierungsprozess:
-
Stellen Sie die entsprechende Version von bereit
kubectl
Auf dem Remote-Rechner, von wo aus Sie Astra Trident implementieren möchten. -
Kopieren Sie die Konfigurationsdateien aus dem Kubernetes-Cluster und legen Sie die fest
KUBECONFIG
Umgebungsvariable auf dem Remotecomputer. -
Initiieren Sie A
kubectl get nodes
Befehl zum Überprüfen, ob eine Verbindung mit dem erforderlichen Kubernetes-Cluster hergestellt werden kann. -
Führen Sie die Implementierung von der Remote-Maschine aus, indem Sie die standardmäßigen Installationsschritte verwenden.
Andere bekannte Konfigurationsoptionen
Bei der Installation von Astra Trident auf VMware Tanzu Portfolio Produkten:
-
Das Cluster muss privilegierte Workloads unterstützen.
-
Der
--kubelet-dir
Flag sollte auf den Speicherort des kubelet-Verzeichnisses gesetzt werden. Standardmäßig ist dies/var/vcap/data/kubelet
.Festlegen der Kubelet-Position unter Verwendung
--kubelet-dir
Ist für Trident Operator, Helm und bekannttridentctl
Implementierungen.