0Pricing
DevOps Bootcamp · Leçon

StorageClasses et approvisionnement dynamique

Découvrez comment StorageClasses permet à Kubernetes de créer automatiquement des volumes persistants à la demande, sans intervention administrative manuelle.

StorageClasses et approvisionnement dynamique est une leçon DevOps Bootcamp gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp comprend 4 leçons au total.

Le problème du stockage manuel

Avec le provisionnement statique, un administrateur doit créer chaque PersistentVolume manuellement avant qu’un PersistentVolumeClaim puisse être associé. Cette approche ne passe pas à l’échelle.

Le provisionnement dynamique crée automatiquement les volumes lorsqu’une demande est effectuée.

Qu’est-ce qu’un StorageClass ?

Un StorageClass décrit un type de stockage qu’un cluster peut proposer : le provisionneur à utiliser, les paramètres et le comportement des volumes.

Considérez-le comme un modèle pour créer des PersistentVolumes à la demande.

Définition d’un StorageClass

Le champ provisioner indique le module qui crée le volume, souvent un pilote de disque infonuagique.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: fast-ssd
provisioner: kubernetes.io/aws-ebs
parameters:
  type: gp3
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer

Demander un stockage dynamique

Un PVC fait simplement référence au StorageClass par son nom. Kubernetes provisionne alors automatiquement un PV correspondant.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: data
spec:
  accessModes: ['ReadWriteOnce']
  storageClassName: fast-ssd
  resources:
    requests:
      storage: 10Gi

Le StorageClass par défaut

Si un PVC omet storageClassName, Kubernetes utilise le StorageClass par défaut du cluster (indiqué par une annotation). Les demandes fonctionnent ainsi immédiatement.

kubectl get storageclass
# NAME            PROVISIONER          DEFAULT
# standard (default)  ...

Politique de récupération

La valeur reclaimPolicy détermine ce qui se passe lorsque le PVC est supprimé :

  • Supprimer : le volume sous-jacent est également supprimé
  • Conserver : le volume est conservé pour une récupération manuelle

Mode d’association des volumes

WaitForFirstConsumer diffère la création du volume jusqu’à la planification d’un pod utilisant le PVC. Cela garantit que le disque se trouve dans la même zone que le pod.

Immediate provisionne immédiatement, ce qui peut provoquer des incompatibilités de zone.

Observer le provisionnement

Après avoir appliqué un PVC, surveillez-le passer de l’état en attente à l’état associé, tandis que le volume est créé.

kubectl apply -f pvc.yaml
kubectl get pvc data -w
# data   Pending
# data   Bound   pvc-8a3f...  10Gi

Plusieurs niveaux de stockage

Les clusters définissent souvent plusieurs StorageClasses pour répondre à différents besoins, ce qui permet aux équipes de choisir le compromis approprié pour chaque charge de travail.

# fast-ssd  -> low latency, higher cost
# standard  -> balanced default
# cold-hdd  -> cheap, archival

Étendre les volumes

Si le StorageClass possède allowVolumeExpansion: true, vous pouvez augmenter la taille demandée d’un PVC en modifiant sa demande, et le provisionneur redimensionne le disque sous-jacent.

spec:
  resources:
    requests:
      storage: 20Gi  # increased from 10Gi

Quand utiliser le stockage statique ou dynamique

  • Dynamique : choix par défaut ; libre-service et bonne capacité de mise à l’échelle
  • Statique : lorsque vous devez associer un volume existant précis ou une exportation NFS

Vérification rapide

Évaluez votre compréhension du provisionnement dynamique.

Récapitulatif

Vous avez appris qu’un StorageClass sert de modèle pour créer le stockage, ce qui permet le provisionnement dynamique. Les champs clés comprennent le provisionneur, reclaimPolicy et volumeBindingMode. Les PVC font référence à une classe par son nom, et une classe par défaut gère les demandes qui n’en indiquent aucune.

Questions Fréquemment Posées

La leçon « StorageClasses et approvisionnement dynamique » est-elle gratuite ?

Oui — le texte complet de « StorageClasses et approvisionnement dynamique » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « StorageClasses et approvisionnement dynamique » ?

Découvrez comment StorageClasses permet à Kubernetes de créer automatiquement des volumes persistants à la demande, sans intervention administrative manuelle. Tu pratiques DevOps Bootcamp avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer DevOps Bootcamp ?

Aucune expérience préalable n'est requise. DevOps Bootcamp sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « StorageClasses et approvisionnement dynamique » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon DevOps Bootcamp ?

Oui. Chaque leçon DevOps Bootcamp inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. ConfigMaps pour la configuration
  2. Secrets pour les données sensibles
  3. Volumes persistants et revendications
  4. StorageClasses et approvisionnement dynamique
← Retour à DevOps Bootcamp