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.

Ein NFS-Volume kann über Namespaces hinweg genutzt werden

Beitragende

Mit Astra Trident können Sie ein Volume in einem primären Namespace erstellen und es in einem oder mehreren sekundären Namespaces teilen.

Funktionen

Mit dem Astra TridentVolumeReference CR können Sie ReadWriteManche (RWX) NFS-Volumes sicher über einen oder mehrere Kubernetes-Namespaces teilen. Diese native Kubernetes-Lösung bietet folgende Vorteile:

  • Mehrere Stufen der Zugriffssteuerung zur Sicherstellung der Sicherheit

  • Funktioniert mit allen Trident NFS-Volume-Treibern

  • Tridentctl oder andere nicht-native Kubernetes-Funktionen sind nicht von Bedeutung

Dieses Diagramm zeigt die NFS-Volume-Freigabe über zwei Kubernetes-Namespaces.

Ein Konzeptdiagramm der Cross Namespace Sharing

Schnellstart

Sie können in nur wenigen Schritten NFS-Volume Sharing einrichten.

Eins Konfigurieren Sie die PVC-Quelle für die gemeinsame Nutzung des Volumes

Der Eigentümer des Quell-Namespace erteilt die Berechtigung, auf die Daten im Quell-PVC zuzugreifen.

Zwei Berechtigung zum Erstellen eines CR im Ziel-Namespace gewähren

Der Clusteradministrator erteilt dem Eigentümer des Ziel-Namespace die Berechtigung, das TridentVolumeReference CR zu erstellen.

Drittens Erstellen Sie im Ziel-Namespace tridentVolumeReference

Der Eigentümer des Ziel-Namespace erstellt das TridentVolumeReference CR, um sich auf das Quell-PVC zu beziehen.

Vier Erstellen Sie das untergeordnete PVC im Ziel-Namespace

Der Eigentümer des Ziel-Namespace erstellt das untergeordnete PVC, um die Datenquelle aus dem Quell-PVC zu verwenden.

Konfigurieren Sie die Namensräume für Quelle und Ziel

Um die Sicherheit zu gewährleisten, erfordert die Namespace-übergreifende Freigabe Zusammenarbeit und Aktion durch den Eigentümer des Quell-Namespace, den Cluster-Administrator und den Ziel-Namespace-Eigentümer. In jedem Schritt wird die Benutzerrolle festgelegt.

Schritte
  1. Source Namespace Owner: Erstellen Sie das PVC (pvc1) Im Quell-Namespace, der die Erlaubnis gibt, mit dem Ziel-Namespace zu teilen (namespace2) Mit dem shareToNamespace Anmerkung:

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pvc1
      namespace: namespace1
      annotations:
        trident.netapp.io/shareToNamespace: namespace2
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: trident-csi
      resources:
        requests:
          storage: 100Gi

    Astra Trident erstellt das PV und das Back-End NFS Storage Volume.

    Hinweis
    • Sie können das PVC über eine durch Kommas getrennte Liste mehreren Namespaces freigeben. Beispiel: trident.netapp.io/shareToNamespace: namespace2,namespace3,namespace4.

    • Sie können mit allen Namespaces freigeben *. Beispiel: trident.netapp.io/shareToNamespace: *

    • Sie können das PVC so aktualisieren, dass es die enthält shareToNamespace Kommentare können jederzeit hinzugefügt werden.

  2. Cluster Admin: Erstellen Sie die benutzerdefinierte Rolle und kubeconfig, um dem Ziel-Namespace-Eigentümer die Berechtigung zu erteilen, das TridentVolumeReference CR im Ziel-Namespace zu erstellen.

  3. Zielgebietes-Namespace-Eigentümer: Erstellen Sie ein TridentVolumeReference CR im Ziel-Namespace, der sich auf den Quell-Namespace bezieht pvc1.

    apiVersion: trident.netapp.io/v1
    kind: TridentVolumeReference
    metadata:
      name: my-first-tvr
      namespace: namespace2
    spec:
      pvcName: pvc1
      pvcNamespace: namespace1
  4. Eigentümer des Ziel-Namespace: Erstellen Sie ein PVC (pvc2) Im Ziel-Namespace (namespace2) Mit dem shareFromPVC Anmerkung zur Angabe der Quelle PVC.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      annotations:
        trident.netapp.io/shareFromPVC: namespace1/pvc1
      name: pvc2
      namespace: namespace2
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: trident-csi
      resources:
        requests:
          storage: 100Gi
    Hinweis Die Größe der Ziel-PVC muss kleiner oder gleich der Quelle PVC sein.
Ergebnisse

Astra Trident liest den shareFromPVC Anmerkung auf dem Ziel-PVC und erstellt das Ziel-PV als untergeordnetes Volumen ohne eigene Speicherressource, die auf das Quell-PV verweist und die PV-Quellressource teilt. Die Ziel-PVC und das PV erscheinen wie normal gebunden.

Löschen eines freigegebenen Volumes

Sie können ein Volume löschen, das über mehrere Namespaces hinweg gemeinsam genutzt wird. Astra Trident entfernt den Zugriff auf das Volume im Quell-Namespace und behält auch andere Namespaces, die das Volume gemeinsam nutzen. Wenn alle Namespaces entfernt werden, die auf dem Volume verweisen, löscht Astra Trident das Volume.

Nutzung tridentctl get Zum Abfragen von untergeordneten Volumes

Verwenden der[tridentctl Das Dienstprogramm kann ausgeführt werden get Befehl zum Abrufen untergeordneter Volumes. Weitere Informationen finden Sie unter Link:../Trident-Referenz/tridentctl.html[tridentctl Befehle und Optionen].

Usage:
  tridentctl get [option]

Markierungen:

  • `-h, --help: Hilfe für Volumen.

  • --parentOfSubordinate string: Abfrage auf untergeordnetes Quellvolumen begrenzen.

  • --subordinateOf string: Abfrage auf Untergebene beschränken.

Einschränkungen

  • Astra Trident kann nicht verhindern, dass Ziel-Namespaces auf dem Shared Volume schreiben. Sie sollten Dateisperren oder andere Prozesse verwenden, um das Überschreiben von gemeinsam genutzten Volume-Daten zu verhindern.

  • Sie können den Zugriff auf die Quelle PVC nicht widerrufen, indem Sie die entfernen shareToNamespace Oder shareFromNamespace Anmerkungen oder Löschen des TridentVolumeReference CR. Um den Zugriff zu widerrufen, müssen Sie das untergeordnete PVC löschen.

  • Snapshots, Klone und Spiegelungen sind auf untergeordneten Volumes nicht möglich.

Finden Sie weitere Informationen

Weitere Informationen zum Namespace-übergreifenden Volume-Zugriff: