Importar un volumen de disco de Azure ya creado
Si ya tienes un volumen de disco de Azure para usarlo con GKE en Azure, puedes crear un objeto PersistentVolume (PV) y reservarlo para un PersistentVolumeClaim (PVC) específico.
En esta página se explica cómo crear un PV usando un volumen que ya contiene datos y cómo usar el PV en un pod.
Antes de empezar
Crear un PersistentVolume para un volumen preexistente
Puede importar un volumen ya creado especificando un nuevo PV.
Copia el siguiente código YAML en un archivo llamado
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
Haz los cambios siguientes:
- VOLUME_NAME: un nombre para el volumen
- VOLUME_CAPACITY: tamaño del volumen. Por ejemplo,
30Gi
. Para obtener más información sobre cómo especificar la capacidad de volumen en Kubernetes, consulta el artículo Significado de la memoria. STORAGE_CLASS_NAME: el nombre de StorageClass que aprovisiona el volumen. Por ejemplo, puedes usar el
standard-rwo
predeterminado.SUBSCRIPTION_ID: el ID de suscripción de Azure que contiene el volumen.
RESOURCE_GROUP_NAME: el grupo de recursos de Azure que contiene el volumen.
DISK_NAME: el nombre del disco de Azure del volumen.
FS_TYPE: el tipo de sistema de archivos del volumen. Por ejemplo,
ext4
.
Aplica el archivo YAML al clúster
kubectl apply -f existing-volume.yaml
Confirma la creación de tu PV
kubectl describe pv VOLUME_NAME
El resultado de este comando contiene el estado del PV.
Usar el volumen con un objeto PersistentVolumeClaim y un pod
Una vez que hayas importado el volumen, puedes crear un PVC y un pod que monte el PVC.
El siguiente archivo YAML crea un PVC y lo asocia a un pod que ejecuta el servidor web Nginx. Cópialo en un archivo llamado
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
Haz los cambios siguientes:
- STORAGE_CLASS: el nombre de StorageClass del PersistentVolume que has creado anteriormente. Por ejemplo,
standard-rwo
. - ACCESS_MODE: el modo de acceso del volumen. En el caso de los discos de Azure, usa
ReadWriteOnce
. En el caso de Azure File, usaReadWriteMany
. - VOLUME_CAPACITY: tamaño del volumen. Por ejemplo,
30Gi
.
- STORAGE_CLASS: el nombre de StorageClass del PersistentVolume que has creado anteriormente. Por ejemplo,
Aplica el archivo YAML al clúster
kubectl apply -f nginx.yaml
Comprueba el estado de tu instancia de Nginx con
kubectl describe
. El resultado debe tener unSTATUS
deRunning
.kubectl describe pod web-server
Siguientes pasos
- Usa controladores de almacenamiento adicionales con GKE en Azure.
- Consulta la documentación del controlador CSI de disco de Azure.