Klonen persistenter Volumes in Azure Container Storage
Sie können persistente Volumes in Azure Container Storageklonen. Ein geklontes Volumen ist ein Duplikat eines vorhandenen persistenten Kubernetes-Volumens. Sie können nur Volumes derselben Größe klonen, die sich im selben Speicherpool befinden.
Voraussetzungen
- Für diesen Artikel ist die aktuelle Azure CLI-Version (mindestens Version 2.35.0) erforderlich. Weitere Informationen finden Sie unter Installieren der Azure-Befehlszeilenschnittstelle. Bei Verwendung von Azure Cloud Shell ist die aktuelle Version bereits installiert. Wenn Sie die Befehle nicht in Azure Cloud Shell, sondern lokal ausführen möchten, führen Sie sie mit Administratorrechten aus.
- Sie benötigen einen AKS (Azure Kubernetes Service)-Cluster mit einem Knotenpool von mindestens drei virtuellen Computern (VMs) für die Clusterknoten mit jeweils mindestens vier virtuellen CPUs (vCPUs).
- In diesem Artikel wird vorausgesetzt, dass Sie Azure Container Storage bereits in Ihrem AKS-Cluster installiert und entweder über Azure Disks oder mit einem kurzlebigen Datenträger (lokaler Speicher) einen Speicherpool und einen Anspruch auf persistente Volumes (Persistent Volume Claim, PVC) erstellt haben. Azure Elastic SAN unterstützt keine Größenänderung bei Volumes.
Volume klonen
Befolgen Sie die folgenden Anweisungen, um ein persistentes Volume zu klonen.
Verwenden Sie Ihren bevorzugten Text-Editor, um eine YAML-Manifestdatei wie
code acstor-clonevolume.yaml
zu erstellen.Fügen Sie den folgenden Code ein, und speichern Sie die Datei. Eine integrierte Speicherklasse unterstützt das Klonen von Volumes. Achten Sie daher für dataSource darauf, auf einen PVC zu verweisen, der zuvor von der Azure Container Storage-Speicherklasse erstellt wurde. Wenn Sie z. B. den PVC für Azure-Datenträger erstellt haben, kann er als
azurediskpvc
bezeichnet werden. Geben Sie für Speicher die Größe des ursprünglichen PVC an.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-acstor-cloning spec: accessModes: - ReadWriteOnce storageClassName: acstor-azuredisk resources: requests: storage: 100Gi dataSource: kind: PersistentVolumeClaim name: azurediskpvc
Wenden Sie die YAML-Manifestdatei an, um den PVC zu klonen.
kubectl apply -f acstor-clonevolume.yaml
Eine ähnliche Ausgabe wie die folgende sollte angezeigt werden:
persistentvolumeclaim/pvc-acstor-cloning created
Verwenden Sie Ihren bevorzugten Text-Editor, um eine YAML-Manifestdatei wie
code acstor-pod.yaml
zu erstellen.Fügen Sie den folgenden Code ein, und speichern Sie die Datei. Achten Sie für claimName darauf, auf den geklonten PVC zu verweisen.
kind: Pod apiVersion: v1 metadata: name: fiopod2 spec: nodeSelector: acstor.azure.com/io-engine: acstor volumes: - name: azurediskpv persistentVolumeClaim: claimName: pvc-acstor-cloning containers: - name: fio image: nixery.dev/shell/fio args: - sleep - "1000000" volumeMounts: - mountPath: "/volume" name: azurediskpv
Wenden Sie die YAML-Manifestdatei an, um den neuen Pod bereitzustellen.
kubectl apply -f acstor-pod.yaml
Die Ausgabe sollte etwa folgendermaßen aussehen:
pod/fiopod2 created
Überprüfen Sie, ob der Pod ausgeführt wird und dass der Anspruch auf persistentes Volume erfolgreich an den Pod gebunden wurde:
kubectl describe pod fiopod2 kubectl describe pvc azurediskpvc