Skip to main content
Eine neuere Version dieses Produkts ist erhältlich.
Die deutsche Sprachversion wurde als Serviceleistung für Sie durch maschinelle Übersetzung erstellt. Bei eventuellen Unstimmigkeiten hat die englische Sprachversion Vorrang.

Azure NetApp Files Back-End-Konfigurationsoptionen und -Beispiele

Beitragende

Informieren Sie sich über die Back-End-Konfigurationsoptionen für NFS und SMB für ANF und überprüfen Sie Konfigurationsbeispiele.

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.

Hinweis Astra Trident unterstützt keine manuellen QoS-Kapazitäts-Pools.

Back-End-Konfigurationsoptionen

ANF Back-Ends stellen diese Konfigurationsoptionen bereit.

Parameter Beschreibung Standard

version

Immer 1

storageDriverName

Name des Speichertreibers

„azure-netapp-Files“

backendName

Benutzerdefinierter Name oder das Storage-Backend

Treibername + „_“ + zufällige Zeichen

subscriptionID

Die Abonnement-ID Ihres Azure Abonnements

tenantID

Die Mandanten-ID aus einer App-Registrierung

clientID

Die Client-ID aus einer App-Registrierung

clientSecret

Der Client-Schlüssel aus einer App-Registrierung

serviceLevel

Einer von Standard, Premium, Oder Ultra

„“ (zufällig)

location

Name des Azure Speicherorts, an dem die neuen Volumes erstellt werden

resourceGroups

Liste der Ressourcengruppen zum Filtern ermittelter Ressourcen

„[]“ (kein Filter)

netappAccounts

Liste von NetApp Accounts zur Filterung erkannter Ressourcen

„[]“ (kein Filter)

capacityPools

Liste der Kapazitäts-Pools zur Filterung erkannter Ressourcen

„[]“ (kein Filter, zufällig)

virtualNetwork

Name eines virtuellen Netzwerks mit einem delegierten Subnetz

„“

subnet

Name eines an delegierten Subnetzes Microsoft.Netapp/volumes

„“

networkFeatures

Eventuell Set von vnet-Funktionen für ein Volumen Basic Oder Standard. Netzwerkfunktionen sind nicht in allen Regionen verfügbar und müssen möglicherweise in einem Abonnement aktiviert werden. Angeben networkFeatures Wenn die Funktion nicht aktiviert ist, schlägt die Volume-Bereitstellung fehl.

„“

nfsMountOptions

Engmaschige Kontrolle der NFS-Mount-Optionen Für SMB Volumes ignoriert. Um Volumes mit NFS-Version 4.1 einzubinden, beinhalten nfsvers=4 Wählen Sie in der Liste mit durch Komma getrennten Mount-Optionen NFS v4.1 aus. Mount-Optionen, die in einer Storage-Klassen-Definition festgelegt sind, überschreiben Mount-Optionen, die in der Backend-Konfiguration festgelegt sind.

„Nfsvers=3“

limitVolumeSize

Bereitstellung fehlgeschlagen, wenn die angeforderte Volume-Größe über diesem Wert liegt

„“ (nicht standardmäßig durchgesetzt)

debugTraceFlags

Fehler-Flags bei der Fehlerbehebung beheben. Beispiel: \{"api": false, "method": true, "discovery": true}. Verwenden Sie dies nur, wenn Sie Fehler beheben und einen detaillierten Log Dump benötigen.

Null

nasType

Konfiguration der Erstellung von NFS- oder SMB-Volumes Die Optionen lauten nfs, smb Oder null. Einstellung auf null setzt standardmäßig auf NFS-Volumes.

nfs

Hinweis 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

exportRule

Exportregeln für neue Volumes
exportRule Muss eine kommagetrennte Liste beliebiger Kombinationen von IPv4-Adressen oder IPv4-Subnetzen in CIDR-Notation sein. Für SMB Volumes ignoriert.

„0.0.0.0/0“

snapshotDir

Steuert die Sichtbarkeit des .Snapshot-Verzeichnisses

„Falsch“

size

Die Standardgröße der neuen Volumes

„100 GB“

unixPermissions

die unix-Berechtigungen neuer Volumes (4 Oktal-Ziffern). Für SMB Volumes ignoriert.

„“ (Vorschau-Funktion, erfordert Whitelisting im Abonnement)

Hinweis Bei allen Volumes, die auf einem ANF-Backend erstellt wurden, kopiert Astra Trident die in einem Storage-Pool vorhandenen Beschriftungen zum Zeitpunkt der Bereitstellung auf das Storage-Volume. Storage-Administratoren können Labels pro Storage-Pool definieren und alle Volumes gruppieren, die in einem Storage-Pool erstellt wurden. Auf diese Weise können Sie Volumes anhand einer Reihe anpassbarer Etiketten, die in der Backend-Konfiguration bereitgestellt werden, unterscheiden.

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 Speicherpools

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.

    {
        "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"
        },
        "location": "eastus",

        "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}
Hinweis 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.