Skip to main content
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.

Configura Google Cloud NetApp Volumes para cargas de trabajo NAS

Colaboradores netapp-aruldeepa joan-ing netapp-mwallis

Puedes configurar Google Cloud NetApp Volumes como backend para que Trident aprovisione volúmenes de almacenamiento basados en archivos. Trident puede adjuntar volúmenes NFS y SMB usando un backend de Google Cloud NetApp Volumes.

Trident utiliza backends separados para cargas de trabajo NAS y SAN en Google Cloud NetApp Volumes. El google-cloud-netapp-volumes backend admite solo protocolos basados en archivos y no se puede utilizar para aprovisionar volúmenes iSCSI.

Para aprovisionar volúmenes de bloques iSCSI, usa el google-cloud-netapp-volumes-san backend, que es un tipo de backend independiente diseñado específicamente para cargas de trabajo SAN.

Volúmenes NAS y volúmenes de bloques iSCSI

Google Cloud NetApp Volumes es compatible tanto con NAS como con el almacenamiento en bloque, que difieren en cómo las aplicaciones acceden y gestionan los datos.

Los volúmenes NAS proporcionan almacenamiento basado en archivos y se accede a ellos a través de protocolos de archivos estándar como NFS o SMB. Los volúmenes se montan como sistemas de archivos compartidos y admiten el acceso simultáneo desde varios pods o nodos.

Los volúmenes de bloques iSCSI proporcionan almacenamiento en bloque sin procesar y se accede a ellos como dispositivos de bloques conectados a nodos Kubernetes. El almacenamiento en bloque se utiliza normalmente cuando las cargas de trabajo requieren acceso a nivel de bloque o un comportamiento de E/S gestionado por la aplicación.

Esto se aplica a los siguientes entornos:

  • Trident 26.02 y posteriores

  • Google Kubernetes Engine (GKE)

  • Google Cloud NetApp Volumes pools NAS

  • Cargas de trabajo NFS y SMB

Para cargas de trabajo en bloque (iSCSI), mira Configura el almacenamiento en bloque (iSCSI).

Detalles del controlador de Google Cloud NetApp Volumes

Trident proporciona el google-cloud-netapp-volumes controlador para aprovisionar almacenamiento NAS desde Google Cloud NetApp Volumes.

El controlador admite los siguientes modos de acceso:

  • ReadWriteOnce (RWO)

  • ReadOnlyMany (ROX)

  • ReadWriteMany (RWX)

  • ReadWriteOncePod (RWOP)

Controlador Protocolo VolumeMode Modos de acceso compatibles Sistemas de archivos compatibles

google-cloud-netapp-volumes

NFS SMB

Sistema de archivos

RWO, ROX, RWX, RWOP

nfs, smb

Identidad en la nube para Google Kubernetes Engine

Cloud identity permite que las cargas de trabajo de Kubernetes accedan a los recursos de Google Cloud autenticándose como una identidad de carga de trabajo en vez de usar credenciales estáticas de Google Cloud.

Para usar la identidad en la nube con Google Cloud NetApp Volumes, debes tener:

  • Un clúster de Kubernetes desplegado usando Google Kubernetes Engine (GKE)

  • Identidad de carga de trabajo habilitada en el clúster GKE y el servidor de metadatos habilitado en los grupos de nodos

  • Una cuenta de servicio de Google Cloud con la función de Google Cloud NetApp Volumes Admin (roles/netapp.admin) o una función personalizada equivalente

  • Trident instalado con el cloud provider establecido en GCP y la cloud identity annotation configurada

Operador de Trident

Para instalar Trident usando el operador Trident, edita tridentorchestrator_cr.yaml para establecer cloudProvider en GCP y cloudIdentity en la cuenta de servicio de GKE.

apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
  name: trident
spec:
  namespace: trident
  cloudProvider: "GCP"
  cloudIdentity: "iam.gke.io/gcp-service-account: cloudvolumes-admin-sa@mygcpproject.iam.gserviceaccount.com"
Timón

Configura el proveedor de la nube y la identidad de la nube cuando instales Trident con Helm.

helm install trident trident-operator-100.6.0.tgz \
  --set cloudProvider=GCP \
  --set cloudIdentity="iam.gke.io/gcp-service-account: cloudvolumes-admin-sa@mygcpproject.iam.gserviceaccount.com"
tridentctl

Instala Trident especificando el proveedor de la nube y la identidad de la nube.

tridentctl install \
  --cloud-provider=GCP \
  --cloud-identity="iam.gke.io/gcp-service-account: cloudvolumes-admin-sa@mygcpproject.iam.gserviceaccount.com" \
  -n trident

Configura un backend NAS Trident

apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
  name: gcnv-nas
  namespace: trident
spec:
  version: 1
  storageDriverName: google-cloud-netapp-volumes
  projectNumber: "<project-number>"
  location: "<region>"
  sdkTimeout: "600"
  storage:
  - labels:
      cloud: gcp
    network: "<vpc-network>"

Aprovisionar volúmenes NAS

Los volúmenes NAS se aprovisionan usando el google-cloud-netapp-volumes backend y son compatibles con los protocolos NFS y SMB.

StorageClass para volúmenes NFS

Para aprovisionar volúmenes NFS, establece nasType en nfs.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: gcnv-nfs
provisioner: csi.trident.netapp.io
parameters:
  backendType: "google-cloud-netapp-volumes"
  trident.netapp.io/nasType: "nfs"
allowVolumeExpansion: true

StorageClass para volúmenes SMB

Usando nasType, csi.storage.k8s.io/node-stage-secret-name y csi.storage.k8s.io/node-stage-secret-namespace, puedes especificar un volumen SMB y proporcionar las credenciales de Active Directory necesarias.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: gcnv-smb
provisioner: csi.trident.netapp.io
parameters:
  backendType: "google-cloud-netapp-volumes"
  trident.netapp.io/nasType: "smb"
  csi.storage.k8s.io/node-stage-secret-name: "smbcreds"
  csi.storage.k8s.io/node-stage-secret-namespace: "default"
allowVolumeExpansion: true

Ejemplo de PersistentVolumeClaim (RWX)

Los volúmenes NAS admiten el acceso simultáneo y suelen aprovisionarse con ReadWriteMany.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: gcnv-nas-rwx
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 100Gi
  storageClassName: gcnv-nfs

Ejemplo de PersistentVolumeClaim (RWO)

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: gcnv-nas-rwo
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100Gi
  storageClassName: gcnv-nfs
Nota Los volúmenes NAS usan volumeMode: Filesystem.