Verwenden persistenter Volumes mit aktivierter AKS von Azure Arc
Gilt für: AKS in Azure Stack HCI 22H2, AKS unter Windows Server
In diesem Artikel wird beschrieben, wie Sie persistente Volumes bereitstellen, verwenden und löschen, die langfristigen Speicher für die Verwendung mit Kubernetes-Pods in AKS- aktiviert durch Azure Arc (AKS Arc) bereitstellen.
Ein persistentes Volume stellt einen Speicher dar, der für die Verwendung mit Kubernetes-Pods bereitgestellt wurde. Ein persistentes Volume kann von einem oder mehreren Pods verwendet werden und ist für die langfristige Speicherung konzipiert. Es ist auch unabhängig von Pod- oder Knotenlebenszyklus.
Während Sie ein persistentes Volume sowohl für Windows- als auch für Linux-Knoten bereitstellen können, wird in diesem Artikel beschrieben, wie Sie ein persistentes Volume für die Verwendung in Ihrer Windows-Anwendung erstellen. Weitere Informationen finden Sie unter Persistente Datenträger in Kubernetes.
Voraussetzungen
Voraussetzungen für die ersten Schritte:
- Ein Kubernetes-Cluster mit mindestens einem Windows-Workerknoten.
- Eine kubeconfig-Datei für den Zugriff auf den Kubernetes-Cluster.
Erstellen eines Anspruchs auf ein persistentes Volume
Ein Anspruch auf ein persistentes Volume (Persistent Volume Claim, PVC) wird verwendet, um basierend auf einer Speicherklasse automatisch Speicher bereitzustellen. Zum Erstellen eines Volumeanspruchs erstellen Sie zunächst eine Datei namens pvc-akshci-csi.yaml
, kopieren Sie die folgende YAML-Definition, und fügen Sie sie in die Datei ein. Der PVC erfordert einen Datenträger mit einer Größe von 10 GB und ReadWriteOnce-Zugriff. Diestandardmäßige Speicherklasse wird als Speicherklasse (VHDX) angegeben.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-akshci-csi
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
Führen Sie zum Erstellen des Volumes die folgenden Befehle in einer PowerShell-Administratorsitzung auf einem der Server im Azure Stack HCI-Cluster aus. Verwenden Sie eine Methode wie Enter-PSSession oder Remotedesktop, um eine Verbindung mit dem Server herzustellen.
kubectl create -f pvc-akshci-csi.yaml
Die folgende Ausgabe zeigt, dass Ihr Anspruch auf ein persistentes Volume erfolgreich erstellt wurde:
Ausgabe:
persistentvolumeclaim/pvc-akshci-csi created
Verwenden des persistenten Volumes
Erstellen Sie zur Verwendung eines persistenten Volumes eine Datei namens winwebserver.yaml
, kopieren Sie die folgende YAML-Definition, und fügen Sie sie in die Datei ein. Erstellen Sie dann einen Pod mit Zugriff auf den Anspruch auf ein persistentes Volume und auf VHDX.
In der folgenden YAML-Definition mountPath
ist der Pfad zum Einbinden eines Volumes in einem Container. Nach einer erfolgreichen Poderstellung wird das Unterverzeichnis mnt in C:\ erstellt und das Unterverzeichnis akshciscsi in mnt erstellt.
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: win-webserver
name: win-webserver
spec:
replicas: 1
selector:
matchLabels:
app: win-webserver
template:
metadata:
labels:
app: win-webserver
name: win-webserver
spec:
containers:
- name: windowswebserver
image: mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019
ports:
- containerPort: 80
volumeMounts:
- name: akshciscsi
mountPath: "/mnt/akshciscsi"
volumes:
- name: akshciscsi
persistentVolumeClaim:
claimName: pvc-akshci-csi
nodeSelector:
kubernetes.io/os: windows
Um einen Pod mit der obigen YAML-Definition zu erstellen, führen Sie Folgendes aus:
kubectl create -f winwebserver.yaml
Führen Sie den folgenden Befehl aus, um sicherzustellen, dass der Pod ausgeführt wird. Warten Sie einige Minuten, bis sich der Pod im Zustand „Wird ausgeführt“ befindet, da das Pullen des Images einige Zeit in Anspruch nimmt.
kubectl get pods -o wide
Sobald Ihr Pod ausgeführt wird, können Sie den Podstatus anzeigen, indem Sie den folgenden Befehl ausführen:
kubectl.exe describe pod %podName%
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Ihr Volume im Pod eingebunden wurde:
kubectl exec -it %podname% cmd.exe
Löschen eines Anspruchs auf ein persistentes Volume
Bevor Sie einen Anspruch auf ein persistentes Volume löschen, müssen Sie die App-Bereitstellung löschen, indem Sie Folgendes ausführen:
kubectl delete deployments win-webserver
Sie können dann einen Anspruch auf ein persistentes Volume löschen, indem Sie Folgendes ausführen:
kubectl delete PersistentVolumeClaim pvc-akshci-csi
Nächste Schritte
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für