Vorhandenes Azure Disk-Volumen importieren
Wenn Sie bereits ein Azure Disk-Volume haben, das mit GKE auf Azure verwendet werden soll, können Sie ein PersistentVolume-Objekt (PV) erstellen und es für einen bestimmten PersistentVolumeClaim (PVC) reservieren.
Auf dieser Seite wird erläutert, wie Sie mithilfe eines vorhandenen, mit Daten gefüllten Volumes ein PV erstellen und in einem Pod verwenden.
Hinweis
PersistentVolume für ein bereits vorhandenes Volume erstellen
Sie können ein vorhandenes Volume durch Angabe eines neuen PV importieren.
Kopieren Sie das folgende YAML-Manifest in eine Datei mit dem Namen
existing-volume.yaml
:apiVersion: v1 kind: PersistentVolume metadata: name: VOLUME_NAME annotations: pv.kubernetes.io/provisioned-by: disk.csi.azure.com spec: capacity: storage: VOLUME_CAPACITY accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: STORAGE_CLASS_NAME claimRef: name: my-pvc namespace: default csi: driver: disk.csi.azure.com volumeHandle: /subscriptions/SUBSCRIPTION_ID/resourcegroups/RESOURCE_GROUP_NAME/providers/microsoft.compute/disks/DISK_NAME fsType: FILE_SYSTEM_TYPE
Dabei gilt:
- VOLUME_NAME: ein Name für das Volume
- VOLUME_CAPACITY: Größe des Volumes. Beispiel:
30Gi
Weitere Informationen zum Angeben der Volume-Kapazität in Kubernetes finden Sie unter Bedeutung des Arbeitsspeichers. STORAGE_CLASS_NAME: Der Name der StorageClass, die das Volume bereitstellt. Sie können beispielsweise den Standardwert
standard-rwo
verwenden.SUBSCRIPTION_ID: die Azure-Abo-ID, die das Volume enthält.
RESOURCE_GROUP_NAME: die Azure-Ressourcengruppe, die das Volume enthält.
DISK_NAME: der Azure Disk-Name des Volumes.
FS_TYPE: der Dateisystemtyp des Volumes. Beispiel:
ext4
Wenden Sie die YAML-Datei auf den Cluster an.
kubectl apply -f existing-volume.yaml
Bestätigen Sie, dass das PV erstellt wurde.
kubectl describe pv VOLUME_NAME
Die Ausgabe dieses Befehls enthält den Status des PV.
Volume mit einem PersistentVolumeClaim und einem Pod verwenden
Nachdem Sie das Volume importiert haben, können Sie einen PVC und einen Pod erstellen, der den PVC bereitstellt.
Mit der folgenden YAML-Datei wird ein PVC erstellt und an einen Pod angehängt, auf dem der Nginx-Webserver ausgeführt wird. Kopieren Sie ihn in eine Datei mit dem Namen
nginx.yaml
.apiVersion: v1 kind: PersistentVolumeClaim metadata: name: my-pvc spec: storageClassName: STORAGE_CLASS_NAME volumeName: VOLUME_NAME accessModes: - ACCESS_MODE resources: requests: storage: VOLUME_CAPACITY --- apiVersion: v1 kind: Pod metadata: name: web-server spec: containers: - name: web-server image: nginx volumeMounts: - mountPath: /var/lib/www/html name: data volumes: - name: data persistentVolumeClaim: claimName: my-pvc
Dabei gilt:
- STORAGE_CLASS: der Name der StorageClass aus dem zuvor erstellten PersistentVolume. Beispiel:
standard-rwo
- ACCESS_MODE: Zugriffsmodus des Volumes. Für Azure Disk verwenden Sie
ReadWriteOnce
. Für Azure File verwenden SieReadWriteMany
. - VOLUME_CAPACITY: Größe des Volumes. Beispiel:
30Gi
- STORAGE_CLASS: der Name der StorageClass aus dem zuvor erstellten PersistentVolume. Beispiel:
Wenden Sie die YAML-Datei auf den Cluster an.
kubectl apply -f nginx.yaml
Prüfen Sie den Status der Nginx-Instanz mit
kubectl describe
. In der Ausgabe sollteRunning
alsSTATUS
enthalten sein.kubectl describe pod web-server
Nächste Schritte
- Zusätzliche Speichertreiber mit GKE in Azure verwenden.
- Lesen Sie die Dokumentation zum Azure Disk CSI-Treiber.