Exemples et options de configuration du back-end Azure NetApp Files
Découvrez les options de configuration NFS et SMB backend pour Azure NetApp Files et passez en revue les exemples de configuration.
Options de configuration du back-end
Trident utilise votre configuration backend (sous-réseau, réseau virtuel, niveau de service et emplacement) pour créer des volumes Azure NetApp Files sur des pools de capacité disponibles dans l'emplacement demandé et correspondant au niveau de service et au sous-réseau demandés.
Les systèmes Azure NetApp Files back-end proposent ces options de configuration.
| Paramètre | Description | Valeur par défaut |
|---|---|---|
|
Version de la configuration du backend. |
Toujours 1 |
|
Nom du pilote de stockage |
« azure-netapp-files » |
|
Nom personnalisé pour le backend de stockage |
Nom du pilote + "_" + caractères aléatoires |
|
L'ID d'abonnement de votre abonnement Azure |
|
|
ID locataire d'un enregistrement d'application |
|
|
L'ID client d'un enregistrement d'application |
|
|
Secret client d'un enregistrement d'application |
|
|
Un de |
« » (aléatoire) |
|
Nom de l'emplacement Azure dans lequel les nouveaux volumes seront créés |
|
|
Liste des groupes de ressources pour le filtrage des ressources découvertes |
«[] » (sans filtre) |
|
Liste des comptes NetApp permettant de filtrer les ressources découvertes |
«[] » (sans filtre) |
|
Liste des pools de capacité pour le filtrage des ressources découvertes |
«[] » (sans filtre, aléatoire) |
|
Nom d'un réseau virtuel avec un sous-réseau délégué |
« » |
|
Nom d'un sous-réseau délégué à |
« » |
|
Ensemble de fonctionnalités VNet pour un volume, peut être |
« » |
|
Contrôle précis des options de montage NFS. Ignoré pour les volumes SMB. Pour monter des volumes à l'aide de NFS version 4.1, incluez |
« nfsvers=3 » |
|
Echec du provisionnement si la taille du volume demandé est supérieure à cette valeur |
« » (non appliqué par défaut) |
|
Indicateurs de débogage à utiliser lors du dépannage. Exemple |
nul |
|
Configurez la création de volumes NFS ou SMB. Les options sont |
|
|
Représente une liste de régions et de zones prises en charge par ce back-end. Pour plus d'informations, reportez-vous "Utiliser la topologie CSI"à . |
|
|
Indique le type de QoS : Auto ou Manuel. |
Automatique |
|
Définit le débit maximal autorisé en Mio/s. Prise en charge uniquement pour les pools de capacité QoS manuels. |
|
|
|
Pour plus d'informations sur les fonctionnalités réseau, reportez-vous à la section "Configurer les fonctions réseau d'un volume Azure NetApp Files". |
Envisagez les environnements cloud Azure (26.02)
À partir de la version 26.02, Trident prend en charge la création et la gestion de backends Azure NetApp Files dans plusieurs environnements cloud Azure.
Les clouds Azure pris en charge incluent :
-
Azure Commercial
-
Azure Government (Azure Government / MAG)
Lorsque vous déployez Trident ou créez un backend Azure NetApp Files, assurez-vous que Azure Resource Manager et les points de terminaison d'authentification correspondent à votre environnement cloud. Si les points de terminaison ne correspondent pas, tridentctl ne peut pas s'authentifier et la création du backend échoue.
Autorisations et ressources requises
Si vous recevez l'erreur « Aucun pool de capacité trouvé » lors de la création d'un PVC, il est probable que l'enregistrement de votre application ne dispose pas des autorisations et ressources requises (sous-réseau, réseau virtuel, pool de capacité) associées. Si le débogage est activé, Trident enregistre les ressources Azure détectées lors de la création du backend. Vérifiez qu'un rôle approprié est utilisé.
Les valeurs pour resourceGroups, netappAccounts, capacityPools, virtualNetwork et subnet peuvent être spécifiées à l'aide de noms courts ou de noms complets. Les noms complets sont recommandés dans la plupart des situations, car les noms courts peuvent correspondre à plusieurs ressources portant le même nom.
|
|
Si le réseau virtuel est situé dans un groupe de ressources différent de celui du compte de stockage Azure NetApp Files (ANF), spécifiez le groupe de ressources du réseau virtuel lors de la configuration de la liste des groupes de ressources pour le backend. |
Les resourceGroups, netappAccounts, et capacityPools valeurs sont des filtres qui limitent l'ensemble des ressources découvertes à celles disponibles pour ce système de stockage et peuvent être spécifiées dans n'importe quelle combinaison. Les noms pleinement qualifiés suivent ce format :
| Type | Format |
|---|---|
Groupe de ressources |
<groupe de ressources> |
Compte NetApp |
<groupe de ressources>/<compte netapp> |
Pool de capacité |
<groupe de ressources>/<compte netapp>/<pool de capacité> |
Réseau virtuel |
<groupe de ressources>/<réseau virtuel> |
Sous-réseau |
<groupe de ressources>/<réseau virtuel>/<sous-réseau> |
Provisionnement de volume
Vous pouvez contrôler le provisionnement des volumes par défaut en spécifiant les options suivantes dans une section spéciale du fichier de configuration. Consultez Exemples de configurations pour plus de détails.
| Paramètre | Description | Valeur par défaut |
|---|---|---|
|
Règles d'exportation pour les nouveaux volumes. |
« 0.0.0.0/0 » |
|
Contrôle la visibilité du répertoire .snapshot |
« True » pour NFSv4 « false » pour NFSv3 |
|
Taille par défaut des nouveaux volumes |
« 100 G » |
|
Les autorisations unix des nouveaux volumes (4 chiffres octaux). Ignoré pour les volumes SMB. |
« » (fonction d'aperçu, liste blanche requise dans l'abonnement) |
Exemples de configurations
Les exemples suivants présentent des configurations de base qui laissent la plupart des paramètres par défaut. C'est la manière la plus simple de définir un backend.
Configuration minimale
Il s'agit de la configuration minimale absolue du backend. Avec cette configuration, Trident découvre tous vos comptes NetApp, pools de capacité et sous-réseaux délégués à Azure NetApp Files dans l'emplacement configuré, et place les nouveaux volumes aléatoirement sur l'un de ces pools et sous-réseaux. Parce que nasType est omis, la nfs configuration par défaut s'applique et le backend provisionnera des volumes NFS.
Cette configuration est idéale lorsque vous commencez à utiliser Azure NetApp Files et que vous essayez d'autres fonctionnalités, mais dans la pratique, vous voudrez ajouter de l'étendue aux volumes que vous provisionnez.
---
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és gérées pour AKS
Cette configuration back-end omet subscriptionID, tenantID, clientID, et clientSecret, qui sont facultatives lors de l'utilisation d'identités gérées.
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-anf-1
namespace: trident
spec:
version: 1
storageDriverName: azure-netapp-files
capacityPools:
- resource-group-1/netapp-account-1/ultra-pool
resourceGroups:
- resource-group-1
netappAccounts:
- resource-group-1/netapp-account-1
virtualNetwork: resource-group-1/eastus-prod-vnet
subnet: resource-group-1/eastus-prod-vnet/eastus-anf-subnet
Identité cloud pour AKS
Cette configuration back-end omet tenantID, clientID, et clientSecret, qui sont facultatives lors de l'utilisation d'une identité de nuage.
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
Configuration de niveau de service spécifique avec filtres de pool de capacité
Cette configuration backend place les volumes dans l’emplacement eastus d’Azure dans un Ultra pool de capacité. Trident détecte automatiquement tous les sous-réseaux délégués à Azure NetApp Files dans cet emplacement et place un nouveau volume sur l’un d’eux de manière aléatoire.
---
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
Exemple de backend avec pools de capacité QoS manuels
Cette configuration backend place les volumes dans Azure. eastus emplacement avec pools de capacité QoS manuels.
---
version: 1
storageDriverName: azure-netapp-files
backendName: anf1
location: eastus
labels:
clusterName: test-cluster-1
cloud: anf
nasType: nfs
defaults:
qosType: Manual
storage:
- serviceLevel: Ultra
labels:
performance: gold
defaults:
maxThroughput: 10
- serviceLevel: Premium
labels:
performance: silver
defaults:
maxThroughput: 5
- serviceLevel: Standard
labels:
performance: bronze
defaults:
maxThroughput: 3
Configuration avancée
Cette configuration back-end réduit davantage l'étendue du placement des volumes sur un seul sous-réseau et modifie également certains paramètres par défaut du provisionnement des volumes.
---
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: application-group-1/eastus-prod-vnet
subnet: application-group-1/eastus-prod-vnet/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"
Configuration de pool virtuel
Cette configuration backend définit plusieurs pools de stockage dans un seul fichier. Ceci est utile lorsque vous disposez de plusieurs pools de capacité prenant en charge différents niveaux de service et que vous souhaitez créer des classes de stockage dans Kubernetes pour les représenter. Des étiquettes de pool virtuel ont été utilisées pour différencier les pools en fonction de 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:
- application-group-1/netapp-account-1/ultra-1
- application-group-1/netapp-account-1/ultra-2
networkFeatures: Standard
- labels:
performance: silver
serviceLevel: Premium
capacityPools:
- application-group-1/netapp-account-1/premium-1
- labels:
performance: bronze
serviceLevel: Standard
capacityPools:
- application-group-1/netapp-account-1/standard-1
- application-group-1/netapp-account-1/standard-2
Configuration des topologies prises en charge
Trident facilite le provisionnement des volumes pour les charges de travail en fonction des régions et des zones de disponibilité. Le supportedTopologies bloc dans cette configuration backend est utilisé pour fournir une liste de régions et de zones par backend. Les valeurs de région et de zone spécifiées ici doivent correspondre aux valeurs de région et de zone des étiquettes sur chaque nœud de cluster Kubernetes. Ces régions et zones représentent la liste des valeurs autorisées pouvant être fournies dans une classe de stockage. Pour les classes de stockage qui contiennent un sous-ensemble des régions et zones fournies dans un backend, Trident crée les volumes dans la région et la zone mentionnées. Pour plus d'informations, consultez "Utiliser la topologie 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
Définitions des classes de stockage
Les éléments suivants StorageClass les définitions font référence aux pools de stockage ci-dessus.
Exemples de définitions utilisant parameter.selector légale
En utilisant parameter.selector, vous pouvez spécifier pour chaque StorageClass le pool virtuel utilisé pour héberger un volume. Le volume aura les aspects définis dans le pool choisi.
---
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
Exemples de définitions pour les volumes SMB
En utilisant nasType, node-stage-secret-name et node-stage-secret-namespace, vous pouvez spécifier un volume SMB et fournir les informations d'identification Active Directory requises.
Configuration de base sur l'espace de noms par défaut
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"
Utilisation de secrets différents par espace de noms
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}
Utilisation de secrets différents par 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`Filtres pour les pools prenant en charge les volumes SMB. ou `nasType: null`filtres pour les pools NFS.
|
Créer le backend
Après avoir créé le fichier de configuration backend, exécutez la commande suivante :
tridentctl create backend -f <backend-file>
Si vous utilisez un cloud Azure non commercial, assurez-vous que tridentctl est configuré pour utiliser Azure Resource Manager et les points de terminaison d'authentification de votre environnement cloud. Si la création du backend échoue, vérifiez la configuration de votre backend et consultez les journaux pour en déterminer la cause :
tridentctl logs
Après avoir identifié et corrigé le problème avec le fichier de configuration, vous pouvez exécuter de nouveau la commande create.