Verwenden des Container Storage Interface (CSI)-Treibers für Azure-Datenträger in Azure Kubernetes Service (AKS)
Der Container Storage Interface (CSI)-Treiber für Azure-Datenträger ist ein mit der CSI-Spezifikation konformer Treiber, der von Azure Kubernetes Service (AKS) zum Verwalten des Lebenszyklus von Azure-Datenträgern 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). Dieser Artikel beschreibt die Verwendung des Azure Disk-CSI-Treibers Version 1.
Hinweis
Azure Disk-CSI-Treiber v2 (Vorschau) verbessert die Skalierbarkeit und reduziert die Failover-Latenz von Pods. Sie verwendet freigegebene Datenträger, um Anfügereplikate auf mehreren Clusterknoten bereitzustellen, und ist mit dem Pod-Planer integriert, um sicherzustellen, dass im Falle eines Pod-Failovers ein Knoten mit einem Anfügereplikat ausgewählt wird. Der Azure Disk-CSI-Treiber v2 (Vorschau) bietet auch die Möglichkeit, die Leistung zu optimieren. Wenn Sie an der Vorschau teilnehmen möchten, senden Sie eine Anfrage: https://aka.ms/DiskCSIv2Preview. Diese Vorschauversion wird ohne Dienstebenenvereinbarung bereitgestellt, und während der Vorschauphase ist mit gelegentlichen Breaking Changes zu rechnen. Die Vorschauversion sollte nicht für Produktionsworkloads verwendet werden. Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.
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.
Features des Azure Disk-CSI-Treibers
Zusätzlich zu den Features des Strukturtreibers unterstützt der Azure Disk-CSI-Treiber folgende Features:
- Leistungsverbesserungen bei gleichzeitiger Datenträgeranfügung und -trennung
- Von Strukturtreibern werden Datenträger nacheinander angefügt oder getrennt. Von CSI-Treibern werden Datenträger per Batchvorgang angefügt bzw. getrennt. Es wird eine erhebliche Verbesserung erzielt, wenn mehrere Datenträger an einen einzelnen Knoten angefügt werden.
- Premium SSD v1 und v2 werden unterstützt.
PremiumV2_LRS
unterstützt nur den CachemodusNone
- Unterstützung von ZRS-Datenträgern (zonenredundanter Speicher)
- Die Datenträgertypen
Premium_ZRS
undStandardSSD_ZRS
werden unterstützt. Ein ZRS-Datenträger kann für den Knoten mit oder ohne Zone geplant werden. Dabei gilt nicht die Einschränkung, dass sich das Datenträgervolume in derselben Zone wie ein bestimmter Knoten befinden muss. Weitere Informationen, einschließlich der unterstützten Regionen, finden Sie unter Zonenredundanter Speicher für verwaltete Datenträger.
- Die Datenträgertypen
- Momentaufnahme
- Volumeklon
- Ändern der Größe eines persistenten Datenträgevolumes ohne Ausfallzeiten
Hinweis
Abhängig von der verwendeten VM-SKU kann der Azure Disk-CSI-Treiber ein Volumenlimit pro Knoten haben. Für einige leistungsstarke VMs (z. B. 16 Kerne) beträgt das Limit 64 Volumes pro Knoten. Um das Limit pro VM-SKU zu ermitteln, überprüfen Sie die Spalte Max. Datenträger für jede angebotene VM-SKU. Eine Liste der angebotenen VM-SKUs mit deren entsprechenden detaillierten Kapazitätslimits finden Sie unter Universelle VM-Größen.
Verwenden persistenter CSI-Volumes mit Azure-Datenträgern
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. In diesem Artikel erfahren Sie, wie Sie dynamisch PVs mit Azure-Datenträger zur Verwendung durch einen einzelnen Pod in einem AKS-Cluster erstellen können. Informationen zur statischen Bereitstellung finden Sie unter Manuelles Erstellen und Verwenden eines Volumes mit Azure-Datenträgern in Azure Kubernetes Service (AKS).
Weitere Informationen zu Kubernetes-Volumes finden Sie unter Speicheroptionen für Anwendungen in AKS.
Dynamisches Erstellen von persistenten Azure-Datenträgervolumes mithilfe der integrierten Speicherklassen
Mit einer Speicherklasse wird festgelegt, wie eine Speichereinheit dynamisch in einem persistenten Volume erstellt wird. Weitere Informationen zu Kubernetes-Speicherklassen finden Sie unter Kubernetes-Speicherklassen.
Wenn Sie den Azure Disk-CSI-Treiber auf AKS verwenden, gibt es zwei weitere integrierte StorageClasses
, die den Azure Disk-CSI-Speichertreiber verwenden. Die anderen CSI-Speicherklassen werden zusammen mit dem Cluster und zusätzlich zu den Standardspeicherklassen in der Struktur erstellt.
managed-csi
: Verwendet lokal redundanten Azure-SSD Standard-Speicher (LRS) zum Erstellen eines verwalteten Datenträgers. Ab Kubernetes-Version 1.29 nutzt diese Speicherklasse in Azure Kubernetes Service (AKS)-Clustern, die über mehrere Verfügbarkeitszonen bereitgestellt werden, Azure Standard SSD Zone-Redundant Storage (ZRS), um verwaltete Datenträger zu erstellen.managed-csi-premium
: Verwendet lokal redundanten Azure-Premium-Speicher (LRS) zum Erstellen verwalteter Datenträger. Ab Kubernetes-Version 1.29 nutzt diese Speicherklasse in Azure Kubernetes Service (AKS)-Clustern, die über mehrere Verfügbarkeitszonen bereitgestellt werden, zonenredundanten Azure Premium-Speicher (ZRS) zum Erstellen verwalteter Datenträger.
Die Freigaberichtlinie in beiden Speicherklassen stellt sicher, dass beim Löschen eines persistenten Volumes auch die zugrunde liegenden Azure-Datenträger gelöscht werden. Die Speicherklassen konfigurieren die persistenten Volumes auch so, dass sie erweiterbar sind. Sie müssen nur den persistenten Volumeanspruch (PVC) mit der neuen Größe bearbeiten.
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 einen verwalteten Azure-Datenträger 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 einen Beispielpod und einen entsprechenden PVC durch Ausführen des Befehls kubectl apply:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/deploy/example/pvc-azuredisk-csi.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/deploy/example/nginx-pod-azuredisk.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
persistentvolumeclaim/pvc-azuredisk created
pod/nginx-azuredisk created
Warten Sie, bis der Pod ausgeführt wird, und führen Sie anschließend den folgenden Befehl aus, um eine neue Datei mit dem Namen test.txt
zu erstellen:
kubectl exec nginx-azuredisk -- touch /mnt/azuredisk/test.txt
Führen Sie den folgenden Befehl aus, und überprüfen Sie, ob die Datei test.txt
in der Ausgabe angezeigt wird, um sich zu vergewissern, dass der Datenträger ordnungsgemäß eingebunden ist:
kubectl exec nginx-azuredisk -- ls /mnt/azuredisk
lost+found
outfile
test.txt
Erstellen einer benutzerdefinierten Speicherklasse
Die Standardspeicherklassen sind für die meisten gängigen Szenarien geeignet. In einigen Fällen möchten Sie möglicherweise Ihre eigene Speicherklasse mit eigenen Parametern anpassen. Zum Beispiel können Sie bei Bedarf die Klasse volumeBindingMode
ändern.
Sie können eine Klasse vom Typ volumeBindingMode: Immediate
verwenden, um sicherzustellen, dass der Vorgang unmittelbar nach der Erstellung des PVC ausgeführt wird. Wenn Ihre Knotenpools durch die Topologie eingeschränkt sind – etwa bei Verwendung von Verfügbarkeitszonen – werden PVs ohne Kenntnis der Planungsanforderungen des Pods gebunden oder bereitgestellt.
Um dieses Szenario zu behandeln, können Sie volumeBindingMode: WaitForFirstConsumer
verwenden, wodurch das Binden und Bereitstellen eines PVs verzögert wird, bis ein Pod erstellt wird, der den PVC verwendet. Dadurch wird das PV konform und in der Verfügbarkeitszone (oder einer anderen Topologie) bereitgestellt, die durch die Planungseinschränkungen des Pods angegeben ist. Die Standardspeicherklassen verwenden volumeBindingMode: WaitForFirstConsumer
class.
Erstellen Sie eine Datei namens sc-azuredisk-csi-waitforfirstconsumer.yaml
, und fügen Sie anschließend das folgende Manifest ein. Die Speicherklasse entspricht der Speicherklasse managed-csi
, es wird jedoch eine andere Klasse vom Typ volumeBindingMode
verwendet.
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: azuredisk-csi-waitforfirstconsumer
provisioner: disk.csi.azure.com
parameters:
skuname: StandardSSD_LRS
allowVolumeExpansion: true
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
Erstellen Sie die Speicherklasse durch Ausführen des Befehls kubectl apply, und geben Sie dabei die Datei sc-azuredisk-csi-waitforfirstconsumer.yaml
an:
kubectl apply -f sc-azuredisk-csi-waitforfirstconsumer.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
storageclass.storage.k8s.io/azuredisk-csi-waitforfirstconsumer created
Volumesnapshots
Der Azure Disk-CSI-Treiber unterstützt die Erstellung von Momentaufnahmen von persistenten Volumes. Im Rahmen dieser Funktion kann der Treiber entweder vollständige oder inkrementelle Momentaufnahmen ausführen, je nach dem Wert, der im Parameter incremental
festgelegt wurde (standardmäßig ist dies „true“).
Die folgende Tabelle enthält Details zu allen Parametern:
Name | Bedeutung | Verfügbarer Wert | Obligatorisch. | Standardwert |
---|---|---|---|---|
resourceGroup | Ressourcengruppe zum Speichern von Momentaufnahmen | VORHANDENE RESSOURCENGRUPPE | No | Ohne Angabe werden Momentaufnahmen in der gleichen Ressourcengruppe gespeichert wie die Azure-Quelldatenträger. |
incremental | Erstellen vollständiger oder inkrementeller Momentaufnahmen | true , false |
Nein | true |
tags | Tags von Azure-Datenträgern | Tagformat: Schlüssel1=Wert1,Schlüssel2=Wert2 | Nein | "" |
userAgent | Benutzer-Agent für die Zuordnung der Nutzung durch Kunden | Nein | Generierter Benutzer-Agent im Format driverName/driverVersion compiler/version (OS-ARCH) |
|
subscriptionID | Angeben der Azure-Abonnement-ID, unter der die Azure-Datenträger erstellt werden | Azure-Abonnement-ID | Nein | Ist dieser Wert nicht leer, muss resourceGroup angegeben werden. incremental muss auf false festgelegt werden. |
Erstellen einer Volumemomentaufnahme
Hinweis
Bevor Sie fortfahren, stellen Sie sicher, dass die Anwendung keine Daten auf den Quelldatenträger schreibt.
Als Beispiel für diese Funktion erstellen Sie eine Volumemomentaufnahmenklasse mit dem Befehl kubectl apply:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/deploy/example/snapshot/storageclass-azuredisk-snapshot.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
volumesnapshotclass.snapshot.storage.k8s.io/csi-azuredisk-vsc created
Erstellen Sie jetzt eine Volumemomentaufnahme mit dem Anspruch auf ein persistentes Volume (PVC), den Sie zu Beginn dieses Tutorials dynamisch erstellt haben (pvc-azuredisk
).
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/deploy/example/snapshot/azuredisk-volume-snapshot.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
volumesnapshot.snapshot.storage.k8s.io/azuredisk-volume-snapshot created
Um zu überprüfen, ob die Momentaufnahme ordnungsgemäß erstellt wurde, führen Sie den folgenden Befehl aus:
kubectl describe volumesnapshot azuredisk-volume-snapshot
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
Name: azuredisk-volume-snapshot
Namespace: default
Labels: <none>
Annotations: API Version: snapshot.storage.k8s.io/v1
Kind: VolumeSnapshot
Metadata:
Creation Timestamp: 2020-08-27T05:27:58Z
Finalizers:
snapshot.storage.kubernetes.io/volumesnapshot-as-source-protection
snapshot.storage.kubernetes.io/volumesnapshot-bound-protection
Generation: 1
Resource Version: 714582
Self Link: /apis/snapshot.storage.k8s.io/v1/namespaces/default/volumesnapshots/azuredisk-volume-snapshot
UID: dd953ab5-6c24-42d4-ad4a-f33180e0ef87
Spec:
Source:
Persistent Volume Claim Name: pvc-azuredisk
Volume Snapshot Class Name: csi-azuredisk-vsc
Status:
Bound Volume Snapshot Content Name: snapcontent-dd953ab5-6c24-42d4-ad4a-f33180e0ef87
Creation Time: 2020-08-31T05:27:59Z
Ready To Use: true
Restore Size: 10Gi
Events: <none>
Erstellen eines neuen PVCs auf Basis einer Volumemomentaufnahme
Sie können einen neuen PVC auf der Grundlage einer Volumemomentaufnahme erstellen. Verwenden Sie die im vorigen Schritt erstellte Momentaufnahme, und erstellen Sie einen neuen PVC sowie einen neuen Pod, um ihn zu verwenden.
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/deploy/example/snapshot/pvc-azuredisk-snapshot-restored.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/deploy/example/snapshot/nginx-pod-restored-snapshot.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
persistentvolumeclaim/pvc-azuredisk-snapshot-restored created
pod/nginx-restored created
Zum Schluss stellen wir sicher, dass es sich um denselben PVC handelt, der zuvor erstellt wurde, indem wir den Inhalt durch Ausführen des folgenden Befehls überprüfen:
kubectl exec nginx-restored -- ls /mnt/azuredisk
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
lost+found
outfile
test.txt
Wie erwartet, können wir immer noch unsere zuvor erstellte Datei test.txt
sehen.
Klonen von Volumes
Ein geklontes Volumen ist als Duplikat eines vorhandenen Kubernetes-Volumens definiert. Weitere Informationen zum Klonen von Volumes in Kubernetes finden Sie in der konzeptionellen Dokumentation zum Klonen von Volumes.
Der CSI-Treiber für Azure-Datenträger unterstützt das Klonen von Volumes. Erstellen Sie zur Veranschaulichung ein geklontes Volume des zuvor erstellten Volumes azuredisk-pvc
und einen neuen Pod, um es zu verwenden.
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/deploy/example/cloning/pvc-azuredisk-cloning.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/deploy/example/cloning/nginx-pod-restored-cloning.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
persistentvolumeclaim/pvc-azuredisk-cloning created
pod/nginx-restored-cloning created
Sie können den Inhalt des geklonten Volumes überprüfen, indem Sie den folgenden Befehl ausführen und sich vergewissern, dass die Datei test.txt
erstellt wurde:
kubectl exec nginx-restored-cloning -- ls /mnt/azuredisk
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
lost+found
outfile
test.txt
Ändern der Größe eines persistenten Volumes ohne Ausfallzeiten
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.
In AKS unterstützt die integrierte Speicherklasse managed-csi
bereits Erweiterungen. Verwenden Sie daher den zuvor erstellten Anspruch auf ein persistentes Volume mit dieser Speicherklasse. Der PVC hat ein persistentes 10-Gi-Volume angefordert. Zur Bestätigung können Sie den folgenden Befehl ausführen:
kubectl exec -it nginx-azuredisk -- df -h /mnt/azuredisk
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
Filesystem Size Used Avail Use% Mounted on
/dev/sdc 9.8G 42M 9.8G 1% /mnt/azuredisk
Erweitern Sie den PVC, indem Sie das Feld spec.resources.requests.storage
durch Ausführen des folgenden Befehls erhöhen:
kubectl patch pvc pvc-azuredisk --type merge --patch '{"spec": {"resources": {"requests": {"storage": "15Gi"}}}}'
Hinweis
Das Verkleinern persistenter Volumes wird derzeit nicht unterstützt. Beim Versuch, einen vorhandenen PVC mit einer kleineren Größe als der aktuellen zu patchen, wird die folgende Fehlermeldung angezeigt: The persistentVolumeClaim "pvc-azuredisk" is invalid: spec.resources.requests.storage: Forbidden: field can not be less than previous value.
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
persistentvolumeclaim/pvc-azuredisk patched
Führen Sie den folgenden Befehl aus, um sich zu vergewissern, dass die Volumengröße erhöht wurde:
kubectl get pv
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-391ea1a6-0191-4022-b915-c8dc4216174a 15Gi RWO Delete Bound default/pvc-azuredisk managed-csi 2d2h
(...)
Warten Sie einige Minuten, und führen Sie dann die folgenden Befehle aus, um die Größe des PVC zu bestätigen:
kubectl get pvc pvc-azuredisk
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
pvc-azuredisk Bound pvc-391ea1a6-0191-4022-b915-c8dc4216174a 15Gi RWO managed-csi 2d2h
Führen Sie den folgenden Befehl aus, um die Größe des Datenträgers innerhalb des Pods zu überprüfen:
kubectl exec -it nginx-azuredisk -- df -h /mnt/azuredisk
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
Filesystem Size Used Avail Use% Mounted on
/dev/sdc 15G 46M 15G 1% /mnt/azuredisk
Bedarfsgesteuertes Bursting
Das Modell für bedarfsgesteuertes Bursting ermöglicht Datenträgerbursts, wenn der Bedarf die aktuelle Kapazität übersteigt. Dieses Modell generiert beim Bursting des Datenträgers zusätzliche Gebühren. Bedarfsgesteuertes Bursting ist nur für Premium-SSDs verfügbar, die größer als 512 GiB sind. Weitere Informationen zu bereitgestellten IOPS von SSD Premium sowie zum Durchsatz pro Datenträger finden Sie unter Premium SSD-Größe. Eine Alternative ist guthabenbasiertes Bursting. Hierbei wird Datenträgerbursting nur genutzt, wenn im zugehörigen Guthabenbucket entsprechendes Guthaben gesammelt wurde. Das guthabenbasierte Bursting generiert keine zusätzlichen Gebühren beim Bursting des Datenträgers. Das guthabenbasierte Bursting ist nur für SSD-Datenträger vom Typ Premium mit maximal 512 GiB sowie vom Typ Standard mit maximal 1024 GiB verfügbar. Weitere Informationen zum bedarfsgesteuerten Bursting finden Sie unter Bedarfsgesteuertes Bursting.
Wichtig
Bei der Standardspeicherklasse managed-csi-premium
ist bedarfsgesteuertes Bursting deaktiviert, und es wird guthabenbasiertes Bursting verwendet. Bei Premium-SSDs, die dynamisch durch einen persistenten Volumeanspruch auf der Grundlage der Standardspeicherklasse managed-csi-premium
erstellt werden, ist bedarfsgesteuertes Bursting ebenfalls deaktiviert.
Wenn Sie ein persistentes SSD Premium-Volume mit aktiviertem bedarfsgesteuertem Bursting erstellen möchten, können Sie eine neue Speicherklasse erstellen und dabei den Parameter enableBursting auf true
festlegen, wie in der folgenden YAML-Vorlage zu sehen. Weitere Informationen zum Aktivieren von bedarfsgesteuertem Bursting finden Sie unter Bedarfsgesteuertes Bursting. Ausführlichere Informationen zum Erstellen Ihrer eigenen Speicherklasse mit aktiviertem bedarfsgesteuertem Bursting finden Sie unter Erstellen einer burstfähigen verwalteten CSI-Storage Premium-Klasse.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: burstable-managed-csi-premium
provisioner: disk.csi.azure.com
parameters:
skuname: Premium_LRS
enableBursting: "true"
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
Windows-Container
Der CSI-Treiber des Azure-Datenträgers unterstützt 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 jetzt die integrierten Speicherklassen wie managed-csi
verwenden. Sie können ein exemplarisches Windows-basiertes StatefulSet-Objekt bereitstellen, das Zeitstempel in der Datei data.txt
speichert, indem Sie den folgenden Befehl vom Typ kubectl apply ausführen:
kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/azuredisk-csi-driver/master/deploy/example/windows/statefulset.yaml
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
statefulset.apps/busybox-azuredisk created
Führen Sie den folgenden Befehl aus, um den Inhalt des Volumes zu überprüfen:
kubectl exec -it busybox-azuredisk-0 -- cat c:\\mnt\\azuredisk\\data.txt # on Linux/MacOS Bash
kubectl exec -it busybox-azuredisk-0 -- cat c:\mnt\azuredisk\data.txt # on Windows Powershell/CMD
Die Ausgabe des Befehls sieht in etwa wie im folgenden Beispiel aus:
2020-08-27 08:13:41Z
2020-08-27 08:13:42Z
2020-08-27 08:13:44Z
(...)
Nächste Schritte
- Informationen zur Verwendung des CSI-Treibers für Azure Files finden Sie unter Verwenden von Container Storage Interface-Treibern (CSI) von Azure Files in Azure Kubernetes Service (AKS).
- 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.
- Weitere Informationen zu datenträgerbasierten Speicherlösungen finden Sie unter Datenträgerbasierte Lösungen in AKS.
Azure Kubernetes Service