Skip to main content
È disponibile una versione più recente di questo prodotto.
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Condividere un volume NFS tra namespace

Utilizzando Trident, puoi creare un volume in uno spazio dei nomi primario e condividerlo in uno o più spazi dei nomi secondari.

Caratteristiche

La CR TridentVolumeReference consente di condividere in modo sicuro volumi NFS ReadWriteMany (RWX) su uno o più namespace Kubernetes. Questa soluzione nativa per Kubernetes offre i seguenti vantaggi:

  • Più livelli di controllo degli accessi per garantire la sicurezza

  • Funziona con tutti i driver di volume Trident NFS

  • Nessuna dipendenza da tridentctl o da qualsiasi altra funzionalità non nativa di Kubernetes

Questo diagramma illustra la condivisione del volume NFS tra due namespace Kubernetes.

Un diagramma concettuale della condivisione tra namespace.

Avvio rapido

È possibile configurare la condivisione del volume NFS in pochi semplici passaggi.

Uno Configurare il PVC di origine per condividere il volume

Il proprietario dello spazio dei nomi di origine concede il permesso di accedere ai dati nel source PVC.

Due Concedere il permesso di creare un CR nello spazio dei nomi di destinazione

L'amministratore del cluster concede il permesso al proprietario dello spazio dei nomi di destinazione di creare il CR TridentVolumeReference.

Tre Creare TridentVolumeReference nello spazio dei nomi di destinazione

Il proprietario dello spazio dei nomi di destinazione crea il TridentVolumeReference CR per fare riferimento al PVC di origine.

QuattroCrea il PVC subordinato nello spazio dei nomi di destinazione

Il proprietario dello spazio dei nomi di destinazione crea il PVC subordinato per utilizzare l'origine dati dal PVC di origine.

Configurare gli spazi dei nomi di origine e di destinazione

Per garantire la sicurezza, la condivisione tra namespace richiede la collaborazione e l'azione del proprietario del namespace di origine, dell'amministratore del cluster e del proprietario del namespace di destinazione. Il ruolo dell'utente viene assegnato in ogni fase.

Passaggi
  1. Proprietario dello spazio dei nomi di origine: crea il PVC (pvc1) nello spazio dei nomi di origine che concede l'autorizzazione alla condivisione con lo spazio dei nomi di destinazione (namespace2) utilizzando l'annotazione shareToNamespace.

    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

    Trident crea il PV e il suo volume di archiviazione NFS backend.

    Nota
    • È possibile condividere il PVC con più namespace utilizzando un elenco delimitato da virgole. Ad esempio, trident.netapp.io/shareToNamespace: namespace2,namespace3,namespace4.

    • Puoi condividere con tutti gli spazi dei nomi utilizzando *. Ad esempio, trident.netapp.io/shareToNamespace: *

    • È possibile aggiornare il PVC per includere l `shareToNamespace`annotazione in qualsiasi momento.

  2. Amministratore del cluster: assicurarsi che sia presente il corretto RBAC per concedere l'autorizzazione al proprietario dello spazio dei nomi di destinazione di creare il CR TridentVolumeReference nello spazio dei nomi di destinazione.

  3. Proprietario dello spazio dei nomi di destinazione: Creare un TridentVolumeReference CR nello spazio dei nomi di destinazione che faccia riferimento allo spazio dei nomi di origine pvc1.

    apiVersion: trident.netapp.io/v1
    kind: TridentVolumeReference
    metadata:
      name: my-first-tvr
      namespace: namespace2
    spec:
      pvcName: pvc1
      pvcNamespace: namespace1
  4. Proprietario dello spazio dei nomi di destinazione: Crea un PVC (pvc2 nello spazio dei nomi di destinazione (namespace2 utilizzando l'annotazione shareFromPVC per designare il PVC di origine.

    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
    Nota La dimensione del PVC di destinazione deve essere inferiore o uguale a quella del PVC di origine.
Risultati

Trident legge l' `shareFromPVC`annotazione sul PVC di destinazione e crea il PV di destinazione come volume subordinato, senza risorse di storage proprie, che punta al PV di origine e condivide la risorsa di storage del PV di origine. Il PVC di destinazione e il PV di destinazione appaiono vincolati come di consueto.

Elimina un volume condiviso

È possibile eliminare un volume condiviso tra più namespace. Trident rimuoverà l'accesso al volume nel namespace di origine e manterrà l'accesso per gli altri namespace che condividono il volume. Quando tutti i namespace che fanno riferimento al volume vengono rimossi, Trident elimina il volume.

Utilizzare tridentctl get per interrogare i volumi subordinati

Utilizzando l'[tridentctl`utility, è possibile eseguire il `get`comando per ottenere volumi subordinati. Per ulteriori informazioni, consultare `tridentctl comandi e opzioni.

Usage:
  tridentctl get [option]

Flag:

  • `-h, --help: Aiuto per i volumi.

  • --parentOfSubordinate string: Limita la query al volume sorgente subordinato.

  • --subordinateOf string: Limita la query ai subordinati del volume.

Limitazioni

  • Trident non può impedire ai namespace di destinazione di scrivere sul volume condiviso. È consigliabile utilizzare il blocco dei file o altri processi per impedire la sovrascrittura dei dati del volume condiviso.

  • Non è possibile revocare l'accesso al PVC sorgente rimuovendo le shareToNamespace o shareFromNamespace annotazioni o eliminando il TridentVolumeReference CR. Per revocare l'accesso, è necessario eliminare il PVC subordinato.

  • Snapshot, cloni e mirroring non sono possibili sui volumi subordinati.

Per ulteriori informazioni

Per saperne di più sull'accesso ai volumi tra namespace: