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.

Volumes können in Namespaces geklont werden

Beitragende netapp-aruldeepa

Mit Trident können Sie neue Volumes unter Verwendung vorhandener Volumes oder Volume-Snapshots aus einem anderen Namespace im selben Kubernetes-Cluster erstellen.

Voraussetzungen

Stellen Sie vor dem Klonen von Volumes sicher, dass die Quell- und Ziel-Back-Ends vom gleichen Typ sind und dieselbe Storage-Klasse aufweisen.

Schnellstart

Die Einrichtung von Volume-Klonen ist in wenigen Schritten möglich.

Eins Konfigurieren Sie die Quell-PVC zum Klonen des Volume

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

Zwei Erteilen Sie die Berechtigung zum Erstellen eines CR im Zielspeicherort

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

Drittens Erstellen Sie TridentVolumeReference im Ziel-Namespace

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

Vier Erstellen Sie die Klon-PVC im Ziel-Namespace

Der Eigentümer des Ziel-Namespace erstellt die PVC zum Klonen der PVC aus dem Quell-Namespace.

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

Um die Sicherheit zu gewährleisten, müssen Volumes über Namespaces hinweg gemeinsam genutzt werden. Der Eigentümer des Quell-Namespace, der Cluster-Administrator und der Eigentümer des Ziel-Namespaces müssen entsprechende Maßnahmen ergreifen. In jedem Schritt wird die Benutzerrolle festgelegt.

Schritte
  1. Source Namespace Owner: Erstellen Sie die PVC (pvc1) im source Namespace (namespace1), die die Erlaubnis erteilt, mit dem Ziel-Namespace zu teilen (namespace2) mit der cloneToNamespace Annotation.

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

    Trident erstellt das PV und das zugehörige Back-End Storage Volume.

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

    • Mit können Sie alle Namespaces teilen *. Beispiel: trident.netapp.io/cloneToNamespace: *

    • Sie können die PVC so aktualisieren, dass die Anmerkung jederzeit enthalten cloneToNamespace ist.

  2. Cluster admin: Erstellen Sie die benutzerdefinierte Rolle und kubeconfig, um dem Ziel-Namespace-Eigentümer die Berechtigung zu erteilen, den TridentVolume Reference CR im Ziel-Namespace zu erstellen(namespace2 ).

  3. Destination Namespace Owner: 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. Destination Namespace Owner: Erstellen Sie eine PVC (pvc2) im Destination Namespace (namespace2) Verwenden Sie cloneFromPVC die oder cloneFromSnapshot, und cloneFromNamespace Anmerkungen, um die Quell-PVC zu kennzeichnen.

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

Einschränkungen

  • Für PVCs, die über ONTAP-nas-Economy-Treiber bereitgestellt werden, werden schreibgeschützte Klone nicht unterstützt.