Opzioni di configurazione back-end Azure NetApp Files ed esempi
Scopri le opzioni di configurazione di back-end NFS e SMB per Azure NetApp Files e consulta gli esempi di configurazione.
Opzioni di configurazione back-end
Trident utilizza la tua configurazione back-end (subnet, rete virtuale, livello di servizio e posizione) per creare volumi Azure NetApp Files su pool di capacità disponibili nel percorso richiesto e corrispondenti al livello di servizio e alla subnet richiesti.
Trident non supporta i pool di capacità QoS manuali. |
I backend Azure NetApp Files 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. Ignorato per i volumi SMB. Per montare i volumi utilizzando NFS versione 4.1, include |
"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. Le opzioni sono |
|
|
Rappresenta un elenco di aree e zone supportate da questo backend. Per ulteriori informazioni, fare riferimento a "Utilizzare la topologia CSI". |
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 viene visualizzato l'errore "Nessun pool di capacità trovato" durante la creazione di un PVC, è probabile che la registrazione dell'applicazione non disponga delle autorizzazioni e delle risorse necessarie (subnet, rete virtuale, pool di capacità) associate. Se il debug è attivato, Trident registrerà le risorse di 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 |
"True" per NFSv4 "false" per NFSv3 |
|
La dimensione predefinita dei nuovi volumi |
"100 G" |
|
Le autorizzazioni unix dei nuovi volumi (4 cifre ottali). Ignorato per i volumi SMB. |
"" (funzione di anteprima, richiede la whitelist nell'abbonamento) |
Configurazioni di esempio
Gli esempi seguenti mostrano le configurazioni di base che lasciano la maggior parte dei parametri predefiniti. Questo è il modo più semplice per definire un backend.
Configurazione minima
Questa è la configurazione backend minima assoluta. Con questa configurazione, Trident rileva tutti gli account NetApp, i pool di capacità e le subnet delegate a Azure NetApp Files nella posizione configurata e posiziona i nuovi volumi in uno di tali pool e subnet in modo casuale. Poiché nasType
viene omesso, viene applicato il nfs
valore predefinito e il backend esegue il provisioning dei volumi NFS.
Questa configurazione è l'ideale se stai iniziando a utilizzare Azure NetApp Files e provando qualcosa, ma in pratica vorresti fornire un ulteriore ambito per i volumi da te forniti.
--- apiVersion: trident.netapp.io/v1 kind: TridentBackendConfig metadata: name: backend-tbc-anf-1 namespace: trident spec: 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
Identità gestite per AKS
Questa configurazione di backend omette subscriptionID
, tenantID
, clientID
, e. clientSecret
, che sono opzionali quando si utilizzano identità gestite.
apiVersion: trident.netapp.io/v1 kind: TridentBackendConfig metadata: name: backend-tbc-anf-1 namespace: trident spec: version: 1 storageDriverName: azure-netapp-files capacityPools: ["ultra-pool"] resourceGroups: ["aks-ami-eastus-rg"] netappAccounts: ["smb-na"] virtualNetwork: eastus-prod-vnet subnet: eastus-anf-subnet
Identità cloud per AKS
Questa configurazione di backend omette tenantID
, clientID
, e. clientSecret
, che sono opzionali quando si utilizza un'identità cloud.
apiVersion: trident.netapp.io/v1 kind: TridentBackendConfig metadata: name: backend-tbc-anf-1 namespace: trident spec: version: 1 storageDriverName: azure-netapp-files capacityPools: ["ultra-pool"] resourceGroups: ["aks-ami-eastus-rg"] netappAccounts: ["smb-na"] virtualNetwork: eastus-prod-vnet subnet: eastus-anf-subnet location: eastus subscriptionID: 9f87c765-4774-fake-ae98-a721add45451
Configurazione specifica del livello di servizio con filtri pool di capacità
Questa configurazione backend colloca i volumi nella posizione di Azure eastus
in un Ultra
pool di capacità. Trident rileva automaticamente tutte le subnet delegate a Azure NetApp Files in tale posizione e posiziona 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
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'
Configurazione dei pool virtuali
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
Configurazione delle topologie supportate
Trident facilita il provisioning dei volumi per i workload in base a regioni e zone di disponibilità. Il supportedTopologies
blocco in questa configurazione backend viene utilizzato per fornire un elenco di aree e zone per backend. I valori di regione e zona specificati qui devono corrispondere ai valori di regione e zona dalle etichette su ogni nodo del cluster Kubernetes. Queste regioni e zone rappresentano l'elenco dei valori consentiti che possono essere forniti in una classe di archiviazione. Per le classi di archiviazione che contengono un sottoinsieme delle aree e delle zone fornite in un backend, Trident crea volumi nell'area e nella zona menzionate. Per ulteriori informazioni, fare riferimento a "Utilizzare la topologia CSI".
--- 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 supportedTopologies: - topology.kubernetes.io/region: eastus topology.kubernetes.io/zone: eastus-1 - topology.kubernetes.io/region: eastus topology.kubernetes.io/zone: eastus-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.
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"
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}
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: smb Filtri per pool che supportano volumi SMB. nasType: nfs oppure nasType: null Filtri 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.