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.

Was kommt als Nächstes?

Beitragende

Nach der Implementierung von Astra Trident können Sie mit der Erstellung eines Backend, der Erstellung einer Storage-Klasse, der Bereitstellung eines Volumes und dem Mounten des Volumes in einem Pod fortfahren.

Schritt 1: Erstellen Sie ein Backend

Jetzt können Sie mit Astra Trident ein Backend erstellen und Volumes bereitstellen. Erstellen Sie dazu ein backend.json Datei, die die erforderlichen Parameter enthält. Beispiele für Konfigurationsdateien für verschiedene Backend-Typen finden Sie im sample-input Verzeichnis.

Siehe "Hier" Weitere Informationen zum Konfigurieren der Datei für den Backend-Typ.

cp sample-input/<backend template>.json backend.json
vi backend.json
./tridentctl -n trident create backend -f backend.json
+-------------+----------------+--------------------------------------+--------+---------+
|    NAME     | STORAGE DRIVER |                 UUID                 | STATE  | VOLUMES |
+-------------+----------------+--------------------------------------+--------+---------+
| nas-backend | ontap-nas      | 98e19b74-aec7-4a3d-8dcf-128e5033b214 | online |       0 |
+-------------+----------------+--------------------------------------+--------+---------+

Wenn die Erstellung fehlschlägt, ist mit der Back-End-Konfiguration ein Fehler aufgetreten. Sie können die Protokolle zur Bestimmung der Ursache anzeigen, indem Sie den folgenden Befehl ausführen:

./tridentctl -n trident logs

Nachdem Sie das Problem behoben haben, gehen Sie einfach zurück zum Anfang dieses Schritts und versuchen Sie es erneut. Weitere Tipps zur Fehlerbehebung finden Sie unter "Die Fehlerbehebung" Abschnitt.

Schritt 2: Erstellen Sie eine Storage-Klasse

Kubernetes Benutzer stellen Volumes mithilfe von persistenten Volume Claims (PVCs) bereit, die einen angeben "Storage-Klasse" Nach Name. Die Details sind für die Benutzer verborgen. In einer Storage-Klasse wird jedoch die provisionierung für die jeweilige Klasse (in diesem Fall Trident) angegeben, und die Bedeutung dieser Klasse für die provisionierung angegeben.

Kubernetes-Benutzer in Storage-Klasse erstellen geben an, wann sie ein Volume möchten. Die Konfiguration der Klasse muss das im vorherigen Schritt erstellte Backend modellieren, damit Astra Trident neue Volumes bereitstellen wird.

Die einfachste Storage-Klasse, mit der Sie beginnen können, basiert auf der sample-input/storage-class-csi.yaml.templ Datei, die mit dem Installationsprogramm geliefert wird, ersetzen BACKEND_TYPE Mit dem Namen des Speichertreibers.

./tridentctl -n trident get backend
+-------------+----------------+--------------------------------------+--------+---------+
|    NAME     | STORAGE DRIVER |                 UUID                 | STATE  | VOLUMES |
+-------------+----------------+--------------------------------------+--------+---------+
| nas-backend | ontap-nas      | 98e19b74-aec7-4a3d-8dcf-128e5033b214 | online |       0 |
+-------------+----------------+--------------------------------------+--------+---------+

cp sample-input/storage-class-csi.yaml.templ sample-input/storage-class-basic-csi.yaml

# Modify __BACKEND_TYPE__ with the storage driver field above (e.g., ontap-nas)
vi sample-input/storage-class-basic-csi.yaml

Dies ist ein Kubernetes-Objekt, die Storage-Verwendung ist kubectl Um sie in Kubernetes zu erstellen.

kubectl create -f sample-input/storage-class-basic-csi.yaml

Sie sollten jetzt in Kubernetes und Astra Trident eine Basis-csi Storage-Klasse sehen, und Astra Trident hätte die Pools auf dem Backend entdeckt haben sollen.

kubectl get sc basic-csi
NAME         PROVISIONER             AGE
basic-csi    csi.trident.netapp.io   15h

./tridentctl -n trident get storageclass basic-csi -o json
{
  "items": [
    {
      "Config": {
        "version": "1",
        "name": "basic-csi",
        "attributes": {
          "backendType": "ontap-nas"
        },
        "storagePools": null,
        "additionalStoragePools": null
      },
      "storage": {
        "ontapnas_10.0.0.1": [
          "aggr1",
          "aggr2",
          "aggr3",
          "aggr4"
        ]
      }
    }
  ]
}

Schritt 3: Stellen Sie Ihr erstes Volumen bereit

Nun können Sie das erste Volume dynamisch bereitstellen. Dazu wird ein Kubernetes erstellt "Persistent Volume Claim" (PVC) Objekt.

Erstellen Sie eine PVC für ein Volume, das die soeben erstellte Storage-Klasse verwendet.

Siehe sample-input/pvc-basic-csi.yaml Beispiel: Stellen Sie sicher, dass der Name der Speicherklasse mit dem übereinstimmt, den Sie erstellt haben.

kubectl create -f sample-input/pvc-basic-csi.yaml

kubectl get pvc --watch
NAME      STATUS    VOLUME                                     CAPACITY   ACCESS MODES  STORAGECLASS   AGE
basic     Pending                                                                       basic          1s
basic     Pending   pvc-3acb0d1c-b1ae-11e9-8d9f-5254004dfdb7   0                        basic          5s
basic     Bound     pvc-3acb0d1c-b1ae-11e9-8d9f-5254004dfdb7   1Gi        RWO           basic          7s

Schritt 4: Mounten Sie die Volumes in einem POD

Nun lassen Sie uns den Datenträger einhängen. Wir werden einen nginx-Pod starten, der das PV unter einhängt /usr/share/nginx/html.

cat << EOF > task-pv-pod.yaml
kind: Pod
apiVersion: v1
metadata:
  name: task-pv-pod
spec:
  volumes:
    - name: task-pv-storage
      persistentVolumeClaim:
       claimName: basic
  containers:
    - name: task-pv-container
      image: nginx
      ports:
        - containerPort: 80
          name: "http-server"
      volumeMounts:
        - mountPath: "/usr/share/nginx/html"
          name: task-pv-storage
EOF
kubectl create -f task-pv-pod.yaml
# Wait for the pod to start
kubectl get pod --watch

# Verify that the volume is mounted on /usr/share/nginx/html
kubectl exec -it task-pv-pod -- df -h /usr/share/nginx/html

# Delete the pod
kubectl delete pod task-pv-pod

An diesem Punkt existiert der POD (Applikation) nicht mehr, das Volume ist jedoch weiterhin vorhanden. Sie können es von einem anderen POD nutzen, wenn Sie dies möchten.

Löschen Sie zum Löschen des Volumes die Forderung:

kubectl delete pvc basic

Sie können jetzt zusätzliche Aufgaben ausführen, wie z. B.: