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.

Configurare un Cloud Volumes Service per il backend di Google Cloud

Collaboratori netapp-aruldeepa

Scopri come configurare NetApp Cloud Volumes Service per Google Cloud come backend per la tua installazione Trident utilizzando le configurazioni di esempio fornite.

Dettagli del driver Google Cloud

Trident fornisce il gcp-cvs driver per comunicare con il cluster. Le modalità di accesso supportate sono: ReadWriteOnce (RWO), ReadOnlyMany (ROX), ReadWriteMany (RWX), ReadWriteOncePod (RWOP).

Autista Protocollo Modalità volume Modalità di accesso supportate Sistemi di file supportati

gcp-cvs

NFS

File system

RWO, ROX, RWX, RWOP

nfs

Scopri di più sul supporto Trident per Cloud Volumes Service per Google Cloud

Trident può creare volumi Cloud Volumes Service in uno dei due"tipi di servizio" :

  • CVS-Performance: il tipo di servizio Trident predefinito. Questo tipo di servizio ottimizzato per le prestazioni è particolarmente adatto ai carichi di lavoro di produzione che danno valore alle prestazioni. Il tipo di servizio CVS-Performance è un'opzione hardware che supporta volumi con una dimensione minima di 100 GiB. Puoi scegliere uno dei"tre livelli di servizio" :

    • standard

    • premium

    • extreme

  • CVS: Il tipo di servizio CVS fornisce un'elevata disponibilità zonale con livelli di prestazioni da limitati a moderati. Il tipo di servizio CVS è un'opzione software che utilizza pool di archiviazione per supportare volumi piccoli fino a 1 GiB. Il pool di archiviazione può contenere fino a 50 volumi, tutti i quali condividono la capacità e le prestazioni del pool. Puoi scegliere uno dei"due livelli di servizio" :

    • standardsw

    • zoneredundantstandardsw

Cosa ti servirà

Per configurare e utilizzare il "Cloud Volumes Service per Google Cloud" backend, hai bisogno di quanto segue:

  • Un account Google Cloud configurato con il servizio NetApp Cloud Volumes Service

  • Numero di progetto del tuo account Google Cloud

  • Account di servizio Google Cloud con netappcloudvolumes.admin ruolo

  • File chiave API per il tuo account Cloud Volumes Service

Opzioni di configurazione del backend

Ogni backend esegue il provisioning dei volumi in una singola regione di Google Cloud. Per creare volumi in altre regioni, è possibile definire backend aggiuntivi.

Parametro Descrizione Predefinito

version

Sempre 1

storageDriverName

Nome del driver di archiviazione

"gcp-cvs"

backendName

Nome personalizzato o backend di archiviazione

Nome del driver + "_" + parte della chiave API

storageClass

Parametro facoltativo utilizzato per specificare il tipo di servizio CVS. Utilizzo software per selezionare il tipo di servizio CVS. In caso contrario, Trident presuppone il tipo di servizio CVS-Performance(hardware ).

storagePools

Solo tipo di servizio CVS. Parametro facoltativo utilizzato per specificare i pool di archiviazione per la creazione del volume.

projectNumber

Numero di progetto dell'account Google Cloud. Il valore si trova nella home page del portale Google Cloud.

hostProjectNumber

Obbligatorio se si utilizza una rete VPC condivisa. In questo scenario, projectNumber è il progetto di servizio, e hostProjectNumber è il progetto ospitante.

apiRegion

La regione di Google Cloud in cui Trident crea i volumi Cloud Volumes Service . Quando si creano cluster Kubernetes interregionali, i volumi creati in un apiRegion può essere utilizzato nei carichi di lavoro pianificati sui nodi in più regioni di Google Cloud. Il traffico interregionale comporta un costo aggiuntivo.

apiKey

Chiave API per l'account del servizio Google Cloud con netappcloudvolumes.admin ruolo. Include il contenuto in formato JSON del file della chiave privata di un account di servizio Google Cloud (copiato letteralmente nel file di configurazione del backend).

proxyURL

URL proxy se è necessario un server proxy per connettersi all'account CVS. Il server proxy può essere un proxy HTTP o un proxy HTTPS. Per un proxy HTTPS, la convalida del certificato viene ignorata per consentire l'utilizzo di certificati autofirmati nel server proxy. I server proxy con autenticazione abilitata non sono supportati.

nfsMountOptions

Controllo dettagliato delle opzioni di montaggio NFS.

"nfsvers=3"

limitVolumeSize

Il provisioning non riesce se la dimensione del volume richiesto è superiore a questo valore.

"" (non applicato di default)

serviceLevel

Il livello di servizio CVS-Performance o CVS per i nuovi volumi. I valori CVS-Performance sono standard , premium , O extreme . I valori CVS sono standardsw O zoneredundantstandardsw .

L'impostazione predefinita di CVS-Performance è "standard". L'impostazione predefinita di CVS è "standardsw".

network

Rete Google Cloud utilizzata per i volumi Cloud Volumes Service .

"predefinito"

debugTraceFlags

Flag di debug da utilizzare durante la risoluzione dei problemi. Esempio, \{"api":false, "method":true} . Non utilizzare questa funzione a meno che non si desideri risolvere un problema e richiedere un dump dettagliato del registro.

null

allowedTopologies

Per abilitare l'accesso tra regioni, la definizione StorageClass per allowedTopologies deve includere tutte le regioni. Per esempio:
- key: topology.kubernetes.io/region
values:
- us-east1
- europe-west1

Opzioni di provisioning del volume

È possibile controllare il provisioning del volume predefinito in defaults sezione del file di configurazione.

Parametro Descrizione Predefinito

exportRule

Le regole di esportazione per i nuovi volumi. Deve essere un elenco separato da virgole di qualsiasi combinazione di indirizzi IPv4 o subnet IPv4 in notazione CIDR.

"0.0.0.0/0"

snapshotDir

Accesso al .snapshot elenco

"falso"

snapshotReserve

Percentuale di volume riservata agli snapshot

"" (accetta il valore predefinito CVS pari a 0)

size

Le dimensioni dei nuovi volumi. Il requisito minimo per le prestazioni CVS è 100 GiB. Il minimo CVS è 1 GiB.

Il tipo di servizio CVS-Performance è impostato per impostazione predefinita su "100GiB". Il tipo di servizio CVS non imposta un valore predefinito ma richiede almeno 1 GiB.

Esempi di tipi di servizio CVS-Performance

Gli esempi seguenti forniscono configurazioni di esempio per il tipo di servizio CVS-Performance.

Esempio 1: Configurazione minima

Questa è la configurazione minima del backend che utilizza il tipo di servizio CVS-Performance predefinito con il livello di servizio "standard" predefinito.

---
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
Esempio 2: Configurazione del livello di servizio

Questo esempio illustra le opzioni di configurazione del backend, tra cui il livello di servizio e i valori predefiniti del volume.

---
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
Esempio 3: Configurazione del pool virtuale

Questo campione utilizza storage per configurare pool virtuali e StorageClasses che rimandano ad essi. Fare riferimento aDefinizioni delle classi di archiviazione per vedere come sono state definite le classi di archiviazione.

Qui vengono impostati valori predefiniti specifici per tutti i pool virtuali, che impostano il snapshotReserve al 5% e il exportRule a 0.0.0.0/0. I pool virtuali sono definiti nel storage sezione. Ogni singolo pool virtuale definisce il proprio serviceLevel e alcuni pool sovrascrivono i valori predefiniti. Le etichette dei pool virtuali sono state utilizzate per differenziare i pool in base a performance E 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

Definizioni delle classi di archiviazione

Le seguenti definizioni StorageClass si applicano all'esempio di configurazione del pool virtuale. Utilizzando parameters.selector , è possibile specificare per ogni StorageClass il pool virtuale utilizzato per ospitare un volume. Il volume avrà gli aspetti definiti nel pool scelto.

Esempio di classe di archiviazione
---
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
  • Il primo StorageClass(cvs-extreme-extra-protection ) corrisponde al primo pool virtuale. Questa è l'unica piscina che offre prestazioni estreme con una riserva istantanea del 10%.

  • L'ultima StorageClass(cvs-extra-protection ) richiama qualsiasi pool di archiviazione che fornisca una riserva di snapshot del 10%. Trident decide quale pool virtuale selezionare e garantisce che venga soddisfatto il requisito di riserva degli snapshot.

Esempi di tipi di servizio CVS

Gli esempi seguenti forniscono configurazioni di esempio per il tipo di servizio CVS.

Esempio 1: Configurazione minima

Questa è la configurazione minima del backend utilizzando storageClass per specificare il tipo di servizio CVS e quello predefinito standardsw livello di servizio.

---
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
Esempio 2: Configurazione del pool di archiviazione

Questa configurazione di backend di esempio utilizza storagePools per configurare un pool di archiviazione.

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

Cosa succederà ora?

Dopo aver creato il file di configurazione del backend, eseguire il seguente comando:

tridentctl create backend -f <backend-file>

Se la creazione del backend fallisce, c'è qualcosa che non va nella configurazione del backend. È possibile visualizzare i registri per determinare la causa eseguendo il seguente comando:

tridentctl logs

Dopo aver identificato e corretto il problema con il file di configurazione, è possibile eseguire nuovamente il comando create.