Google Cloud NetApp Volumes konfigurieren
Sie können Google Cloud NetApp Volumes als Backend für Trident konfigurieren, um Speicher für Kubernetes-Workloads bereitzustellen.
Überblick
Trident unterstützt Google Cloud NetApp Volumes sowohl für NAS- (NFS und SMB) als auch für Block-Workloads (iSCSI).
-
NAS-Workloads nutzen das
google-cloud-netapp-volumesBackend -
Block-Workloads (iSCSI) nutzen das
google-cloud-netapp-volumes-sanBackend
NAS-Volumes bieten dateibasierten Speicher und werden über NFS- oder SMB-Protokolle angesprochen. Diese Volumes unterstützen den gemeinsamen Zugriff durch mehrere Pods oder Knoten.
Block-Volumes bieten rohen Blockspeicher und werden als iSCSI-Geräte angesprochen, die an Kubernetes-Knoten angeschlossen sind. Diese Volumes werden verwendet, wenn Anwendungen Zugriff auf Blockebene benötigen.
Dies gilt für die folgenden Umgebungen:
-
Trident 26.02 und später
-
Google Kubernetes Engine (GKE) oder Red Hat OpenShift
-
Google Cloud NetApp Volumes-Speicherpools
Informationen zur Konfiguration von Block-Speicher (iSCSI) finden Sie unter Blockspeicher konfigurieren (iSCSI).
Konfiguration vorbereiten
Cloud Identity ermöglicht es Kubernetes-Workloads, auf Google Cloud-Ressourcen zuzugreifen, indem sie sich als Workload-Identität authentifizieren, anstatt statische Anmeldeinformationen zu verwenden.
Um Cloud Identity mit Google Cloud NetApp Volumes zu verwenden, müssen Sie Folgendes haben:
-
Ein mit Google Kubernetes Engine (GKE) bereitgestellter Kubernetes-Cluster
-
Workload-Identität im GKE-Cluster aktiviert und Metadatenserver auf den Knotenpools aktiviert
-
Ein Google Cloud-Dienstkonto mit der Google Cloud NetApp Volumes Admin-Rolle (
roles/netapp.adminoder einer entsprechenden benutzerdefinierten Rolle -
Trident wurde mit dem Cloud-Anbieter auf
GCPgesetzt und der Cloud-Identitätsannotation konfiguriert installiert
Um Trident mithilfe des Trident Operators zu installieren, bearbeiten Sie tridentorchestrator_cr.yaml:
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"
Legen Sie beim Installieren von Trident mit Helm den Cloud-Anbieter und die Cloud-Identität fest:
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"
Installieren Sie Trident, indem Sie den Cloud-Anbieter und die Cloud-Identität angeben:
tridentctl install \ --cloud-provider=GCP \ --cloud-identity="iam.gke.io/gcp-service-account: cloudvolumes-admin-sa@mygcpproject.iam.gserviceaccount.com" \ -n trident
NAS-Speicher konfigurieren
|
|
Für Google Cloud NetApp Volumes UNIFIED-Speicherpools wendet Trident während der Volume-Operationen UNIFIED-spezifische Namens- und Validierungsregeln an. |
Beim Auffinden eines Volumes kann Trident mehrere kompatible Varianten des Volumennamens (z. B. Bindestrich- und Unterstrichformate) auswerten, um die Zuverlässigkeit von Import und Erkennung zu verbessern.
Treiberdetails
Trident stellt den google-cloud-netapp-volumes Treiber zur Verfügung, um NAS-Speicher von Google Cloud NetApp Volumes bereitzustellen.
Der Treiber unterstützt die folgenden Zugriffsmodi:
-
ReadWriteOnce (RWO)
-
ReadOnlyMany (ROX)
-
ReadWriteMany (RWX)
-
ReadWriteOncePod (RWOP)
| Treiber | Protokoll | VolumeModus | Unterstützte Zugriffsmodi | Unterstützte Filesysteme |
|---|---|---|---|---|
|
NFS SMB |
Dateisystem |
RWO, ROX, RWX, RWOP |
|
Konfigurieren Sie ein Trident NAS-Backend
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>"
NAS-Volumen bereitstellen
NAS-Volumes werden mit dem google-cloud-netapp-volumes Backend bereitgestellt und unterstützen die Protokolle NFS und SMB.
StorageClass for NFS-Volumes
Um NFS-Volumes bereitzustellen, setzen Sie nasType auf 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 für SMB-Volumes
Um SMB-Volumes bereitzustellen, setzen Sie nasType auf smb und geben Sie die Anmeldeinformationen an.
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
PersistentVolumeClaim-Beispiel (RWX)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: gcnv-nas-rwx
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
storageClassName: gcnv-nfs
PersistentVolumeClaim-Beispiel (RWO)
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: gcnv-nas-rwo
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Gi
storageClassName: gcnv-nfs
|
|
NAS-Volumes verwenden volumeMode: Filesystem.
|