StorageClasses y aprovisionamiento dinámico
Aprenda cómo StorageClasses permite a Kubernetes aprovisionar Persistent Volumes automáticamente y bajo demanda, sin trabajo administrativo manual.
StorageClasses y aprovisionamiento dinámico es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
El problema del almacenamiento manual
Con el aprovisionamiento estático, un administrador debe crear manualmente cada PersistentVolume antes de que un PersistentVolumeClaim pueda asociarse a él. Este proceso no escala.
El aprovisionamiento dinámico crea volúmenes automáticamente cuando se crea una solicitud.
¿Qué es una StorageClass?
Una StorageClass describe un tipo de almacenamiento que puede ofrecer un clúster: qué provisioner utilizar, qué parámetros aplicar y cómo deben comportarse los volúmenes.
Considérela una plantilla para crear PersistentVolumes bajo demanda.
Una definición de StorageClass
El campo provisioner identifica el plugin que crea el volumen, normalmente un controlador de discos en la nube.
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast-ssd
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp3
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumerSolicitar almacenamiento dinámico
Un PVC solo tiene que hacer referencia a la StorageClass por su nombre. Kubernetes aprovisionará automáticamente un PV compatible.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data
spec:
accessModes: ['ReadWriteOnce']
storageClassName: fast-ssd
resources:
requests:
storage: 10GiLa StorageClass predeterminada
Si un PVC omite storageClassName, Kubernetes utiliza la StorageClass predeterminada del clúster (marcada con una anotación). Esto permite que las solicitudes funcionen sin configuración adicional.
kubectl get storageclass
# NAME PROVISIONER DEFAULT
# standard (default) ...Política de recuperación
La reclaimPolicy determina qué ocurre cuando se elimina el PVC:
- Delete: también se elimina el volumen subyacente
- Retain: el volumen se conserva para recuperarlo manualmente
Modo de asociación del volumen
WaitForFirstConsumer retrasa la creación del volumen hasta que se programa un Pod que utiliza el PVC. Esto garantiza que el disco se coloque en la misma zona que el Pod.
Immediate aprovisiona el volumen de inmediato, lo que puede provocar que las zonas no coincidan.
Observar el aprovisionamiento
Después de aplicar un PVC, observe cómo pasa de Pending a Bound mientras se crea el volumen.
kubectl apply -f pvc.yaml
kubectl get pvc data -w
# data Pending
# data Bound pvc-8a3f... 10GiVarios niveles
Los clústeres suelen definir varias StorageClasses para distintas necesidades, lo que permite a los equipos elegir el equilibrio adecuado para cada carga de trabajo.
# fast-ssd -> low latency, higher cost
# standard -> balanced default
# cold-hdd -> cheap, archivalAmpliar volúmenes
Si la StorageClass tiene allowVolumeExpansion: true, puede ampliar un PVC editando el tamaño solicitado, y el provisioner cambiará el tamaño del disco subyacente.
spec:
resources:
requests:
storage: 20Gi # increased from 10GiCuándo usar almacenamiento estático o dinámico
- Dinámico: opción predeterminada; autoservicio y buena escalabilidad
- Estático: cuando debe asociarse a un disco preexistente específico o a una exportación NFS
Comprobación rápida
Compruebe su comprensión del aprovisionamiento dinámico.
Resumen
Ha aprendido que una StorageClass define mediante una plantilla cómo se crea el almacenamiento, lo que permite el aprovisionamiento dinámico. Entre los campos principales se encuentran el provisioner, reclaimPolicy y volumeBindingMode. Los PVC hacen referencia a una clase por su nombre, y una clase predeterminada gestiona las solicitudes que omiten este dato.
Preguntas frecuentes
¿La lección «StorageClasses y aprovisionamiento dinámico» es gratis?
Sí — el texto completo de «StorageClasses y aprovisionamiento dinámico» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «StorageClasses y aprovisionamiento dinámico»?
Aprenda cómo StorageClasses permite a Kubernetes aprovisionar Persistent Volumes automáticamente y bajo demanda, sin trabajo administrativo manual. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «StorageClasses y aprovisionamiento dinámico»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- ConfigMaps para la configuración
- Secrets para datos confidenciales
- Volúmenes persistentes y solicitudes de almacenamiento
- StorageClasses y aprovisionamiento dinámico