Opzioni di configurazione back-end Azure NetApp Files ed esempi
Scopri le opzioni di configurazione backend NFS e SMB per ANF e consulta gli esempi di configurazione.
Opzioni di configurazione back-end
Astra Trident utilizza la configurazione del backend (subnet, rete virtuale, livello di servizio e posizione) per creare volumi ANF su pool di capacità disponibili nella posizione richiesta e corrispondenti al livello di servizio e alla subnet richiesti.
|  | Astra Trident non supporta i pool di capacità QoS manuali. | 
I back-end FORNISCONO queste opzioni di configurazione.
| Parametro | Descrizione | Predefinito | 
|---|---|---|
| 
 | Sempre 1 | |
| 
 | Nome del driver di storage | "azure-netapp-files" | 
| 
 | Nome personalizzato o backend dello storage | Nome del driver + "_" + caratteri casuali | 
| 
 | L'ID dell'abbonamento dell'abbonamento Azure | |
| 
 | L'ID tenant di una registrazione app | |
| 
 | L'ID client di una registrazione dell'applicazione | |
| 
 | Il segreto del client da una registrazione dell'applicazione | |
| 
 | Uno di  | "" (casuale) | 
| 
 | Nome della posizione di Azure in cui verranno creati i nuovi volumi | |
| 
 | Elenco dei gruppi di risorse per filtrare le risorse rilevate | "[]" (nessun filtro) | 
| 
 | Elenco degli account NetApp per il filtraggio delle risorse rilevate | "[]" (nessun filtro) | 
| 
 | Elenco dei pool di capacità per filtrare le risorse rilevate | "[]" (nessun filtro, casuale) | 
| 
 | Nome di una rete virtuale con una subnet delegata | "" | 
| 
 | Nome di una subnet delegata a.  | "" | 
| 
 | Serie di funzionalità VNET per un volume, potrebbe essere  | "" | 
| 
 | Controllo dettagliato delle opzioni di montaggio NFS. | "nfsvers=3" | 
| 
 | Il provisioning non riesce se le dimensioni del volume richiesto sono superiori a questo valore | "" (non applicato per impostazione predefinita) | 
| 
 | Flag di debug da utilizzare per la risoluzione dei problemi. Esempio,  | nullo | 
| 
 | Configurare la creazione di volumi NFS o SMB. | 
 | 
|  | Per ulteriori informazioni sulle funzioni di rete, fare riferimento a. "Configurare le funzionalità di rete per un volume Azure NetApp Files". | 
Autorizzazioni e risorse richieste
Se durante la creazione di un PVC viene visualizzato il messaggio di errore "Nessun pool di capacità trovato", è probabile che la registrazione dell'applicazione non disponga delle autorizzazioni e delle risorse necessarie (subnet, rete virtuale, pool di capacità). Se il debug è attivato, Astra Trident registra le risorse Azure rilevate al momento della creazione del backend. Verificare che venga utilizzato un ruolo appropriato.
I valori per resourceGroups, netappAccounts, capacityPools, virtualNetwork, e. subnet può essere specificato utilizzando nomi brevi o completi. Nella maggior parte dei casi, si consiglia di utilizzare nomi completi, in quanto i nomi brevi possono corrispondere a più risorse con lo stesso nome.
Il resourceGroups, netappAccounts, e. capacityPools i valori sono filtri che limitano l'insieme di risorse rilevate a quelle disponibili per questo backend di storage e possono essere specificati in qualsiasi combinazione. I nomi pienamente qualificati seguono questo formato:
| Tipo | Formato | 
|---|---|
| Gruppo di risorse | <resource group> | 
| Account NetApp | <resource group>/<netapp account> | 
| Pool di capacità | <resource group>/<netapp account>/<capacity pool> | 
| Rete virtuale | <resource group>/<virtual network> | 
| Subnet | <resource group>/<virtual network>/<subnet> | 
Provisioning di volumi
È possibile controllare il provisioning del volume predefinito specificando le seguenti opzioni in una sezione speciale del file di configurazione. Fare riferimento a. Configurazioni di esempio per ulteriori informazioni.
| Parametro | Descrizione | Predefinito | 
|---|---|---|
| 
 | Regole di esportazione per nuovi volumi. | "0.0.0.0/0" | 
| 
 | Controlla la visibilità della directory .snapshot | "falso" | 
| 
 | La dimensione predefinita dei nuovi volumi | "100 G" | 
| 
 | Le autorizzazioni unix dei nuovi volumi (4 cifre ottali). | "" (funzione di anteprima, richiede la whitelist nell'abbonamento) | 
Configurazioni di esempio
Esempio 1: Configurazione minima
Questa è la configurazione backend minima assoluta. Con questa configurazione, Astra Trident rileva tutti gli account NetApp, i pool di capacità e le subnet delegate ad ANF nella posizione configurata e inserisce i nuovi volumi in uno di questi pool e sottoreti in modo casuale. Perché nasType viene omesso, il nfs Viene applicato il valore predefinito e il backend eseguirà il provisioning dei volumi NFS.
Questa configurazione è ideale quando si inizia a utilizzare ANF e si provano le cose, ma in pratica si desidera fornire un ambito aggiuntivo per i volumi che si esegue il provisioning.
--- version: 1 storageDriverName: azure-netapp-files subscriptionID: 9f87c765-4774-fake-ae98-a721add45451 tenantID: 68e4f836-edc1-fake-bff9-b2d865ee56cf clientID: dd043f63-bf8e-fake-8076-8de91e5713aa clientSecret: SECRET location: eastus
Esempio 2: Configurazione specifica del livello di servizio con filtri del pool di capacità
Questa configurazione di back-end consente di posizionare i volumi in Azure eastus posizione in un Ultra pool di capacità. Astra Trident rileva automaticamente tutte le subnet delegate ad ANF in quella posizione e inserisce un nuovo volume su una di esse in modo casuale.
--- version: 1 storageDriverName: azure-netapp-files subscriptionID: 9f87c765-4774-fake-ae98-a721add45451 tenantID: 68e4f836-edc1-fake-bff9-b2d865ee56cf clientID: dd043f63-bf8e-fake-8076-8de91e5713aa clientSecret: SECRET location: eastus serviceLevel: Ultra capacityPools: - application-group-1/account-1/ultra-1 - application-group-1/account-1/ultra-2
Esempio 3: Configurazione avanzata
Questa configurazione di back-end riduce ulteriormente l'ambito del posizionamento del volume in una singola subnet e modifica alcune impostazioni predefinite di provisioning del volume.
--- version: 1 storageDriverName: azure-netapp-files subscriptionID: 9f87c765-4774-fake-ae98-a721add45451 tenantID: 68e4f836-edc1-fake-bff9-b2d865ee56cf clientID: dd043f63-bf8e-fake-8076-8de91e5713aa clientSecret: SECRET location: eastus serviceLevel: Ultra capacityPools: - application-group-1/account-1/ultra-1 - application-group-1/account-1/ultra-2 virtualNetwork: my-virtual-network subnet: my-subnet networkFeatures: Standard nfsMountOptions: vers=3,proto=tcp,timeo=600 limitVolumeSize: 500Gi defaults: exportRule: 10.0.0.0/24,10.0.1.0/24,10.0.2.100 snapshotDir: 'true' size: 200Gi unixPermissions: '0777'
Esempio 4: Configurazione del pool virtuale
Questa configurazione di back-end definisce più pool di storage in un singolo file. Ciò è utile quando si dispone di più pool di capacità che supportano diversi livelli di servizio e si desidera creare classi di storage in Kubernetes che ne rappresentano. Le etichette dei pool virtuali sono state utilizzate per differenziare i pool in base a. performance.
---
version: 1
storageDriverName: azure-netapp-files
subscriptionID: 9f87c765-4774-fake-ae98-a721add45451
tenantID: 68e4f836-edc1-fake-bff9-b2d865ee56cf
clientID: dd043f63-bf8e-fake-8076-8de91e5713aa
clientSecret: SECRET
location: eastus
resourceGroups:
- application-group-1
networkFeatures: Basic
nfsMountOptions: vers=3,proto=tcp,timeo=600
labels:
  cloud: azure
storage:
- labels:
    performance: gold
  serviceLevel: Ultra
  capacityPools:
  - ultra-1
  - ultra-2
  networkFeatures: Standard
- labels:
    performance: silver
  serviceLevel: Premium
  capacityPools:
  - premium-1
- labels:
    performance: bronze
  serviceLevel: Standard
  capacityPools:
  - standard-1
  - standard-2
Definizioni delle classi di storage
Quanto segue StorageClass le definizioni si riferiscono ai pool di storage sopra indicati.
Definizioni di esempio con parameter.selector campo
Utilizzo di parameter.selector è possibile specificare per ciascuno StorageClass il pool virtuale utilizzato per ospitare un volume. Gli aspetti del volume saranno definiti nel pool selezionato.
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: gold provisioner: csi.trident.netapp.io parameters: selector: "performance=gold" allowVolumeExpansion: true --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: silver provisioner: csi.trident.netapp.io parameters: selector: "performance=silver" allowVolumeExpansion: true --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: bronze provisioner: csi.trident.netapp.io parameters: selector: "performance=bronze" allowVolumeExpansion: true
Definizioni di esempio per volumi SMB
Utilizzo di nasType, node-stage-secret-name, e.  node-stage-secret-namespace, È possibile specificare un volume SMB e fornire le credenziali Active Directory richieste.
Esempio 1: Configurazione di base sullo spazio dei nomi predefinito
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: anf-sc-smb provisioner: csi.trident.netapp.io parameters: backendType: "azure-netapp-files" trident.netapp.io/nasType: "smb" csi.storage.k8s.io/node-stage-secret-name: "smbcreds" csi.storage.k8s.io/node-stage-secret-namespace: "default"
Esempio 2: Utilizzo di segreti diversi per spazio dei nomi
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: anf-sc-smb
provisioner: csi.trident.netapp.io
parameters:
  backendType: "azure-netapp-files"
  trident.netapp.io/nasType: "smb"
  csi.storage.k8s.io/node-stage-secret-name: "smbcreds"
  csi.storage.k8s.io/node-stage-secret-namespace: ${pvc.namespace}
Esempio 3: Utilizzo di segreti diversi per volume
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: anf-sc-smb
provisioner: csi.trident.netapp.io
parameters:
  backendType: "azure-netapp-files"
  trident.netapp.io/nasType: "smb"
  csi.storage.k8s.io/node-stage-secret-name: ${pvc.name}
  csi.storage.k8s.io/node-stage-secret-namespace: ${pvc.namespace}
|  | nasType: `smbFiltri per pool che supportano volumi SMB.nasType: `nfsoppurenasType: `nullFiltri per i pool NFS. | 
Creare il backend
Dopo aver creato il file di configurazione back-end, eseguire il seguente comando:
tridentctl create backend -f <backend-file>
Se la creazione del backend non riesce, si è verificato un errore nella configurazione del backend. È possibile visualizzare i log 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.
 PDF
PDF