Importazione di un volume di dischi Azure esistente
Se hai già un volume Azure Disk da utilizzare con GKE su Azure, puoi creare un oggetto PersistentVolume (PV) e prenotarlo per uno specifico PersistentVolumeClaim (PVC).
Questa pagina spiega come creare un volume permanente mediante un volume esistente completato con dati e come utilizzarlo in un pod.
Prima di iniziare
Crea un PersistentVolume per un volume preesistente
Puoi importare un volume esistente specificando un nuovo volume permanente.
Copia il seguente codice YAML in un file denominato
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
Sostituisci quanto segue:
- VOLUME_NAME: un nome per il volume
- VOLUME_CAPACITY: dimensione del volume. Ad esempio,
30Gi
. Per ulteriori informazioni su come specificare la capacità di volume in Kubernetes, consulta il Significato della memoria. STORAGE_CLASS_NAME: il nome dell'oggetto StorageClass che esegue il provisioning del volume. Ad esempio, puoi utilizzare il valore predefinito
standard-rwo
.SUBSCRIPTION_ID: l'ID abbonamento Azure che contiene il volume.
RESOURCE_GROUP_NAME: il gruppo di risorse Azure che contiene il volume.
DISK_NAME: il nome del disco di Azure del volume.
FS_TYPE: il tipo di file system del volume. Ad esempio:
ext4
.
Applica il codice YAML al tuo cluster
kubectl apply -f existing-volume.yaml
Conferma la creazione del volume permanente
kubectl describe pv VOLUME_NAME
L'output di questo comando contiene lo stato dell'oggetto PV.
usa il volume con un PersistentVolumeClaim e un pod
Dopo aver importato il volume, puoi creare una PVC e un pod che monta la PVC.
Il codice YAML seguente crea una PVC e la collega a un pod che esegue il server web Nginx. Copialo in un file denominato
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
Sostituisci quanto segue:
- STORAGE_CLASS: il nome dell'oggetto StorageClass del
PersistentVolume che hai creato in precedenza. Ad esempio,
standard-rwo
. - ACCESS_MODE: la modalità di accesso del volume. Per Azure Disks,
utilizza
ReadWriteOnce
. Per il file di Azure, utilizzaReadWriteMany
. - VOLUME_CAPACITY: dimensione del volume. Ad esempio,
30Gi
.
- STORAGE_CLASS: il nome dell'oggetto StorageClass del
PersistentVolume che hai creato in precedenza. Ad esempio,
Applica il codice YAML al tuo cluster
kubectl apply -f nginx.yaml
Controlla lo stato dell'istanza Nginx con
kubectl describe
. L'output deve avere un valoreSTATUS
pari aRunning
.kubectl describe pod web-server
Passaggi successivi
- Utilizza driver di archiviazione aggiuntivi con GKE su Azure.
- Leggi la documentazione del driver CSI di Azure Disk.