Skip to main content
Hay disponible una nueva versión de este producto.
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Comparta un volumen NFS en espacios de nombres

Colaboradores

Con Astra Trident, se puede crear un volumen en un espacio de nombres primario y compartirlo en uno o más espacios de nombres secundarios.

Funciones

La Astra TridentVolumeReference CR le permite compartir de forma segura volúmenes NFS ReadWriteMany (RWX) en uno o más espacios de nombres de Kubernetes. Esta solución nativa de Kubernetes tiene las siguientes ventajas:

  • Varios niveles de control de acceso para garantizar la seguridad

  • Funciona con todos los controladores de volúmenes NFS de Trident

  • No depende de trimentctl ni de ninguna otra función de Kubernetes no nativa

Este diagrama ilustra el uso compartido de volúmenes de NFS en dos espacios de nombres de Kubernetes.

Un diagrama conceptual del uso compartido entre espacios de nombres.

Inicio rápido

Puede configurar el uso compartido del volumen NFS en unos pocos pasos.

Una Configure la PVC de origen para compartir el volumen

El propietario del espacio de nombres de origen concede permiso para acceder a los datos de la RVP de origen.

Dos Otorgar permiso para crear una CR en el espacio de nombres de destino

El administrador del clúster concede permiso al propietario del espacio de nombres de destino para crear el sistema TridentVolumeReference CR.

Tres Cree TridentVolumeReference en el espacio de nombres de destino

El propietario del espacio de nombres de destino crea el TridentVolumeReference CR para hacer referencia al PVC de origen.

Cuatro Cree la RVP subordinada en el espacio de nombres de destino

El propietario del espacio de nombres de destino crea el PVC subordinado para utilizar el origen de datos desde el PVC de origen.

Configurar los espacios de nombres de origen y destino

Para garantizar la seguridad, el uso compartido entre espacios de nombres requiere la colaboración y la acción del propietario del espacio de nombres de origen, el administrador de clúster y el propietario del espacio de nombres de destino. La función de usuario se designa en cada paso.

Pasos
  1. Propietario del espacio de nombres de origen: Crear el PVC (pvc1) en el espacio de nombres de origen que otorga permiso para compartir con el espacio de nombres de destino (namespace2) usando la shareToNamespace anotación.

    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 crea el VP y su volumen de almacenamiento NFS back-end.

    Nota
    • Puede compartir el PVC en varios espacios de nombres utilizando una lista delimitada por comas. Por ejemplo, trident.netapp.io/shareToNamespace: namespace2,namespace3,namespace4.

    • Puede compartir en todos los espacios de nombres utilizando *. Por ejemplo: trident.netapp.io/shareToNamespace: *

    • Puede actualizar la RVP para incluir la shareToNamespace anotación en cualquier momento.

  2. Administrador de clúster: cree la función personalizada y kubeconfig para conceder permiso al propietario del espacio de nombres de destino para crear el sistema TridentVolumeReference CR en el espacio de nombres de destino.

  3. Propietario del espacio de nombres de destino: Crear un CR de TridentVolumeReference en el espacio de nombres de destino que se refiere al espacio de nombres de origen pvc1.

    apiVersion: trident.netapp.io/v1
    kind: TridentVolumeReference
    metadata:
      name: my-first-tvr
      namespace: namespace2
    spec:
      pvcName: pvc1
      pvcNamespace: namespace1
  4. Propietario del espacio de nombres de destino: Crear un PVC (namespace2)(pvc2 en el espacio de nombres de destino ) Utilizando la shareFromPVC anotación para designar el PVC de origen.

    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 El tamaño del PVC de destino debe ser menor o igual que el PVC de origen.
Resultados

Astra Trident lee la shareFromPVC anotación en la RVP de destino y crea el VP de destino como un volumen subordinado sin ningún recurso de almacenamiento propio que apunte al VP de origen y comparta el recurso de almacenamiento VP de origen. La RVP y el VP de destino aparecen vinculados como normales.

Elimine un volumen compartido

Es posible eliminar un volumen que se comparte en varios espacios de nombres. Astra Trident eliminará el acceso al volumen en el espacio de nombres de origen y mantendrá el acceso a otros espacios de nombres que comparten el volumen. Cuando se eliminan todos los espacios de nombres que hacen referencia al volumen, Astra Trident elimina el volumen.

Se utiliza tridentctl get para consultar los volúmenes subordinados

Con[tridentctl la utilidad, se puede ejecutar get el comando para obtener volúmenes subordinados. Para obtener más información, consulte LINK:../Trident-reference/tridentctl.html[tridentctl commands and options].

Usage:
  tridentctl get [option]

Indicadores:

  • `-h, --help: Ayuda para volúmenes.

  • --parentOfSubordinate string: Limite la consulta al volumen fuente subordinado.

  • --subordinateOf string: Limite la consulta a los subordinados de volumen.

Limitaciones

  • Astra Trident no puede evitar que los espacios de nombres de destino se escriban en el volumen compartido. Se debe usar el bloqueo de archivos u otros procesos para evitar la sobrescritura de datos de volúmenes compartidos.

  • No puede revocar el acceso a la PVC de origen eliminando shareToNamespace las anotaciones o shareFromNamespace eliminando la TridentVolumeReference CR. Para revocar el acceso, debe eliminar el PVC subordinado.

  • Las snapshots, los clones y el mirroring no son posibles en los volúmenes subordinados.

Si quiere más información

Para obtener más información sobre el acceso de volúmenes entre espacios de nombres: