Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Configura Google Cloud NetApp Volumes per carichi di lavoro NAS

Collaboratori netapp-aruldeepa joan-ing netapp-mwallis

È possibile configurare Google Cloud NetApp Volumes come backend per Trident per effettuare il provisioning di volumi di storage basati su file. Trident può collegare volumi NFS e SMB utilizzando un backend Google Cloud NetApp Volumes.

Nota Trident utilizza backend separati per i carichi di lavoro NAS e SAN in Google Cloud NetApp Volumes. Il google-cloud-netapp-volumes backend supporta solo protocolli basati su file e non può essere utilizzato per il provisioning di volumi iSCSI.
Nota Per eseguire il provisioning dei volumi di storage a blocchi iSCSI, utilizzare il google-cloud-netapp-volumes-san backend, che è un tipo di backend separato progettato specificamente per i carichi di lavoro SAN.

Volumi NAS e volumi a blocchi iSCSI

Google Cloud NetApp Volumes supporta sia NAS che storage a blocchi, che differiscono nel modo in cui le applicazioni accedono e gestiscono i dati.

I volumi NAS forniscono storage basato su file e sono accessibili tramite protocolli file standard come NFS o SMB. I volumi vengono montati come file system condivisi e supportano l'accesso simultaneo da più pod o nodi.

I volumi a blocchi iSCSI forniscono storage a blocchi raw e sono accessibili come dispositivi a blocchi collegati ai nodi Kubernetes. Lo storage a blocchi viene in genere utilizzato quando i carichi di lavoro richiedono l'accesso a livello di blocco o un comportamento di I/O gestito dall'applicazione.

Ciò si applica ai seguenti ambienti:

  • Trident 26.02 e versioni successive

  • Google Kubernetes Engine (GKE) o Red Hat OpenShift

  • Pool NAS di Google Cloud NetApp Volumes

  • Carichi di lavoro NFS e SMB

Per i carichi di lavoro a blocchi (iSCSI), vedere Configurare storage a blocchi (iSCSI).

Dettagli del driver di Google Cloud NetApp Volumes

Trident fornisce il google-cloud-netapp-volumes driver per il provisioning dello storage NAS da Google Cloud NetApp Volumes.

Il driver supporta le seguenti modalità di accesso:

  • ReadWriteOnce (RWO)

  • ReadOnlyMany (ROX)

  • ReadWriteMany (RWX)

  • ReadWriteOncePod (RWOP)

Driver Protocollo VolumeMode Modalità di accesso supportate File system supportati

google-cloud-netapp-volumes

NFS PMI

Filesystem

RWO, ROX, RWX, RWOP

nfs, smb

Identità cloud per Google Kubernetes Engine

Cloud identity consente ai carichi di lavoro Kubernetes di accedere alle risorse Google Cloud autenticandosi come identità del carico di lavoro invece di utilizzare credenziali statiche Google Cloud.

Per utilizzare cloud identity con Google Cloud NetApp Volumes, è necessario disporre di:

  • Un cluster Kubernetes distribuito utilizzando Google Kubernetes Engine (GKE)

  • Identità del carico di lavoro abilitata sul cluster GKE e server dei metadati abilitato sui pool di nodi

  • Un account di servizio Google Cloud con il ruolo di amministratore di Google Cloud NetApp Volumes (roles/netapp.admin) o un ruolo personalizzato equivalente

  • Trident installato con il cloud provider impostato su GCP e l'annotazione dell'identità cloud configurata

Operatore Trident

Per installare Trident utilizzando l'operatore Trident, modifica tridentorchestrator_cr.yaml per impostare cloudProvider su GCP e cloudIdentity sull'account del servizio 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"
Timone

Imposta il cloud provider e l'identità cloud durante l'installazione di 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

Installa Trident specificando il cloud provider e l'identità cloud.

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

Configurare 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>"

Effettuare il provisioning dei volumi NAS

I volumi NAS vengono forniti tramite il backend google-cloud-netapp-volumes e supportano i protocolli NFS e SMB.

StorageClass per volumi NFS

Per eseguire il provisioning dei volumi NFS, impostare nasType su 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 for volumi SMB

Utilizzando nasType, csi.storage.k8s.io/node-stage-secret-name`e `csi.storage.k8s.io/node-stage-secret-namespace, è possibile specificare un volume SMB e fornire le credenziali Active Directory richieste.

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

Esempio di PersistentVolumeClaim (RWX)

I volumi NAS supportano l'accesso simultaneo e sono comunemente forniti con ReadWriteMany.

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

Esempio di PersistentVolumeClaim (RWO)

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: gcnv-nas-rwo
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100Gi
  storageClassName: gcnv-nfs
Nota I volumi NAS utilizzano volumeMode: Filesystem.