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.

Implementierung mit Trident Operator

Beitragende

Sie können Astra Trident mit dem Trident-Operator implementieren. Der Trident-Operator kann entweder manuell oder mit Helm implementiert werden.

Tipp Wenn Sie sich nicht bereits mit dem vertraut gemacht haben "Grundkonzepte", Ist jetzt eine tolle Zeit, um das zu tun.
Was Sie benötigen

Bei der Implementierung von Astra Trident sollten die folgenden Voraussetzungen erfüllt sein:

  • Sie erhalten vollständige Berechtigungen für einen unterstützten Kubernetes-Cluster mit Kubernetes 1.17 und höher.

  • Sie haben Zugriff auf ein unterstütztes NetApp Storage-System.

  • Sie können Volumes von allen Kubernetes-Worker-Nodes einbinden.

  • Sie verfügen über einen Linux-Host mit kubectl (Oder oc, Falls Sie OpenShift nutzen) ist installiert und konfiguriert, um den Kubernetes-Cluster zu managen, den Sie verwenden möchten.

  • Sie haben die festgelegt KUBECONFIG Umgebungsvariable auf die Kubernetes-Cluster-Konfiguration verweisen.

  • Sie haben das aktiviert "Funktionsgates erforderlich von Astra Trident".

  • Bei Verwendung von Kubernetes mit Docker Enterprise "Führen Sie die entsprechenden Schritte aus, um den CLI-Zugriff zu aktivieren".

Hast du das alles? Sehr Gut! Fangen wir an.

Trident-Operator kann mit Helm implementiert werden

Führen Sie die aufgeführten Schritte zur Implementierung des Trident-Bedieners mithilfe von Helm durch.

Was Sie benötigen

Zusätzlich zu den oben aufgeführten Voraussetzungen benötigen Sie zur Implementierung des Trident-Operators mithilfe von Helm folgende Voraussetzungen:

  • Kubernetes 1.17 und höher

  • Helm Version 3

Schritte
  1. Helm-Repository von Trident hinzufügen:

    helm repo add netapp-trident https://netapp.github.io/trident-helm-chart
  2. Verwenden Sie die helm install Führen Sie einen Befehl aus, und geben Sie einen Namen für Ihre Bereitstellung an. Das folgende Beispiel zeigt:

    helm install <release-name> netapp-trident/trident-operator --version 22.1.0 --namespace <trident-namespace>
    Hinweis Falls Sie noch keinen Namespace für Trident erstellt haben, können Sie den hinzufügen --create-namespace Parameter für das helm install Befehl. Helm erstellt dann automatisch den Namespace für Sie.

Während der Installation gibt es zwei Möglichkeiten, die Konfigurationsdaten zu übergeben:

  • --values (Oder -f): Geben Sie eine YAML-Datei mit Überschreibungen an. Dies kann mehrfach angegeben werden, und die rechteste Datei hat Vorrang.

  • --set: Überschreibungen auf der Kommandozeile angeben.

Um beispielsweise den Standardwert von zu ändern debug, Ausführen Sie das folgende --set Befehl:

$ helm install <name> netapp-trident/trident-operator --version 22.1.0 --set tridentDebug=true

Der values.yaml Die Datei, die Teil des Helm-Diagramms ist, enthält die Liste der Schlüssel und ihre Standardwerte.

helm list Zeigt Ihnen Details zur Installation an, z. B. Name, Namespace, Diagramm, Status, App-Version, Revisionsnummer usw.

Setzen Sie den Trident-Operator manuell ein

Führen Sie die aufgeführten Schritte aus, um den Trident-Operator manuell zu implementieren.

Schritt: Qualifizieren Sie Ihren Kubernetes-Cluster

Zunächst müssen Sie sich beim Linux-Host anmelden und überprüfen, ob es ein Working, "Unterstützter Kubernetes-Cluster" Dass Sie über die erforderlichen Berechtigungen verfügen.

Hinweis Mit OpenShift, verwenden oc Statt kubectl In allen folgenden Beispielen, und melden Sie sich als System:admin zuerst mit dem Ausführen an oc login -u system:admin Oder oc login -u kube-admin.

Um festzustellen, ob Ihre Kubernetes-Version höher als 1.17 ist, führen Sie den folgenden Befehl aus:

kubectl version

So zeigen Sie, ob Sie über die Berechtigungen für Kubernetes Cluster-Administratoren verfügen:

kubectl auth can-i '*' '*' --all-namespaces

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob ein POD mit einem Image aus dem Docker Hub gestartet werden kann und das Storage-System über das POD-Netzwerk erreichen kann:

kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \
  ping <management IP>

Schritt 2: Laden Sie den Operator herunter und richten Sie ihn ein

Hinweis Ab 21.01 ist der Trident Operator der Cluster-Umfang. Zur Installation von Trident muss mit dem Trident-Operator der erstellt werden TridentOrchestrator Benutzerdefinierte Ressourcendefinition (CRD) und Definition anderer Ressourcen. Führen Sie diese Schritte durch, um den Bediener einzurichten, bevor Sie Astra Trident installieren können.
  1. Laden Sie die neueste Version der herunter "Trident Installationspaket" Aus dem Abschnitt Downloads extrahieren.

    wget https://github.com/NetApp/trident/releases/download/v21.04/trident-installer-21.04.tar.gz
    tar -xf trident-installer-21.04.tar.gz
    cd trident-installer
  2. Verwenden Sie das entsprechende CRD-Manifest, um das zu erstellen TridentOrchestrator CRD.- Dann erstellen Sie ein TridentOrchestrator Benutzerdefinierte Ressource später, um eine Installation durch den Bediener zu erstellen.

    Führen Sie den folgenden Befehl aus:

    kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. Nach dem TridentOrchestrator CRD wird erstellt, so legen Sie die folgenden Ressourcen für die Bedienerbereitstellung an:

    • Ein Servicekonto für den Betreiber

    • ClusterRPole und ClusterRoleBending an das ServiceAccount

    • Eine dedizierte PodSecurityPolicy

    • Der Bediener selbst

      Trident Installer enthält Manifeste für die Definition dieser Ressourcen. Standardmäßig wird der Operator in bereitgestellt trident Namespace. Wenn der trident Der Namespace ist nicht vorhanden. Verwenden Sie das folgende Manifest, um einen zu erstellen.

    $ kubectl apply -f deploy/namespace.yaml
  4. So stellen Sie den Operator in einem anderen Namespace als dem Standard bereit trident Namespace, sollten Sie den aktualisieren serviceaccount.yaml, clusterrolebinding.yaml Und operator.yaml Manifeste und Generate Your bundle.yaml.

    Führen Sie den folgenden Befehl aus, um die YAML Manifeste zu aktualisieren und das zu generieren bundle.yaml Verwenden der kustomization.yaml:

    kubectl kustomize deploy/ > deploy/bundle.yaml

    Führen Sie den folgenden Befehl aus, um die Ressourcen zu erstellen und den Operator bereitzustellen:

    kubectl create -f deploy/bundle.yaml
  5. Gehen Sie wie folgt vor, um den Status des Bedieners nach der Bereitstellung zu überprüfen:

    $ kubectl get deployment -n <operator-namespace>
    NAME               READY   UP-TO-DATE   AVAILABLE   AGE
    trident-operator   1/1     1            1           3m
    
    $ kubectl get pods -n <operator-namespace>
    NAME                              READY   STATUS             RESTARTS   AGE
    trident-operator-54cb664d-lnjxh   1/1     Running            0          3m

Durch die Implementierung eines Mitarbeiters wird erfolgreich ein Pod erstellt, der auf einem der Worker-Nodes im Cluster ausgeführt wird.

Wichtig Es sollte nur eine Instanz* des Operators in einem Kubernetes-Cluster geben. Erstellen Sie nicht mehrere Implementierungen des Trident-Operators.

Schritt 3: Erstellen TridentOrchestrator Und Trident installieren

Sie können Astra Trident nun mit dem Operator installieren! Hierfür muss erstellt werden TridentOrchestrator. Das Trident Installationsprogramm enthält Beispieldefinitionen für die Erstellung TridentOrchestrator. Dies startet eine Installation im trident Namespace.

$ kubectl create -f deploy/crds/tridentorchestrator_cr.yaml
tridentorchestrator.trident.netapp.io/trident created

$ kubectl describe torc trident
Name:        trident
Namespace:
Labels:      <none>
Annotations: <none>
API Version: trident.netapp.io/v1
Kind:        TridentOrchestrator
...
Spec:
  Debug:     true
  Namespace: trident
Status:
  Current Installation Params:
    IPv6:                      false
    Autosupport Hostname:
    Autosupport Image:         netapp/trident-autosupport:21.04
    Autosupport Proxy:
    Autosupport Serial Number:
    Debug:                     true
    Enable Node Prep:          false
    Image Pull Secrets:
    Image Registry:
    k8sTimeout:           30
    Kubelet Dir:          /var/lib/kubelet
    Log Format:           text
    Silence Autosupport:  false
    Trident Image:        netapp/trident:21.04.0
  Message:                  Trident installed  Namespace:                trident
  Status:                   Installed
  Version:                  v21.04.0
Events:
    Type Reason Age From Message ---- ------ ---- ---- -------Normal
    Installing 74s trident-operator.netapp.io Installing Trident Normal
    Installed 67s trident-operator.netapp.io Trident installed

Der Trident-Operator ermöglicht es Ihnen, die Art und Weise, wie Astra Trident installiert wird, mithilfe der Attribute im anzupassen TridentOrchestrator Spez. Siehe "Anpassung der Trident Implementierung".

Der Status von TridentOrchestrator Gibt an, ob die Installation erfolgreich war und zeigt die installierte Version von Trident an.

Status Beschreibung

Installation

Der Betreiber installiert damit den Astra Trident TridentOrchestrator CR.

Installiert

Astra Trident wurde erfolgreich installiert.

Deinstallation

Der Betreiber deinstalliert den Astra Trident, denn
spec.uninstall=true.

Deinstalliert

Astra Trident ist deinstalliert.

Fehlgeschlagen

Der Operator konnte Astra Trident nicht installieren, patchen, aktualisieren oder deinstallieren; der Operator versucht automatisch, aus diesem Zustand wiederherzustellen. Wenn dieser Status weiterhin besteht, müssen Sie eine Fehlerbehebung durchführen.

Aktualisierung

Der Bediener aktualisiert eine vorhandene Installation.

Fehler

Der TridentOrchestrator Wird nicht verwendet. Eine weitere ist bereits vorhanden.

Während der Installation den Status von TridentOrchestrator Änderungen von Installing Bis Installed. Wenn Sie die beobachten Failed Der Status und der Operator kann sich nicht selbst wiederherstellen. Sie sollten die Protokolle des Operators überprüfen. Siehe "Fehlerbehebung" Abschnitt.

Sie können überprüfen, ob die Astra Trident Installation abgeschlossen wurde, indem Sie sich die erstellten Pods ansehen:

$ kubectl get pod -n trident
NAME                                READY   STATUS    RESTARTS   AGE
trident-csi-7d466bf5c7-v4cpw        5/5     Running   0           1m
trident-csi-mr6zc                   2/2     Running   0           1m
trident-csi-xrp7w                   2/2     Running   0           1m
trident-csi-zh2jt                   2/2     Running   0           1m
trident-operator-766f7b8658-ldzsv   1/1     Running   0           3m

Sie können auch verwenden tridentctl Um die installierte Version von Astra Trident zu überprüfen.

$ ./tridentctl -n trident version
+----------------+----------------+
| SERVER VERSION | CLIENT VERSION |
+----------------+----------------+
| 21.04.0        | 21.04.0        |
+----------------+----------------+

Jetzt können Sie mit diesem Schritt ein Backend erstellen. Siehe "Aufgaben nach der Implementierung".

Tipp Informationen zur Fehlerbehebung bei Problemen während der Bereitstellung finden Sie im "Fehlerbehebung" Abschnitt.