Optionen für die Storage-Konfiguration
Sehen Sie sich die Konfigurationsoptionen der Astra Trident Konfigurationen an.
Globale Konfigurationsoptionen
Diese Konfigurationsoptionen sind für alle Astra Trident Konfigurationen anwendbar, unabhängig von der genutzten Storage-Plattform.
Option | Beschreibung | Beispiel |
---|---|---|
|
Versionsnummer der Konfigurationsdatei |
1 |
|
Name des Speichertreibers |
|
|
Optionales Präfix für Volume-Namen Standardwert: „Netappdvp_“. |
Inszenierung_ |
|
Optionale Einschränkung von Volume-Größen. Standard: „“ (nicht erzwungen) |
10g |
Verwenden Sie es nicht storagePrefix (Einschließlich Standard) für Element-Back-Ends. Standardmäßig wird der verwendet solidfire-san Der Treiber ignoriert diese Einstellung und verwendet kein Präfix. Wir empfehlen die Verwendung einer bestimmten TenantID für die Docker Volume-Zuordnung oder die Verwendung der Attributdaten, die mit der Docker-Version, den Treiber-Informationen und dem Raw-Namen aus Docker gefüllt sind, in Fällen, in denen Namensnennung verwendet wurde.
|
Es stehen Standardoptionen zur Verfügung, damit Sie sie nicht für jedes erstellte Volume angeben müssen. Der size
Die Option ist für alle Controller-Typen verfügbar. Im Abschnitt zur ONTAP-Konfiguration finden Sie ein Beispiel dafür, wie Sie die Standard-Volume-Größe festlegen.
Option | Beschreibung | Beispiel |
---|---|---|
|
Optionale Standardgröße für neue Volumes. Standard: „1G“ |
10G |
ONTAP-Konfiguration
Zusätzlich zu den oben genannten globalen Konfigurationswerten stehen bei Verwendung von ONTAP folgende Optionen auf oberster Ebene zur Verfügung.
Option | Beschreibung | Beispiel |
---|---|---|
|
IP-Adresse des ONTAP Management LIF. Sie können einen vollqualifizierten Domänennamen (FQDN) angeben. |
10.0.0.1 |
|
IP-Adresse des LIF-Protokolls; wird abgeleitet, wenn nicht angegeben. Für das |
10.0.0.2 |
|
Storage Virtual Machine zu verwenden (erforderlich, falls Management LIF eine Cluster-LIF ist) |
svm_nfs |
|
Benutzername zur Verbindung mit dem Speichergerät |
Vsadmin |
|
Passwort für die Verbindung mit dem Speichergerät |
Geheim |
|
Aggregat für die Bereitstellung (optional, wenn eingestellt, muss der SVM zugewiesen werden) Für das |
Aggr1 |
|
Optionale, fail-Provisioning-Funktion, wenn die Nutzung über diesem Prozentsatz liegt |
75 % erzielt |
|
Feingranulare Steuerung der NFS-Mount-Optionen; standardmäßig „-o nfsvers=3“. Nur für die verfügbar |
-O nfsvers=4 |
|
Die vom Plugin verwendete Initiatorgruppe; standardmäßig „netappdvp“. Nur erhältlich für den `ontap-san`dFluss. |
Myigroup |
|
Maximale anforderbare Volume-Größe und übergeordnete qtree Volume-Größe * Für die |
300 g |
|
Maximale Anzahl der qtrees pro FlexVol, die im Bereich [50, 300] liegen müssen, die Standardeinstellung ist 200. * Für die |
300 |
Es stehen Standardoptionen zur Verfügung, um zu vermeiden, dass sie auf jedem von Ihnen erstellten Volume angegeben werden müssen:
Option | Beschreibung | Beispiel |
---|---|---|
|
Space Reservation Mode; „none“ (Thin Provisioning) oder „Volume“ (Thick) |
Keine |
|
Snapshot-Richtlinie zu verwenden, standardmäßig ist „keine“ |
Keine |
|
Snapshot Reserve Prozentsatz, Standard ist „“ um den Standard von ONTAP zu akzeptieren |
10 |
|
Einen Klon bei der Erstellung von seinem übergeordneten Element trennen, wird standardmäßig „false“ verwendet. |
Falsch |
|
NetApp Volume Encryption aktivieren, standardmäßig auf „false“ |
Richtig |
|
NAS-Option für bereitgestellte NFS-Volumen, standardmäßig „777“ |
777 |
|
NAS-Option für den Zugriff auf die |
Richtig |
|
NAS-Option für die NFS-Exportrichtlinie zu verwenden, standardmäßig auf „Standard“ |
Standard |
|
NAS-Option für den Zugriff auf das bereitgestellte NFS-Volume, standardmäßig „unix“ |
Gemischt |
|
SAN-Option zum Auswählen des Dateisystemtyps, standardmäßig auf „ext4“ |
xfs |
|
Zu verwendende Tiering-Richtlinie, Standard ist „keine“; „nur Snapshots“ für eine SVM-DR-Konfiguration vor ONTAP 9.5 |
Keine |
Skalierungsoptionen
Der ontap-nas
Und ontap-san
Treiber erstellen für jedes Docker Volume eine ONTAP FlexVol. ONTAP unterstützt bis zu 1000 FlexVols pro Cluster Node mit einem Cluster maximal 12,000 FlexVols. Wenn die Anforderungen für das Docker Volume diesen Anforderungen entsprechen, wird der angezeigt ontap-nas
Aufgrund der zusätzlichen Funktionen von FlexVols, wie dem granularen Docker-Volume-Snapshot und Klonen, ist der Treiber die bevorzugte NAS-Lösung.
Wenn Sie mehr Docker Volumes benötigen, als durch die FlexVol-Limits unterstützt werden können, wählen Sie die Option ontap-nas-economy
Oder im ontap-san-economy
Treiber.
Der ontap-nas-economy
Der Treiber erstellt Docker Volumes als ONTAP qtrees innerhalb eines Pools automatisch verwalteter FlexVols. Qtrees bieten eine wesentlich größere Skalierung – bis zu 100,000 pro Cluster-Node und 2,400,000 pro Cluster – zu Lasten einiger Funktionen. Der ontap-nas-economy
Der Treiber unterstützt keine granularen Snapshots oder Klone von Docker Volumes.
Der ontap-nas-economy Treiber wird derzeit in Docker Swarm nicht unterstützt, da Swarm die Volume-Erstellung nicht über mehrere Nodes hinweg orchestriert.
|
Der ontap-san-economy
Der Treiber erstellt Docker Volumes als ONTAP LUNs in einem gemeinsamen Pool automatisch verwalteter FlexVols. Somit ist jede FlexVol nicht auf nur eine LUN beschränkt und bietet eine bessere Skalierbarkeit für SAN-Workloads. Je nach Storage Array unterstützt ONTAP bis zu 16384 LUNs pro Cluster. Da es sich bei den Volumes um LUNs handelt, unterstützt dieser Treiber granulare Docker Snapshots und Klone.
Wählen Sie die aus ontap-nas-flexgroup
Treiber zur Erhöhung der Parallelität zu einem einzelnen Volume, das mit Milliarden von Dateien im Petabyte-Bereich wachsen kann. Zu den idealen Anwendungsfällen für FlexGroups gehören KI/ML/DL, Big Data und Analysen, Softwareentwicklung, Streaming, Datei-Repositorys und so weiter. Trident verwendet alle Aggregate, die einer SVM bei der Bereitstellung eines FlexGroup-Volumes zugewiesen sind. Die Unterstützung von FlexGroup in Trident muss darüber hinaus Folgendes beachtet werden:
-
ONTAP Version 9.2 oder höher erforderlich.
-
Ab diesem Text unterstützt FlexGroups nur NFS v3.
-
Empfohlen, die 64-Bit-NFSv3-IDs für die SVM zu aktivieren.
-
Die empfohlene minimale FlexGroup-Größe beträgt 100 GB.
-
Klonen wird für FlexGroup Volumes nicht unterstützt.
Informationen zu FlexGroups und Workloads, die für FlexGroups geeignet sind, finden Sie im "NetApp FlexGroup Volume Best Practices und Implementierungsleitfaden".
Um erweiterte Funktionen und die enorme Skalierbarkeit in derselben Umgebung zu erhalten, können Sie mehrere Instanzen des Docker Volume Plug-ins ausführen. Dabei kommt ein Storage-Plug-in zum Einsatz ontap-nas
Und ein anderes mit ontap-nas-economy
.
Beispiel für ONTAP-Konfigurationsdateien
NFS Beispiel für ontap-nas
Fahrer
{ "version": 1, "storageDriverName": "ontap-nas", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.2", "svm": "svm_nfs", "username": "vsadmin", "password": "secret", "aggregate": "aggr1", "defaults": { "size": "10G", "spaceReserve": "none", "exportPolicy": "default" } }
NFS Beispiel für ontap-nas-flexgroup
Fahrer
{ "version": 1, "storageDriverName": "ontap-nas-flexgroup", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.2", "svm": "svm_nfs", "username": "vsadmin", "password": "secret", "defaults": { "size": "100G", "spaceReserve": "none", "exportPolicy": "default" } }
NFS Beispiel für ontap-nas-economy
Fahrer
{ "version": 1, "storageDriverName": "ontap-nas-economy", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.2", "svm": "svm_nfs", "username": "vsadmin", "password": "secret", "aggregate": "aggr1" }
ISCSI-Beispiel für ontap-san
Fahrer
{ "version": 1, "storageDriverName": "ontap-san", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.3", "svm": "svm_iscsi", "username": "vsadmin", "password": "secret", "aggregate": "aggr1", "igroupName": "myigroup" }
NFS Beispiel für ontap-san-economy
Fahrer
{ "version": 1, "storageDriverName": "ontap-san-economy", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.3", "svm": "svm_iscsi_eco", "username": "vsadmin", "password": "secret", "aggregate": "aggr1", "igroupName": "myigroup" }
Konfiguration von Element Software
Zusätzlich zu den Werten einer globalen Konfiguration sind bei Verwendung von Element Software (NetApp HCI/SolidFire) diese Optionen verfügbar.
Option | Beschreibung | Beispiel |
---|---|---|
|
||
|
ISCSI-IP-Adresse und -Port |
10.0.0.7:3260 Uhr |
|
SolidFireF Mandanten zu verwenden (erstellt, falls nicht gefunden) |
„Docker“ |
|
Geben Sie die Schnittstelle an, wenn der iSCSI-Datenverkehr auf eine nicht-Standardschnittstelle beschränkt wird |
„Standard“ |
|
QoS-Spezifikationen |
Siehe das Beispiel unten |
|
Präfix für aktualisierte Trident Installationen. Wenn Sie eine Version von Trident vor 1.3.2 verwendet haben und ein Upgrade mit vorhandenen Volumes durchführen, müssen Sie diesen Wert festlegen, um auf Ihre alten Volumes zuzugreifen, die über die Volume-Name-Methode zugeordnet wurden. |
„Netappdvp-“. |
Der solidfire-san
Der Treiber unterstützt Docker Swarm nicht.
Beispiel für eine Konfigurationsdatei für die Element Software
{ "version": 1, "storageDriverName": "solidfire-san", "Endpoint": "https://admin:admin@192.168.160.3/json-rpc/8.0", "SVIP": "10.0.0.7:3260", "TenantName": "docker", "InitiatorIFace": "default", "Types": [ { "Type": "Bronze", "Qos": { "minIOPS": 1000, "maxIOPS": 2000, "burstIOPS": 4000 } }, { "Type": "Silver", "Qos": { "minIOPS": 4000, "maxIOPS": 6000, "burstIOPS": 8000 } }, { "Type": "Gold", "Qos": { "minIOPS": 6000, "maxIOPS": 8000, "burstIOPS": 10000 } } ] }
Cloud Volumes Service (CVS) auf GCP-Konfiguration
Trident bietet jetzt Unterstützung für kleinere Volumes, wenn der standardmäßige CVS-Servicetyp auf aktiviert ist "GCP". Für mit erstellte Back-Ends storageClass=software
, Volumes verfügen jetzt über eine minimale Bereitstellungsgröße von 300 gib. NetApp empfiehlt Kunden, Sub-1-tib-Volumes für Workloads außerhalb der Produktionsumgebung zu nutzen. CVS bietet diese Funktion derzeit unter Controlled Availability und bietet keinen technischen Support.
Melden Sie sich für den Zugriff auf Sub-1-tib-Volumes an "Hier". |
Bei der Bereitstellung von Back-Ends mithilfe des standardmäßigen CVS-Servicetyps storageClass=software , Sie sollten Zugriff auf die Sub-1tib-Volume-Funktion auf GCP für die Projektnummer(n) und Projekt-ID(s) in Frage erhalten. Dies ist für Trident zur Bereitstellung von Sub-1-tib-Volumes erforderlich. Andernfalls schlägt die Volumenkreationen * bei VES mit <600 gib fehl. Zugriff auf Sub-1-tib-Volumes mit "Dieses Formular".
|
Von Trident erstellte Volumes für den CVS Standard-Service Level werden wie folgt bereitgestellt:
-
PVCs, die kleiner als 300 gib sind, führen dazu, dass Trident ein CVS-Volume mit 300 gib erstellt.
-
PVCs, die zwischen 300 gib und 600 gib liegen, führen dazu, dass Trident ein CVS Volume der angeforderten Größe erstellt.
-
PVCs, die zwischen 600 gib und 1 tib liegen, führen dazu, dass Trident ein 1 tib CVS Volume erstellt.
-
PVCs, die mehr als 1 tib sind, führen dazu, dass Trident ein CVS Volume der angeforderten Größe erstellt.
Zusätzlich zu den globalen Konfigurationswerten stehen bei Verwendung von CVS auf GCP diese Optionen zur Verfügung.
Option | Beschreibung | Beispiel |
---|---|---|
|
CVS-Kontoregion (erforderlich). Ist die GCP-Region, in der dieses Backend Volumes bereitstellen wird. |
„US-West2“ |
|
GCP-Projektnummer (erforderlich). Finden Sie in der GCP Web-Portal der Home-Bildschirm. |
„123456789012“ |
|
GCP-Host-Projektnummer für gemeinsam genutzte VPC (erforderlich bei Verwendung einer gemeinsamen VPC) |
„098765432109“ |
|
API Key für das GCP-Servicerkonto mit CVS Admin-Rolle (erforderlich). Ist der JSON-formatierte Inhalt der privaten Schlüsseldatei eines GCP-Dienstkontos (wortgetreu in die Back-End-Konfigurationsdatei kopiert). Das Service-Konto muss über die Rolle netappcloudVolumes.admin verfügen. |
(Inhalt der privaten Schlüsseldatei) |
|
Geheimer Schlüssel für CVS-Konto (erforderlich). Finden Sie im CVS-Webportal unter Kontoeinstellungen > API-Zugriff. |
„Standard“ |
|
Proxy-URL, wenn Proxyserver benötigt wird, um eine Verbindung mit dem CVS-Konto herzustellen. Der Proxy-Server kann entweder ein HTTP-Proxy oder ein HTTPS-Proxy sein. Bei einem HTTPS-Proxy wird die Zertifikatvalidierung übersprungen, um die Verwendung von selbstsignierten Zertifikaten im Proxy-Server zu ermöglichen. Proxy-Server mit aktivierter Authentifizierung werden nicht unterstützt. |
„http://proxy-server-hostname/” |
|
NFS-Mount-Optionen; standardmäßig „-o nfsvers=3“ |
„Nfsvers=3,proto=tcp,timeso=600“ |
|
Leistungslevel (Standard, Premium, Extreme), standardmäßig „Standard“ |
„Prämie“ |
|
Das für CVS Volumes verwendete GCP-Netzwerk ist standardmäßig „Standard“. |
„Standard“ |
Bei der Verwendung eines gemeinsamen VPC-Netzwerks sollten Sie beides angeben projectNumber Und hostProjectNumber . In diesem Fall projectNumber Ist das Service-Projekt und hostProjectNumber Ist das Hostprojekt.
|
NetApp Cloud Volumes Service für GCP unterstützt keine CVS-Performance Volumes mit einer Größe von weniger als 100 gib oder CVS Volumes mit einer Größe von weniger als 300 gib. Damit Applikationen einfacher implementiert werden können, erstellt Trident automatisch Volumes mit der Mindestgröße, wenn ein zu kleines Volume angefordert wird. |
Bei Verwendung von CVS auf GCP stehen diese standardmäßigen Volume-Optioneinstellungen zur Verfügung.
Option | Beschreibung | Beispiel |
---|---|---|
|
NFS-Zugriffsliste (Adressen und/oder CIDR-Subnetze), standardmäßig „0.0.0.0/0“ |
„10.0.1.0/24,10.0.2.100“ |
|
Steuert die Sichtbarkeit des |
„Falsch“ |
|
Snapshot Reserve Prozentsatz, Standardwert ist „“ um den CVS Standard von 0 zu akzeptieren |
„10“ |
|
Volume-Größe, standardmäßig „100 gib“ |
„10T“ |
Beispiel für CVS in der GCP-Konfigurationsdatei
{ "version": 1, "storageDriverName": "gcp-cvs", "projectNumber": "012345678901", "apiRegion": "us-west2", "apiKey": { "type": "service_account", "project_id": "my-gcp-project", "private_key_id": "1234567890123456789012345678901234567890", "private_key": " -----BEGIN PRIVATE KEY----- <key_value> -----END PRIVATE KEY-----\n", "client_email": "cloudvolumes-admin-sa@my-gcp-project.iam.gserviceaccount.com", "client_id": "123456789012345678901", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/cloudvolumes-admin-sa%40my-gcp-project.iam.gserviceaccount.com" }, "proxyURL": "http://proxy-server-hostname/" }
Azure NetApp Files-Konfiguration
Um ein zu konfigurieren und zu verwenden "Azure NetApp Dateien" Back-End, benötigen Sie Folgendes:
-
subscriptionID
Über ein Azure Abonnement mit aktiviertem Azure NetApp Files -
tenantID
,clientID
, undclientSecret
Von einem "App-Registrierung" In Azure Active Directory mit ausreichenden Berechtigungen für den Azure NetApp Files-Service -
Azure-Standort, der mindestens einen enthält "Delegiertes Subnetz"
Wenn Sie Azure NetApp Files zum ersten Mal oder an einem neuen Ort, einige anfängliche Konfiguration ist erforderlich, dass die "quickstart-Anleitung" Wir werden Sie durch die Wege gehen. |
Astra Trident 21.04.0 und frühere Versionen unterstützen keine manuellen QoS-Kapazitäts-Pools. |
Option | Beschreibung | Standard |
---|---|---|
|
Immer 1 |
|
|
„Azure-netapp-Files“ |
|
|
Benutzerdefinierter Name für das Storage-Back-End |
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 „Standard“, „Premium“ oder „Ultra“ |
„“ (zufällig) |
|
Der Name des Azure-Standortes werden in erstellt |
„“ (zufällig) |
|
Name eines virtuellen Netzwerks mit einem delegierten Subnetz |
„“ (zufällig) |
|
Name eines an delegierten Subnetzes |
„“ (zufällig) |
|
Engmaschige Kontrolle der NFS-Mount-Optionen |
„-o nfsvers=3“ |
|
Bereitstellung fehlgeschlagen, wenn die angeforderte Volume-Größe über diesem Wert liegt |
„“ (nicht standardmäßig durchgesetzt) |
Der Azure NetApp Files-Service unterstützt keine Volumes mit einer Größe von weniger als 100 GB. Damit Applikationen einfacher implementiert werden können, erstellt Trident automatisch 100 GB Volumes, falls ein kleineres Volume benötigt wird. |
Mit diesen Optionen kann standardmäßig gesteuert werden, wie jedes Volume in einem speziellen Abschnitt der Konfiguration bereitgestellt wird.
Option | Beschreibung | Standard |
---|---|---|
|
Die Exportregel(n) für neue Volumes. Muss eine kommagetrennte Liste beliebiger Kombinationen von IPv4-Adressen oder IPv4-Subnetzen in CIDR-Notation sein. |
„0.0.0.0/0“ |
|
Steuert die Sichtbarkeit des |
„Falsch“ |
|
Die Standardgröße der neuen Volumes |
„100 GB“ |
Beispiel für Azure NetApp Files-Konfigurationen
Beispiel 1: Minimale Backend-Konfiguration für Azure-netapp-Files
Dies ist die absolute minimale Backend-Konfiguration. Mit dieser Konfiguration entdeckt Trident alle Ihre NetApp Konten, Kapazitäts-Pools und Subnetze, die an ANF weltweit an jedem Standort delegiert wurden, und platziert zufällig neue Volumes auf einem davon.
Diese Konfiguration ist nützlich, wenn Sie gerade mit ANF beginnen und Dinge ausprobieren, Aber in der Praxis möchten Sie zusätzliche Scoping für die Volumen, die Sie bereitstellen, um sicherzustellen, dass sie über die Eigenschaften, die Sie wollen und am Ende auf einem Netzwerk, das in der Nähe der Berechnung, die es verwendet. Weitere Einzelheiten finden Sie in den nachfolgenden Beispielen.
{ "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" }
Beispiel 2: Einzelner Speicherort und spezifisches Service Level für Azure-netapp-Dateien
Diese Back-End-Konfiguration platziert Volumen in Azure „eastus“ Lage in einem „Premium“ Kapazitätspool. Trident erkennt automatisch alle Subnetze, die an ANF delegiert wurden, und fügt nach dem Zufallsprinzip ein neues Volume auf einem davon ein.
{ "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": "Premium" }
Beispiel 3: Erweiterte Konfiguration für Azure-netapp-Files
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": "Premium", "virtualNetwork": "my-virtual-network", "subnet": "my-subnet", "nfsMountOptions": "nfsvers=3,proto=tcp,timeo=600", "limitVolumeSize": "500Gi", "defaults": { "exportRule": "10.0.0.0/24,10.0.1.0/24,10.0.2.100", "size": "200Gi" } }
Beispiel 4: Virtuelle Speicherpools mit Azure-netapp-Dateien
Diese Back-End-Konfiguration definiert mehrere "Speicherpools" In einer einzelnen Datei gespeichert. 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.
Das ist nur kratzen die Oberfläche der Macht der virtuellen Speicher-Pools und ihre Labels.
{ "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", "nfsMountOptions": "nfsvers=3,proto=tcp,timeo=600", "labels": { "cloud": "azure" }, "location": "eastus", "storage": [ { "labels": { "performance": "gold" }, "serviceLevel": "Ultra" }, { "labels": { "performance": "silver" }, "serviceLevel": "Premium" }, { "labels": { "performance": "bronze" }, "serviceLevel": "Standard", } ] }