Kubernetes Basics · 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.

Leçon 4 sur 413 étapes

StorageClasses et approvisionnement dynamique est une leçon Kubernetes Basics 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 Kubernetes Basics, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Kubernetes Basics 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.

Gratuit pour commencer

Apprends Kubernetes Basics avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
12
Leçons
48

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 Kubernetes Basics, passe à CoddyKit PRO. Le cours Kubernetes Basics 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 Kubernetes Basics 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 Kubernetes Basics ?

Aucune expérience préalable n'est requise. Kubernetes Basics 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 Kubernetes Basics ?

Oui. Chaque leçon Kubernetes Basics 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 à Kubernetes Basics