Skip to main content
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Konfigurieren eines Cloud Volumes Service für das Google Cloud-Backend

Beitragende netapp-aruldeepa

Erfahren Sie anhand der bereitgestellten Beispielkonfigurationen, wie Sie den NetApp Cloud Volumes Service für Google Cloud als Backend für Ihre Trident -Installation konfigurieren.

Details zum Google Cloud-Treiber

Trident bietet die gcp-cvs Der Treiber soll mit dem Cluster kommunizieren. Unterstützte Zugriffsmodi sind: ReadWriteOnce (RWO), ReadOnlyMany (ROX), ReadWriteMany (RWX), ReadWriteOncePod (RWOP).

Treiber Protokoll Lautstärkemodus Unterstützte Zugriffsmodi Unterstützte Dateisysteme

gcp-cvs

NFS

Dateisystem

RWO, ROX, RWX, RWOP

nfs

Erfahren Sie mehr über die Trident Unterstützung für den Cloud Volumes Service für Google Cloud.

Trident kann Cloud Volumes Service Volumes in einem von zwei Formaten erstellen."Servicearten" :

  • CVS-Performance: Der standardmäßige Trident Diensttyp. Dieser leistungsoptimierte Servicetyp eignet sich am besten für Produktionsworkloads, bei denen Leistung wichtig ist. Der Servicetyp CVS-Performance ist eine Hardwareoption, die Volumes mit einer Mindestgröße von 100 GiB unterstützt. Sie können eines auswählen"drei Serviceebenen" :

    • standard

    • premium

    • extreme

  • CVS: Der CVS-Diensttyp bietet eine hohe zonale Verfügbarkeit bei begrenzter bis mäßiger Leistungsfähigkeit. Der CVS-Diensttyp ist eine Softwareoption, die Speicherpools nutzt, um Datenmengen ab 1 GiB zu unterstützen. Der Speicherpool kann bis zu 50 Volumes enthalten, wobei sich alle Volumes die Kapazität und Leistung des Pools teilen. Sie können eines auswählen"zwei Serviceebenen" :

    • standardsw

    • zoneredundantstandardsw

Was du brauchst

Um die "Cloud Volumes Service für Google Cloud" Im Backend benötigen Sie Folgendes:

  • Ein mit dem NetApp Cloud Volumes Service konfiguriertes Google Cloud-Konto

  • Projektnummer Ihres Google Cloud-Kontos

  • Google Cloud-Dienstkonto mit dem netappcloudvolumes.admin Rolle

  • API-Schlüsseldatei für Ihr Cloud Volumes Service -Konto

Backend-Konfigurationsoptionen

Jedes Backend stellt Volumes in einer einzelnen Google Cloud-Region bereit. Um Volumes in anderen Regionen zu erstellen, können Sie zusätzliche Backends definieren.

Parameter Beschreibung Standard

version

Immer 1

storageDriverName

Name des Speichertreibers

"gcp-cvs"

backendName

Benutzerdefinierter Name oder das Speicher-Backend

Fahrername + "_" + Teil des API-Schlüssels

storageClass

Optionaler Parameter zur Angabe des CVS-Diensttyps. Verwenden software um den CVS-Diensttyp auszuwählen. Andernfalls geht Trident vom Diensttyp CVS-Performance aus.(hardware ).

storagePools

Nur CVS-Dienstleistungstyp. Optionaler Parameter zur Angabe von Speicherpools für die Volume-Erstellung.

projectNumber

Google Cloud-Konto-Projektnummer. Den Wert finden Sie auf der Startseite des Google Cloud-Portals.

hostProjectNumber

Erforderlich bei Verwendung eines gemeinsam genutzten VPC-Netzwerks. In diesem Szenario projectNumber ist das Serviceprojekt, und hostProjectNumber ist das Host-Projekt.

apiRegion

Die Google Cloud-Region, in der Trident Cloud Volumes Service Volumes erstellt. Beim Erstellen regionsübergreifender Kubernetes-Cluster werden Volumes, die in einem apiRegion kann in Workloads verwendet werden, die auf Knoten in mehreren Google Cloud-Regionen geplant sind. Für den Verkehr über Regionen hinweg fallen zusätzliche Kosten an.

apiKey

API-Schlüssel für das Google Cloud-Dienstkonto mit dem netappcloudvolumes.admin Rolle. Sie enthält den JSON-formatierten Inhalt der privaten Schlüsseldatei eines Google Cloud-Dienstkontos (wörtlich in die Backend-Konfigurationsdatei kopiert).

proxyURL

Proxy-URL, falls ein Proxy-Server zur Verbindung mit dem CVS-Konto erforderlich ist. Der Proxy-Server kann entweder ein HTTP-Proxy oder ein HTTPS-Proxy sein. Bei einem HTTPS-Proxy wird die Zertifikatsvalidierung übersprungen, um die Verwendung selbstsignierter Zertifikate auf dem Proxy-Server zu ermöglichen. Proxyserver mit aktivierter Authentifizierung werden nicht unterstützt.

nfsMountOptions

Feingranulare Steuerung der NFS-Mount-Optionen.

"nfsvers=3"

limitVolumeSize

Die Bereitstellung schlägt fehl, wenn die angeforderte Volume-Größe diesen Wert überschreitet.

"" (wird nicht standardmäßig erzwungen)

serviceLevel

Die CVS-Performance- oder CVS-Serviceebene für neue Volumina. Die CVS-Performance-Werte sind standard , premium , oder extreme . CVS-Werte sind standardsw oder zoneredundantstandardsw .

Die Standardeinstellung für CVS-Performance ist "Standard". Der CVS-Standardwert ist "standardsw".

network

Das Google Cloud-Netzwerk wird für Cloud Volumes Service Volumes verwendet.

"Standard"

debugTraceFlags

Debug-Flags zur Verwendung bei der Fehlersuche. Beispiel, \{"api":false, "method":true} . Verwenden Sie diese Funktion nur, wenn Sie eine Fehlerbehebung durchführen und einen detaillierten Protokollauszug benötigen.

null

allowedTopologies

Um regionsübergreifenden Zugriff zu ermöglichen, muss Ihre StorageClass-Definition für allowedTopologies muss alle Regionen umfassen. Zum Beispiel:
- key: topology.kubernetes.io/region
values:
- us-east1
- europe-west1

Volumenbereitstellungsoptionen

Sie können die Standard-Volume-Bereitstellung in der defaults Abschnitt der Konfigurationsdatei.

Parameter Beschreibung Standard

exportRule

Die Ausfuhrbestimmungen für neue Bände. Es muss sich um eine durch Kommas getrennte Liste beliebiger Kombinationen von IPv4-Adressen oder IPv4-Subnetzen in CIDR-Notation handeln.

"0.0.0.0/0"

snapshotDir

Zugang zu .snapshot Verzeichnis

"FALSCH"

snapshotReserve

Prozentsatz des für Snapshots reservierten Speichervolumens

"" (CVS-Standardwert 0 akzeptieren)

size

Der Umfang der neuen Bände. Die Mindestgröße für CVS-Performance beträgt 100 GiB. Die Mindestgröße für CVS beträgt 1 GiB.

Der CVS-Performance-Diensttyp ist standardmäßig auf „100 GiB“ eingestellt. Der CVS-Diensttyp legt keinen Standardwert fest, erfordert aber ein Minimum von 1 GiB.

Beispiele für CVS-Performance-Diensttypen

Die folgenden Beispiele enthalten Beispielkonfigurationen für den Diensttyp CVS-Performance.

Beispiel 1: Minimale Konfiguration

Dies ist die minimale Backend-Konfiguration unter Verwendung des Standard-CVS-Performance-Diensttyps mit dem Standard-Dienstlevel „standard“.

---
version: 1
storageDriverName: gcp-cvs
projectNumber: "012345678901"
apiRegion: us-west2
apiKey:
  type: service_account
  project_id: my-gcp-project
  private_key_id: <id_value>
  private_key: |
    -----BEGIN PRIVATE KEY-----
    <key_value>
    -----END PRIVATE KEY-----
  client_email: cloudvolumes-admin-sa@my-gcp-project.iam.gserviceaccount.com
  client_id: "123456789012345678901"
  auth_uri: https://accounts.google.com/o/oauth2/auth
  token_uri: https://oauth2.googleapis.com/token
  auth_provider_x509_cert_url: https://www.googleapis.com/oauth2/v1/certs
  client_x509_cert_url: https://www.googleapis.com/robot/v1/metadata/x509/cloudvolumes-admin-sa%40my-gcp-project.iam.gserviceaccount.com
Beispiel 2: Konfiguration auf Serviceebene

Dieses Beispiel veranschaulicht die Backend-Konfigurationsoptionen, einschließlich Servicelevel und Volumenstandardeinstellungen.

---
version: 1
storageDriverName: gcp-cvs
projectNumber: '012345678901'
apiRegion: us-west2
apiKey:
  type: service_account
  project_id: my-gcp-project
  private_key_id: "<id_value>"
  private_key: |
    -----BEGIN PRIVATE KEY-----
    <key_value>
    -----END PRIVATE KEY-----
  client_email: cloudvolumes-admin-sa@my-gcp-project.iam.gserviceaccount.com
  client_id: '123456789012345678901'
  auth_uri: https://accounts.google.com/o/oauth2/auth
  token_uri: https://oauth2.googleapis.com/token
  auth_provider_x509_cert_url: https://www.googleapis.com/oauth2/v1/certs
  client_x509_cert_url: https://www.googleapis.com/robot/v1/metadata/x509/cloudvolumes-admin-sa%40my-gcp-project.iam.gserviceaccount.com
proxyURL: http://proxy-server-hostname/
nfsMountOptions: vers=3,proto=tcp,timeo=600
limitVolumeSize: 10Ti
serviceLevel: premium
defaults:
  snapshotDir: 'true'
  snapshotReserve: '5'
  exportRule: 10.0.0.0/24,10.0.1.0/24,10.0.2.100
  size: 5Ti
Beispiel 3: Konfiguration eines virtuellen Pools

Dieses Beispiel verwendet storage virtuelle Pools und die StorageClasses die sich auf sie beziehen. SieheSpeicherklassendefinitionen um zu sehen, wie die Speicherklassen definiert wurden.

Hier werden spezifische Standardwerte für alle virtuellen Pools festgelegt, die die snapshotReserve bei 5 % und der exportRule zu 0.0.0.0/0. Die virtuellen Pools sind definiert in der storage Abschnitt. Jeder einzelne virtuelle Pool definiert seine eigenen serviceLevel und einige Pools überschreiben die Standardwerte. Virtuelle Poolbezeichnungen wurden verwendet, um die Pools anhand folgender Kriterien zu unterscheiden: performance Und protection .

---
version: 1
storageDriverName: gcp-cvs
projectNumber: '012345678901'
apiRegion: us-west2
apiKey:
  type: service_account
  project_id: my-gcp-project
  private_key_id: "<id_value>"
  private_key: |
    -----BEGIN PRIVATE KEY-----
    <key_value>
    -----END PRIVATE KEY-----
  client_email: cloudvolumes-admin-sa@my-gcp-project.iam.gserviceaccount.com
  client_id: '123456789012345678901'
  auth_uri: https://accounts.google.com/o/oauth2/auth
  token_uri: https://oauth2.googleapis.com/token
  auth_provider_x509_cert_url: https://www.googleapis.com/oauth2/v1/certs
  client_x509_cert_url: https://www.googleapis.com/robot/v1/metadata/x509/cloudvolumes-admin-sa%40my-gcp-project.iam.gserviceaccount.com
nfsMountOptions: vers=3,proto=tcp,timeo=600
defaults:
  snapshotReserve: '5'
  exportRule: 0.0.0.0/0
labels:
  cloud: gcp
region: us-west2
storage:
- labels:
    performance: extreme
    protection: extra
  serviceLevel: extreme
  defaults:
    snapshotDir: 'true'
    snapshotReserve: '10'
    exportRule: 10.0.0.0/24
- labels:
    performance: extreme
    protection: standard
  serviceLevel: extreme
- labels:
    performance: premium
    protection: extra
  serviceLevel: premium
  defaults:
    snapshotDir: 'true'
    snapshotReserve: '10'
- labels:
    performance: premium
    protection: standard
  serviceLevel: premium
- labels:
    performance: standard
  serviceLevel: standard

Speicherklassendefinitionen

Die folgenden StorageClass-Definitionen gelten für das Konfigurationsbeispiel des virtuellen Pools. Verwenden parameters.selector Sie können für jede StorageClass den virtuellen Pool angeben, der zum Hosten eines Volumes verwendet wird. Das Volumen wird die im gewählten Pool definierten Aspekte aufweisen.

Beispiel für eine Speicherklasse
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cvs-extreme-extra-protection
provisioner: csi.trident.netapp.io
parameters:
  selector: performance=extreme; protection=extra
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cvs-extreme-standard-protection
provisioner: csi.trident.netapp.io
parameters:
  selector: performance=premium; protection=standard
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cvs-premium-extra-protection
provisioner: csi.trident.netapp.io
parameters:
  selector: performance=premium; protection=extra
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cvs-premium
provisioner: csi.trident.netapp.io
parameters:
  selector: performance=premium; protection=standard
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cvs-standard
provisioner: csi.trident.netapp.io
parameters:
  selector: performance=standard
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cvs-extra-protection
provisioner: csi.trident.netapp.io
parameters:
  selector: protection=extra
allowVolumeExpansion: true
  • Die erste Speicherklasse(cvs-extreme-extra-protection ) wird dem ersten virtuellen Pool zugeordnet. Dies ist der einzige Pool, der extreme Leistung mit einer Momentaufnahme-Reserve von 10% bietet.

  • Die letzte Speicherklasse(cvs-extra-protection ) kennzeichnet jeden Speicherpool, der eine Snapshot-Reserve von 10% bereitstellt. Trident entscheidet, welcher virtuelle Pool ausgewählt wird und stellt sicher, dass die Snapshot-Reservierungsanforderung erfüllt wird.

Beispiele für CVS-Diensttypen

Die folgenden Beispiele enthalten Beispielkonfigurationen für den CVS-Diensttyp.

Beispiel 1: Minimale Konfiguration

Dies ist die minimale Backend-Konfiguration mit storageClass um den CVS-Diensttyp und den Standardwert anzugeben standardsw Servicelevel.

---
version: 1
storageDriverName: gcp-cvs
projectNumber: '012345678901'
storageClass: software
apiRegion: us-east4
apiKey:
  type: service_account
  project_id: my-gcp-project
  private_key_id: "<id_value>"
  private_key: |
    -----BEGIN PRIVATE KEY-----
    <key_value>
    -----END PRIVATE KEY-----
  client_email: cloudvolumes-admin-sa@my-gcp-project.iam.gserviceaccount.com
  client_id: '123456789012345678901'
  auth_uri: https://accounts.google.com/o/oauth2/auth
  token_uri: https://oauth2.googleapis.com/token
  auth_provider_x509_cert_url: https://www.googleapis.com/oauth2/v1/certs
  client_x509_cert_url: https://www.googleapis.com/robot/v1/metadata/x509/cloudvolumes-admin-sa%40my-gcp-project.iam.gserviceaccount.com
serviceLevel: standardsw
Beispiel 2: Konfiguration des Speicherpools

Diese Beispielkonfiguration für das Backend verwendet storagePools einen Speicherpool konfigurieren.

---
version: 1
storageDriverName: gcp-cvs
backendName: gcp-std-so-with-pool
projectNumber: '531265380079'
apiRegion: europe-west1
apiKey:
  type: service_account
  project_id: cloud-native-data
  private_key_id: "<id_value>"
  private_key: |-
    -----BEGIN PRIVATE KEY-----
    <key_value>
    -----END PRIVATE KEY-----
  client_email: cloudvolumes-admin-sa@cloud-native-data.iam.gserviceaccount.com
  client_id: '107071413297115343396'
  auth_uri: https://accounts.google.com/o/oauth2/auth
  token_uri: https://oauth2.googleapis.com/token
  auth_provider_x509_cert_url: https://www.googleapis.com/oauth2/v1/certs
  client_x509_cert_url: https://www.googleapis.com/robot/v1/metadata/x509/cloudvolumes-admin-sa%40cloud-native-data.iam.gserviceaccount.com
storageClass: software
zone: europe-west1-b
network: default
storagePools:
- 1bc7f380-3314-6005-45e9-c7dc8c2d7509
serviceLevel: Standardsw

Wie geht es weiter?

Nachdem Sie die Backend-Konfigurationsdatei erstellt haben, führen Sie folgenden Befehl aus:

tridentctl create backend -f <backend-file>

Wenn die Backend-Erstellung fehlschlägt, stimmt etwas mit der Backend-Konfiguration nicht. Sie können die Protokolle einsehen, um die Ursache zu ermitteln, indem Sie folgenden Befehl ausführen:

tridentctl logs

Nachdem Sie das Problem mit der Konfigurationsdatei identifiziert und behoben haben, können Sie den Befehl zum Erstellen erneut ausführen.