Importer un volume Azure Disk existant
Si vous disposez déjà d'un volume de disque Azure à utiliser avec GKE sur Azure, vous pouvez créer un objet PersistentVolume (PV) et le réserver pour une ressource PersistentVolumeClaim (PVC) spécifique.
Cette page explique comment créer un PV à l'aide d'un volume existant contenant des données et comment utiliser le PV dans un pod.
Avant de commencer
Créer un PersistentVolume pour un volume existant
Vous pouvez importer un volume existant en spécifiant un nouveau PV.
Copiez le fichier YAML suivant dans un fichier nommé
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
Remplacez les éléments suivants :
- VOLUME_NAME : nom du volume.
- VOLUME_CAPACITY : taille du volume. Par exemple,
30Gi
. Pour en savoir plus sur la spécification de la capacité de volume dans Kubernetes, consultez la page Meaning of memory. STORAGE_CLASS_NAME : nom de l'objet StorageClass qui provisionne le volume. Vous pouvez par exemple utiliser la valeur par défaut
standard-rwo
.SUBSCRIPTION_ID : ID d'abonnement Azure contenant le volume.
RESOURCE_GROUP_NAME : groupe de ressources Azure contenant le volume.
DISK_NAME : nom Azure Disk du volume.
FS_TYPE : système de fichiers du volume. Par exemple,
ext4
.
Appliquez le code YAML à votre cluster :
kubectl apply -f existing-volume.yaml
Confirmez la création du PV :
kubectl describe pv VOLUME_NAME
Le résultat de cette commande contient l'état du PV.
Utiliser le volume avec un objet PersistentVolumeClaim et un pod
Après avoir importé votre volume, vous pouvez créer un PVC et un pod qui installe le PVC.
Le code YAML suivant crée un PVC et l'associe à un pod exécutant le serveur Web Nginx. Copiez-le dans un fichier nommé
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
Remplacez les éléments suivants :
- STORAGE_CLASS : nom de l'objet StorageClass du PersistentVolume que vous avez créé précédemment. Exemple :
standard-rwo
. - ACCESS_MODE : mode d'accès du volume. Pour Azure Disk, utilisez
ReadWriteOnce
. Pour Azure File, utilisezReadWriteMany
. - VOLUME_CAPACITY : taille du volume. Par exemple,
30Gi
.
- STORAGE_CLASS : nom de l'objet StorageClass du PersistentVolume que vous avez créé précédemment. Exemple :
Appliquez le code YAML à votre cluster :
kubectl apply -f nginx.yaml
Vérifiez l'état de votre instance Nginx avec
kubectl describe
. Dans le résultat,STATUS
doit être à l'étatRunning
.kubectl describe pod web-server
Étapes suivantes
- Utilisez des pilotes de stockage supplémentaires avec GKE sur Azure.
- Consultez la documentation sur le pilote CSI Azure Disk.