Azure NetApp Files Back-End-Konfigurationsoptionen und -Beispiele
Informieren Sie sich über die Back-End-Konfigurationsoptionen für NFS und SMB für ANF und überprüfen Sie Konfigurationsbeispiele.
Back-End-Konfigurationsoptionen
Astra Trident verwendet Ihre Backend-Konfiguration (Subnetz, virtuelles Netzwerk, Service Level und Standort), um ANF Volumes auf Kapazitäts-Pools zu erstellen, die am angeforderten Standort verfügbar sind und dem angeforderten Service Level und Subnetz entsprechen.
Astra Trident unterstützt keine manuellen QoS-Kapazitäts-Pools. |
ANF Back-Ends stellen diese Konfigurationsoptionen bereit.
Parameter | Beschreibung | Standard |
---|---|---|
|
Immer 1 |
|
|
Name des Speichertreibers |
„azure-netapp-Files“ |
|
Benutzerdefinierter Name oder das Storage-Backend |
Treibername + „_“ + zufällige Zeichen |
|
Die Abonnement-ID Ihres Azure Abonnements |
|
|
Die Mandanten-ID aus einer App-Registrierung |
|
|
Die Client-ID aus einer App-Registrierung |
|
|
Der Client-Schlüssel aus einer App-Registrierung |
|
|
Einer von |
„“ (zufällig) |
|
Name des Azure Speicherorts, an dem die neuen Volumes erstellt werden |
|
|
Liste der Ressourcengruppen zum Filtern ermittelter Ressourcen |
„[]“ (kein Filter) |
|
Liste von NetApp Accounts zur Filterung erkannter Ressourcen |
„[]“ (kein Filter) |
|
Liste der Kapazitäts-Pools zur Filterung erkannter Ressourcen |
„[]“ (kein Filter, zufällig) |
|
Name eines virtuellen Netzwerks mit einem delegierten Subnetz |
„“ |
|
Name eines an delegierten Subnetzes |
„“ |
|
Eventuell Set von vnet-Funktionen für ein Volumen |
„“ |
|
Engmaschige Kontrolle der NFS-Mount-Optionen |
„Nfsvers=3“ |
|
Bereitstellung fehlgeschlagen, wenn die angeforderte Volume-Größe über diesem Wert liegt |
„“ (nicht standardmäßig durchgesetzt) |
|
Fehler-Flags bei der Fehlerbehebung beheben. Beispiel: |
Null |
|
Konfiguration der Erstellung von NFS- oder SMB-Volumes |
|
Weitere Informationen zu den Netzwerkfunktionen finden Sie unter "Konfigurieren Sie Netzwerkfunktionen für ein Azure NetApp Files Volume". |
Erforderliche Berechtigungen und Ressourcen
Wenn Sie beim Erstellen eines PVC einen Fehler „Keine Kapazitätspools gefunden“ erhalten, ist es wahrscheinlich, dass Ihre App-Registrierung nicht die erforderlichen Berechtigungen und Ressourcen (Subnetz, virtuelles Netzwerk, Kapazitäts-Pool) zugeordnet hat. Wenn Debug aktiviert ist, protokolliert Astra Trident die Azure Ressourcen, die bei der Erstellung des Backend ermittelt wurden. Überprüfen Sie, ob eine geeignete Rolle verwendet wird.
Die Werte für resourceGroups
, netappAccounts
, capacityPools
, virtualNetwork
, und subnet
Kann mit kurzen oder vollqualifizierten Namen angegeben werden. In den meisten Fällen werden vollqualifizierte Namen empfohlen, da kurze Namen mehrere Ressourcen mit demselben Namen entsprechen können.
Der resourceGroups
, netappAccounts
, und capacityPools
Werte sind Filter, die die ermittelten Ressourcen auf die in diesem Storage-Back-End verfügbaren Personen beschränken und in beliebiger Kombination angegeben werden können. Vollqualifizierte Namen folgen diesem Format:
Typ | Formatieren |
---|---|
Ressourcengruppe |
<Ressourcengruppe> |
NetApp Konto |
<Resource Group>/<netapp Account> |
Kapazitäts-Pool |
<Resource Group>/<netapp Account>/<Capacity Pool> |
Virtuelles Netzwerk |
<Ressourcengruppe>/<virtuelles Netzwerk> |
Subnetz |
<Ressourcengruppe>/<virtuelles Netzwerk>/<Subnetz> |
Volume-Provisionierung
Sie können die standardmäßige Volume-Bereitstellung steuern, indem Sie die folgenden Optionen in einem speziellen Abschnitt der Konfigurationsdatei angeben. Siehe Beispielkonfigurationen Entsprechende Details.
Parameter | Beschreibung | Standard |
---|---|---|
|
Exportregeln für neue Volumes |
„0.0.0.0/0“ |
|
Steuert die Sichtbarkeit des .Snapshot-Verzeichnisses |
„Falsch“ |
|
Die Standardgröße der neuen Volumes |
„100 GB“ |
|
die unix-Berechtigungen neuer Volumes (4 Oktal-Ziffern). |
„“ (Vorschau-Funktion, erfordert Whitelisting im Abonnement) |
Beispielkonfigurationen
Beispiel 1: Minimale Konfiguration
Dies ist die absolute minimale Backend-Konfiguration. Mit dieser Konfiguration erkennt Astra Trident alle Ihre NetApp Konten, Kapazitäts-Pools und Subnetze, die an ANF am konfigurierten Speicherort delegiert wurden, und setzt zufällig neue Volumes auf einen dieser Pools und Subnetze. Weil nasType
Wird weggelassen, das nfs
Standard gilt und das Backend wird für NFS-Volumes bereitgestellt.
Diese Konfiguration eignet sich ideal, wenn Sie gerade mit ANF beginnen und die Dinge ausprobieren. In der Praxis möchten Sie jedoch zusätzliche Informationen für die Volumes bereitstellen, die Sie bereitstellen.
--- 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
Beispiel 2: Spezifische Service Level-Konfiguration mit Kapazitätspool-Filtern
Bei dieser Back-End-Konfiguration werden Volumes in Azure platziert eastus
Standort in einem Ultra
Kapazitäts-Pool: Astra Trident erkennt automatisch alle an ANF delegierten Subnetze und legt ein neues Volume zufällig auf einen davon ab.
--- 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
Beispiel 3: Erweiterte Konfiguration
Diese Back-End-Konfiguration reduziert den Umfang der Volume-Platzierung auf ein einzelnes Subnetz und ändert auch einige Standardwerte für die Volume-Bereitstellung.
--- 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'
Beispiel 4: Konfiguration des virtuellen Pools
Diese Back-End-Konfiguration definiert mehrere Storage-Pools in einer einzelnen Datei. Dies ist nützlich, wenn Sie über mehrere Kapazitäts-Pools verfügen, die unterschiedliche Service-Level unterstützen, und Sie Storage-Klassen in Kubernetes erstellen möchten, die diese unterstützen. Virtuelle Pool-Labels wurden verwendet, um die Pools basierend auf zu differenzieren 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
Definitionen der Storage-Klassen
Im Folgenden StorageClass
Definitionen beziehen sich auf die oben genannten Speicherpools.
Beispieldefinitionen mit parameter.selector
Feld
Wird Verwendet parameter.selector
Sie können für jedes angeben StorageClass
Der virtuelle Pool, der zum Hosten eines Volumes genutzt wird. Im Volume werden die Aspekte definiert, die im ausgewählten Pool definiert sind.
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
Beispieldefinitionen für SMB Volumes
Wird Verwendet nasType
, node-stage-secret-name
, und node-stage-secret-namespace
, Sie können ein SMB-Volume angeben und die erforderlichen Active Directory-Anmeldeinformationen angeben.
Beispiel 1: Grundlegende Konfiguration im Standard-Namespace
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"
Beispiel 2: Unterschiedliche Geheimnisse pro Namespace verwenden
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}
Beispiel 3: Verschiedene Geheimnisse pro Volumen
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 Filter für Pools, die SMB-Volumes unterstützen nasType: `nfs Oder nasType: `null Filter für NFS Pools.
|
Erstellen Sie das Backend
Führen Sie nach dem Erstellen der Back-End-Konfigurationsdatei den folgenden Befehl aus:
tridentctl create backend -f <backend-file>
Wenn die Backend-Erstellung fehlschlägt, ist mit der Back-End-Konfiguration ein Fehler aufgetreten. Sie können die Protokolle zur Bestimmung der Ursache anzeigen, indem Sie den folgenden Befehl ausführen:
tridentctl logs
Nachdem Sie das Problem mit der Konfigurationsdatei identifiziert und korrigiert haben, können Sie den Befehl „Erstellen“ erneut ausführen.