0Pricing
DevOps Bootcamp · Lección

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: WaitForFirstConsumer

Solicitar 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: 10Gi

La 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...  10Gi

Varios 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, archival

Ampliar 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 10Gi

Cuá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

  1. ConfigMaps para la configuración
  2. Secrets para datos confidenciales
  3. Volúmenes persistentes y solicitudes de almacenamiento
  4. StorageClasses y aprovisionamiento dinámico
← Volver a DevOps Bootcamp