Verwenden des Container Storage Interface-Treibers (CSI) von Azure Files in Azure Kubernetes Service (AKS)
Der CSI-Treiber (Container Storage Interface) von Azure Files ist ein mit der CSI-Spezifikation konformer Treiber, der von Azure Kubernetes Service (AKS) zum Verwalten des Lebenszyklus von Azure-Dateifreigaben verwendet wird. CSI ist ein Standard für die Bereitstellung beliebiger Block- und Dateispeichersysteme für containerisierte Workloads in Kubernetes.
Durch die Einführung und Verwendung von CSI kann AKS nun Plug-Ins schreiben, bereitstellen und durchlaufen, um neue Speichersysteme in Kubernetes verfügbar zu machen oder vorhandene Speichersysteme in Kubernetes zu verbessern. Bei Verwendung von CSI-Treibern in AKS muss weder der Kerncode von Kubernetes geändert noch auf dessen Releasezyklen gewartet werden.
Informationen zum Erstellen eines AKS-Clusters mit CSI-Treiberunterstützung finden Sie unter Aktivieren von CSI-Treibern (Container Storage Interface) für Azure-Datenträger und Azure Files in Azure Kubernetes Service (AKS).
Hinweis
Strukturinterne Treiber sind die aktuellen Speichertreiber, die Teil des Kubernetes-Kerncodes sind, also nicht die neuen CSI-Treiber, die als Plug-Ins bereitgestellt werden.
Neue Features des Azure Files-CSI-Treibers
Zusätzlich zu den Features des ursprünglichen Strukturtreibers unterstützt der Azure Files-CSI-Treiber folgende neue Features:
- NFS-Version 4.1 (Network File System, Netzwerkdateisystem)
- Privater Endpunkt
- Paralleles Erstellen umfangreicher Einbindungen von Dateifreigaben
Verwenden eines persistenten Volumes mit Azure Files
Ein persistentes Volume (PV) stellt ein Speicherelement dar, das für die Verwendung mit Kubernetes-Pods bereitgestellt wurde. Ein persistentes Volume kann von einem oder mehreren Pods verwendet und dynamisch oder statisch bereitgestellt werden. Wenn mehrere Pods gleichzeitig Zugriff auf das gleiche Speichervolume benötigen, können Sie Azure Files verwenden, um eine Verbindung mithilfe des SMB-Protokolls (Server Message Block) oder mithilfe des NFS-Protokolls herzustellen. In diesem Artikel wird gezeigt, wie Sie dynamisch eine Azure Files-Freigabe erstellen, die von mehreren Pods in einem AKS-Cluster verwendet wird. Informationen zur statischen Bereitstellung finden Sie unter Manuelles Erstellen und Verwenden eines Volumes mit Azure Files-Freigabe.
Hinweis
Beachten Sie, dass der Azure File CSI-Treiber nur die Einbindung von SMB-Dateifreigaben mithilfe der schlüsselbasierten Authentifizierung (NTLM v2) zulässt und daher das maximale Sicherheitsprofil der Azure-Dateifreigabeeinstellungen nicht unterstützt. Auf der anderen Seite erfordert das Einbinden von NFS-Dateifreigaben keine schlüsselbasierte Authentifizierung.
Bei Azure Files-Freigaben gibt es keine Beschränkung bei der Anzahl, die auf einem Knoten eingebunden werden kann.
Weitere Informationen zu Kubernetes-Volumes finden Sie unter Speicheroptionen für Anwendungen in AKS.
Dynamisches Erstellen von persistenten Azure Files-Volumes mithilfe der integrierten Speicherklassen
Mit einer Speicherklasse wird festgelegt, wie eine Azure-Dateifreigabe erstellt wird. Es wird automatisch ein Speicherkonto in der Knotenressourcengruppe für die Verwendung mit der Speicherklasse erstellt, in dem die Azure-Dateifreigabe gespeichert wird. Wählen Sie für skuName eine der folgenden Azure-Speicherredundanz-SKUs aus:
- Standard_LRS: Standard – lokal redundanter Speicher
- Standard_GRS: Standard – georedundanter Speicher
- Standard_ZRS: Standard – zonenredundanter Speicher
- Standard_RAGRS: Standard – georedundanter Speicher mit Lesezugriff
- Standard_RAGRS: Geozonenredundanter Standardspeicher mit Lesezugriff (Standard-RA-GRS)
- Premium_LRS: Premium – lokal redundanter Speicher
- Premium_ZRS: zonenredundanter Premiumspeicher (ZRS)
Hinweis
Azure Files unterstützt Azure Premium-Dateifreigaben. Die kleinstmögliche Kapazität für Dateifreigaben beträgt 100 GiB. Es wird empfohlen, Azure Premium-Dateifreigaben anstelle von Standard-Dateifreigaben zu verwenden, da Premium-Dateifreigaben eine höhere Leistung und die Unterstützung von Datenträgern mit geringer Latenz für E/A-intensive Workloads bieten.
Wenn Sie CSI-Speichertreiber in AKS verwenden, gibt es zwei zusätzliche integrierte Speicherklassen (StorageClasses
), die die Azure Files-CSI-Speichertreiber verwenden. Die anderen CSI-Speicherklassen werden zusammen mit dem Cluster und zusätzlich zu den Standardspeicherklassen in der Struktur erstellt.
azurefile-csi
: Verwendet Azure Storage Standard zum Erstellen einer Azure-Dateifreigabe.azurefile-csi-premium
: Verwendet Azure Storage Premium zum Erstellen einer Azure-Dateifreigabe.
Die Freigaberichtlinie für beide Speicherklassen stellt sicher, dass beim Löschen eines persistenten Volumes auch die zugrunde liegende Azure Files Freigabe gelöscht wird. Mit der Speicherklasse werden auch die Dateifreigaben so konfiguriert, dass sie erweiterbar sind. Sie müssen lediglich den Anspruch auf ein persistentes Volume (Persistent Volume Claim, PVC) an die neue Größe anpassen.
Um diese Speicherklassen zu verwenden, erstellen Sie einen PVC und den entsprechenden Pod, der auf diesen verweist und ihn verwendet. Ein Anspruch auf ein persistentes Volume wird verwendet, um basierend auf einer Speicherklasse automatisch Speicher bereitzustellen. Ein Anspruch auf ein persistentes Volume kann eine der vorab erstellten Speicherklassen oder eine benutzerdefinierte Speicherklasse verwenden, um eine Azure-Dateifreigabe für die gewünschte SKU und Größe zu erstellen. Wenn Sie eine Poddefinition erstellen, wird der Anspruch auf ein persistentes Volume angegeben, um den gewünschten Speicher anzufordern.
Erstellen Sie mithilfe der folgenden Befehle vom Typ kubectl apply einen Beispielanspruch auf ein persistentes Volume sowie einen Pod, der das aktuelle Datum in eine Ausgabedatei (outfile
) ausgibt:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azurefile-csi-driver/master/deploy/example/pvc-azurefile-csi.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azurefile-csi-driver/master/deploy/example/nginx-pod-azurefile.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
persistentvolumeclaim/pvc-azurefile created
pod/nginx-azurefile created
Wenn der Pod den Status „Wird ausgeführt“ aufweist, können Sie überprüfen, ob die Dateifreigabe ordnungsgemäß eingebunden wurde, indem Sie den folgenden Befehl ausführen. Überprüfen Sie dann, ob die Ausgabe das outfile
enthält:
kubectl exec nginx-azurefile -- ls -l /mnt/azurefile
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
total 29
-rwxrwxrwx 1 root root 29348 Aug 31 21:59 outfile
Erstellen einer benutzerdefinierten Speicherklasse
Die Standardspeicherklassen eignen sich für die gängigsten Szenarien, aber nicht für alle. In einigen Fällen möchten Sie möglicherweise Ihre eigene Speicherklasse mit eigenen Parametern anpassen. Verwenden Sie z. B. das folgende Manifest, um die mountOptions
der Dateifreigabe zu konfigurieren.
Der Standardwert für fileMode und dirMode lautet bei in Kubernetes eingebundenen Dateifreigaben 0777. Sie können die verschiedenen Einbindungsoptionen im Speicherklassenobjekt angeben.
Erstellen Sie eine Datei mit dem Namen azure-file-sc.yaml
, und fügen Sie das folgende Beispielmanifest ein:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: my-azurefile
provisioner: file.csi.azure.com
reclaimPolicy: Delete
volumeBindingMode: Immediate
allowVolumeExpansion: true
mountOptions:
- dir_mode=0640
- file_mode=0640
- uid=0
- gid=0
- mfsymlinks
- cache=strict # https://linux.die.net/man/8/mount.cifs
- nosharesock
parameters:
skuName: Standard_LRS
Führen Sie den folgenden Befehl vom Typ kubectl apply aus, um die Speicherklasse zu erstellen:
kubectl apply -f azure-file-sc.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
storageclass.storage.k8s.io/my-azurefile created
Der Azure Files-CSI-Treiber unterstützt das Erstellen von Momentaufnahmen von permanenten Volumes und den zugrunde liegenden Dateifreigaben.
Verwenden Sie den Befehl kubectl apply zum Erstellen einer Momentaufnahmeklasse für das Volume:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azurefile-csi-driver/master/deploy/example/snapshot/volumesnapshotclass-azurefile.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
volumesnapshotclass.snapshot.storage.k8s.io/csi-azurefile-vsc created
Erstellen Sie eine Volumemomentaufnahme mit dem Anspruch auf ein persistentes Volume, den Sie zu Beginn dieses Tutorials dynamisch erstellt haben (pvc-azurefile
).
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azurefile-csi-driver/master/deploy/example/snapshot/volumesnapshot-azurefile.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
volumesnapshot.snapshot.storage.k8s.io/azurefile-volume-snapshot created
Führen Sie den folgenden Befehl aus, um sich zu vergewissern, dass die Momentaufnahme ordnungsgemäß erstellt wurde:
kubectl describe volumesnapshot azurefile-volume-snapshot
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
Name: azurefile-volume-snapshot
Namespace: default
Labels: <none>
Annotations: API Version: snapshot.storage.k8s.io/v1beta1
Kind: VolumeSnapshot
Metadata:
Creation Timestamp: 2020-08-27T22:37:41Z
Finalizers:
snapshot.storage.kubernetes.io/volumesnapshot-as-source-protection
snapshot.storage.kubernetes.io/volumesnapshot-bound-protection
Generation: 1
Resource Version: 955091
Self Link: /apis/snapshot.storage.k8s.io/v1beta1/namespaces/default/volumesnapshots/azurefile-volume-snapshot
UID: c359a38f-35c1-4fb1-9da9-2c06d35ca0f4
Spec:
Source:
Persistent Volume Claim Name: pvc-azurefile
Volume Snapshot Class Name: csi-azurefile-vsc
Status:
Bound Volume Snapshot Content Name: snapcontent-c359a38f-35c1-4fb1-9da9-2c06d35ca0f4
Ready To Use: false
Events: <none>
Ändern der Größe eines persistenten Volumes
Sie können ein größeres Volume für einen Anspruch auf ein persistentes Volume anfordern. Bearbeiten Sie das PVC-Objekt, und geben Sie eine höhere Größe an. Diese Änderung löst die Erweiterung des zugrunde liegenden Volumes für den Anspruch auf ein persistentes Volume aus.
Hinweis
Für den Anspruch wird nie ein neues persistentes Volume erstellt. Stattdessen wird die Größe eines vorhandenen Volumes geändert.
Das Verkleinern persistenter Volumes wird derzeit nicht unterstützt.
In AKS unterstützt die integrierte Speicherklasse azurefile-csi
bereits Erweiterungen. Verwenden Sie daher den zuvor erstellten Anspruch auf ein persistentes Volume mit dieser Speicherklasse. Der Anspruch auf ein persistentes Volume hat eine 100 GiB große Dateifreigabe angefordert. Sie können dies überprüfen, indem Sie Folgendes ausführen:
kubectl exec -it nginx-azurefile -- df -h /mnt/azurefile
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
Filesystem Size Used Avail Use% Mounted on
//f149b5a219bd34caeb07de9.file.core.windows.net/pvc-5e5d9980-da38-492b-8581-17e3cad01770 100G 128K 100G 1% /mnt/azurefile
Vergrößern Sie das Feld spec.resources.requests.storage
, um den Anspruch auf ein persistentes Volume zu erweitern:
kubectl patch pvc pvc-azurefile --type merge --patch '{"spec": {"resources": {"requests": {"storage": "200Gi"}}}}'
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
persistentvolumeclaim/pvc-azurefile patched
Überprüfen Sie, ob sowohl der Anspruch auf ein persistentes Volume als auch das Dateisystem im Pod die neue Größe aufweisen:
kubectl get pvc pvc-azurefile
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pvc-azurefile Bound pvc-5e5d9980-da38-492b-8581-17e3cad01770 200Gi RWX azurefile-csi 64m
kubectl exec -it nginx-azurefile -- df -h /mnt/azurefile
Filesystem Size Used Avail Use% Mounted on
//f149b5a219bd34caeb07de9.file.core.windows.net/pvc-5e5d9980-da38-492b-8581-17e3cad01770 200G 128K 200G 1% /mnt/azurefile
Verwenden eines persistenten Volumes mit privatem Azure Files-Speicher (privater Endpunkt)
Wenn Ihre Azure Files-Ressourcen durch einen privaten Endpunkt geschützt sind, müssen Sie Ihre eigene Speicherklasse erstellen. Stellen Sie sicher, dass Sie Ihre DNS-Einstellungen so konfiguriert haben, dass die IP-Adresse des privaten Endpunkts in den FQDN der Verbindungszeichenfolge aufgelöst wird. Passen Sie die folgenden Parameter an:
resourceGroup
: Die Ressourcengruppe, in der das Speicherkonto bereitgestellt wurde.storageAccount
: Der Name des Speicherkontos.server
: Der FQDN des privaten Endpunkts des Speicherkontos.
Erstellen Sie eine Datei mit dem Namen private-azure-file-sc.yaml
, und fügen Sie dann das folgende Beispielmanifest in die Datei ein. Ersetzen Sie die Werte für <resourceGroup>
und <storageAccountName>
.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: private-azurefile-csi
provisioner: file.csi.azure.com
allowVolumeExpansion: true
parameters:
resourceGroup: <resourceGroup>
storageAccount: <storageAccountName>
server: <storageAccountName>.file.core.windows.net
reclaimPolicy: Delete
volumeBindingMode: Immediate
mountOptions:
- dir_mode=0777
- file_mode=0777
- uid=0
- gid=0
- mfsymlinks
- cache=strict # https://linux.die.net/man/8/mount.cifs
- nosharesock # reduce probability of reconnect race
- actimeo=30 # reduce latency for metadata-heavy workload
Verwenden Sie den Befehl kubectl apply
, um die Speicherklasse zu erstellen:
kubectl apply -f private-azure-file-sc.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
storageclass.storage.k8s.io/private-azurefile-csi created
Erstellen Sie eine Datei mit dem Namen private-pvc.yaml
, und fügen Sie dann das folgende Beispielmanifest in die Datei ein:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: private-azurefile-pvc
spec:
accessModes:
- ReadWriteMany
storageClassName: private-azurefile-csi
resources:
requests:
storage: 100Gi
Erstellen Sie den Anspruch auf ein persistentes Volume mit dem Befehl kubectl apply:
kubectl apply -f private-pvc.yaml
NFS-Dateifreigaben
Azure Files unterstützt das NFS v4.1-Protokoll. Dank der Unterstützung der NFS-Version 4.1 für Azure Files steht Ihnen ein vollständig verwaltetes NFS-Dateisystem als Dienst zur Verfügung, der auf einer hochverfügbaren, überaus robusten, verteilten und resilienten Speicherplattform basiert.
Diese Option ist für Workloads mit zufälligem Zugriff und direkten Datenaktualisierungen optimiert und bietet vollständige Unterstützung für POSIX-Dateisysteme. In diesem Abschnitt erfahren Sie, wie Sie NFS-Freigaben mit dem Azure Files-CSI-Treiber in einem AKS-Cluster verwenden.
Voraussetzungen
- Ihre Identität auf Steuerungsebene für den AKS-Cluster (also Ihr AKS-Clustername) wird der Rolle Mitwirkender für VNet und NetworkSecurityGroup hinzugefügt.
- Der Dienstprinzipal oder die verwaltete Dienstidentität (Managed Service Identity, MSI) des AKS-Clusters muss der Rolle „Mitwirkender“ für das Speicherkonto hinzugefügt werden.
Hinweis
Sie können einen privaten Endpunkt verwenden, anstatt den Zugriff auf das ausgewählte VNet zuzulassen.
Optimieren von Optionen für Lese- und Schreibgröße
In diesem Abschnitt finden Sie Informationen dazu, wie Sie die Leistung von NFS mit dem Azure Files-CSI-Treiber und den Optionen rsize und wsize optimieren. Die Optionen „rsize“ und „wsize“ legen die maximale Übertragungsgröße eines NFS-Vorgangs fest. Wenn „rsize“ oder „wsize“ beim Einbinden nicht angegeben werden, handeln Client und Server die höchste von beiden unterstützte Größe aus. Derzeit unterstützen sowohl Azure NetApp Files als auch moderne Linux-Distributionen Lese- und Schreibgrößen von bis zu 1.048.576 Bytes (1 MiB).
Für eine optimale Leistung muss die Client-Server-Kommunikation möglichst effizient sein. Das Erhöhen oder Verringern der Werte für Lese- und Schreibgröße der Bereitstellung kann die NFS-Leistung verbessern. Die Standardgröße der zwischen Client und Server übertragenen Lese-/Schreibpakete beträgt 8 KB für NFS Version 2 und 32 KB für NFS Version 3 und 4. Diese Standardwerte können zu groß oder zu klein sein. Die Reduzierung von „rsize“ und „wsize“ kann die NFS-Leistung in einem überlasteten Netzwerk verbessern, indem kleinere Pakete für jede NFS-Leseantwort und -Schreibanforderung gesendet werden. Dies kann jedoch die Anzahl der Pakete erhöhen, die zum Senden von Daten über das Netzwerk erforderlich sind, wodurch wiederum der Netzwerkdatenverkehr und die CPU-Auslastung insgesamt auf Client und Server erhöht werden.
Es ist wichtig Tests durchzuführen, um Werte für „rsize“ und „wsize“ zu bestimmen, die eine effiziente Paketübertragung unterstützen, ohne den Durchsatz zu verringern oder die Latenz zu erhöhen.
Weitere Informationen zum Optimieren von „rsize“ und „wsize“ finden Sie unter Bewährte Methoden für die Linux-NFS-Einbindungsoptionen für Azure NetApp Files.
Um beispielsweise einen Höchstwert von 256 KiB für rsize und wsize festzulegen, konfigurieren Sie die mountOptions
in der Speicherklasse wie folgt:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: azurefile-csi-nfs
provisioner: file.csi.azure.com
allowVolumeExpansion: true
parameters:
protocol: nfs
mountOptions:
- nconnect=4
- noresvport
- actimeo=30
- rsize=262144
- wsize=262144
Erstellen einer Speicherklasse für die NFS-Dateifreigabe
Erstellen Sie eine Datei namens nfs-sc.yaml
, und kopieren Sie das folgende Manifest: Eine Liste der unterstützten mountOptions
finden Sie unter NFS-Einbindungsoptionen.
Hinweis
vers
, minorversion
, sec
werden vom Azure File CSI-Treiber konfiguriert. Das Angeben eines Werts in Ihrem Manifest für diese Eigenschaften wird nicht unterstützt.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: azurefile-csi-nfs
provisioner: file.csi.azure.com
allowVolumeExpansion: true
parameters:
protocol: nfs
mountOptions:
- nconnect=4
- noresvport
- actimeo=30
Erstellen Sie nach dem Bearbeiten und Speichern der Datei die Speicherklasse mit dem Befehl kubectl apply:
kubectl apply -f nfs-sc.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
storageclass.storage.k8s.io/azurefile-csi-nfs created
Erstellen einer Bereitstellung mit einer NFS-gestützten Dateifreigabe
Sie können ein exemplarisches StatefulSet-Objekt bereitstellen, das Zeitstempel in einer Datei data.txt
speichert, indem Sie den Befehl kubectl apply ausführen:
kubectl apply -f
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: statefulset-azurefile
labels:
app: nginx
spec:
podManagementPolicy: Parallel # default is OrderedReady
serviceName: statefulset-azurefile
replicas: 1
template:
metadata:
labels:
app: nginx
spec:
nodeSelector:
"kubernetes.io/os": linux
containers:
- name: statefulset-azurefile
image: mcr.microsoft.com/oss/nginx/nginx:1.19.5
command:
- "/bin/bash"
- "-c"
- set -euo pipefail; while true; do echo $(date) >> /mnt/azurefile/outfile; sleep 1; done
volumeMounts:
- name: persistent-storage
mountPath: /mnt/azurefile
updateStrategy:
type: RollingUpdate
selector:
matchLabels:
app: nginx
volumeClaimTemplates:
- metadata:
name: persistent-storage
spec:
storageClassName: azurefile-csi-nfs
accessModes: ["ReadWriteMany"]
resources:
requests:
storage: 100Gi
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
statefulset.apps/statefulset-azurefile created
Führen Sie den folgenden Befehl aus, um den Inhalt des Volumes zu überprüfen:
kubectl exec -it statefulset-azurefile-0 -- df -h
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
Filesystem Size Used Avail Use% Mounted on
...
/dev/sda1 29G 11G 19G 37% /etc/hosts
accountname.file.core.windows.net:/accountname/pvc-fa72ec43-ae64-42e4-a8a2-556606f5da38 100G 0 100G 0% /mnt/azurefile
...
Hinweis
Hinweis: Da die NFS-Dateifreigabe einem Premium-Konto angehört, beträgt die Mindestgröße für die Dateifreigabe 100 GiB. Wenn Sie einen PVC mit geringer Speichergröße erstellen, tritt möglicherweise ein Fehler wie der folgende auf: Fehler beim Erstellen der Dateifreigabe... Größe (5)....
Windows-Container
Der Azure Files-CSI-Treiber unterstützt auch Windows-Knoten und -Container. Wenn Sie Windows-Container verwenden möchten, gehen Sie wie in der Schnellstartanleitung für Windows-Container beschrieben vor, um einen Windows-Knotenpool hinzuzufügen.
Wenn Sie über einen Windows-Knotenpool verfügen, können Sie die integrierten Speicherklassen wie azurefile-csi
verwenden oder eine benutzerdefinierte Speicherklasse erstellen. Sie können ein exemplarisches Windows-basiertes StatefulSet-Objekt bereitstellen, das Zeitstempel in einer Datei (data.txt
) speichert, indem Sie den Befehl kubectl apply ausführen:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azurefile-csi-driver/master/deploy/example/windows/statefulset.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
statefulset.apps/busybox-azurefile created
Führen Sie den folgenden Befehl vom Typ kubectl exec aus, um den Inhalt des Volumes zu überprüfen:
kubectl exec -it busybox-azurefile-0 -- cat c:\\mnt\\azurefile\\data.txt # on Linux/MacOS Bash
kubectl exec -it busybox-azurefile-0 -- cat c:\mnt\azurefile\data.txt # on Windows Powershell/CMD
Die Ausgabe der Befehle sieht in etwa wie im folgenden Beispiel aus:
2020-08-27 22:11:01Z
2020-08-27 22:11:02Z
2020-08-27 22:11:04Z
(...)
Nächste Schritte
- Informationen zur Verwendung von CSI-Treibern für Azure-Datenträger finden Sie unter Verwenden von Azure-Datenträgern mit CSI-Treibern.
- Informationen zur Verwendung des CSI-Treibers für Azure Blob Storage finden Sie unter Verwenden von Azure Blob Storage mit CSI-Treibern.
- Weitere Informationen zu bewährten Methoden bei der Speicherung finden Sie unter Best Practices für Speicherung und Sicherungen in Azure Kubernetes Service (AKS).
Azure Kubernetes Service