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 back-end (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 à l'emplacement souhaité et qui correspondent au niveau de service et au sous-réseau requis.
Trident ne prend pas en charge les pools de capacité QoS manuelle. |
Les systèmes Azure NetApp Files back-end proposent ces options de configuration.
Paramètre | Description | Valeur par défaut |
---|---|---|
|
Toujours 1 |
|
|
Nom du pilote de stockage |
« azure-netapp-files » |
|
Nom personnalisé ou système back-end 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é à |
« » |
|
L'ensemble des fonctions de 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"à . |
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". |
Autorisations et ressources requises
Si vous recevez une erreur « aucun pool de capacité trouvé » lors de la création d'une demande de volume persistant, il est probable que votre enregistrement d'application ne dispose pas des autorisations et des ressources requises (sous-réseau, réseau virtuel, pool de capacité). Si le débogage est activé, Trident consigne les ressources Azure découvertes lors de la création du back-end. Vérifiez que vous utilisez un rôle approprié.
Les valeurs de resourceGroups
, netappAccounts
, capacityPools
, virtualNetwork
, et subnet
peut être spécifié à l'aide de noms courts ou complets. Les noms complets sont recommandés dans la plupart des cas, car les noms abrégés peuvent faire correspondre plusieurs ressources avec le même nom.
Le resourceGroups
, netappAccounts
, et capacityPools
les valeurs sont des filtres qui limitent l'ensemble des ressources découvertes aux ressources disponibles pour ce stockage back-end et peuvent être spécifiés dans n'importe quelle combinaison. Les noms complets suivent le format suivant :
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 de volume par défaut en spécifiant les options suivantes dans une section spéciale du fichier de configuration. Reportez-vous à la section Exemples de configurations pour plus d'informations.
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 montrent des configurations de base qui laissent la plupart des paramètres par défaut. C'est la façon la plus simple de définir un back-end.
Configuration minimale
Il s'agit de la configuration back-end minimale absolue. Avec cette configuration, Trident détecte tous vos comptes NetApp, pools de capacité et sous-réseaux délégués à Azure NetApp Files à l'emplacement configuré, et place de nouveaux volumes dans l'un de ces pools et sous-réseaux de manière aléatoire. Comme nasType
est omis, la nfs
valeur par défaut s'applique et le back-end provisionne les 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: ["ultra-pool"] resourceGroups: ["aks-ami-eastus-rg"] netappAccounts: ["smb-na"] virtualNetwork: eastus-prod-vnet subnet: 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 back-end place les volumes dans l'emplacement d'Azure eastus
dans un Ultra
pool de capacité. Trident découvre automatiquement tous les sous-réseaux délégués à Azure NetApp Files à cet emplacement et place un nouveau volume sur l'un d'entre 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
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: 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'
Configuration de pool virtuel
Cette configuration back-end définit plusieurs pools de stockage dans un seul fichier. Cette fonction est utile lorsque plusieurs pools de capacité prennent en charge différents niveaux de service, et que vous souhaitez créer des classes de stockage dans Kubernetes qui les représentent. Des étiquettes de pools virtuels 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: - ultra-1 - ultra-2 networkFeatures: Standard - labels: performance: silver serviceLevel: Premium capacityPools: - premium-1 - labels: performance: bronze serviceLevel: Standard capacityPools: - standard-1 - standard-2
Configuration des topologies prises en charge
Trident facilite le provisionnement des volumes pour les workloads en fonction des régions et des zones de disponibilité. Le supportedTopologies
bloc de cette configuration back-end est utilisé pour fournir une liste de régions et de zones par back-end. Les valeurs de région et de zone spécifiées ici doivent correspondre aux valeurs de région et de zone indiquées sur les étiquettes de 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 back-end, Trident crée des volumes dans la région et la zone mentionnées. Pour plus d'informations, reportez-vous "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
À l'aide de parameter.selector
vous pouvez spécifier pour chaque StorageClass
pool virtuel utilisé pour héberger un volume. Les aspects définis dans le pool sélectionné seront définis pour le volume.
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
À l'aide de 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 qui prennent en charge les volumes SMB. nasType: nfs ou nasType: null Filtres pour 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 la création du back-end échoue, la configuration du back-end est erronée. Vous pouvez afficher les journaux pour déterminer la cause en exécutant la commande suivante :
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.