Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Utiliser des volumes de disque cloud provisionnés dynamiquement

Dernière mise à jour :Sep 01, 2026

Cette rubrique explique comment provisionner et monter dynamiquement des volumes de disque Alibaba Cloud pour les applications avec état dans ACK Serverless, et comment vérifier leurs caractéristiques de persistance.

Cas d'utilisation

Les volumes de disque conviennent aux charges de travail nécessitant un stockage par blocs dédié et haute performance :

  • Applications avec état exigeant des E/S disque élevées (par exemple, MySQL et Redis) sans partage de données entre pods

  • Écriture de journaux à haut débit

  • Persistance des données indépendante du cycle de vie du pod

Fonctionnement du provisionnement dynamique

Lorsqu'une PVC référence une StorageClass, Kubernetes crée et lie automatiquement un volume persistant (PV) adossé à un disque Alibaba Cloud, ce qui supprime la création manuelle du disque.

Les clusters ACK Serverless n'incluent pas de StorageClass par défaut. Créez-en une avant de provisionner le stockage.

Kubernetes prend en charge une StorageClass par défaut . Si une PVC omet la StorageClass, Kubernetes utilise celle par défaut pour provisionner un PV. Consultez la section Notions de base sur le stockage .

Prérequis

Assurez-vous que les conditions suivantes sont remplies :

Provisionner un volume de disque

Suivez ces étapes dans l'ordre :

  1. Créez une StorageClass pour définir le type de disque et le comportement de provisionnement.

  2. Créez une PVC pour demander du stockage auprès de la StorageClass.

  3. Déployez une application et montez la PVC.

Console ACK

Étape 1 : Créer une StorageClass

  1. Connectez-vous à la console ACK et cliquez sur Clusters dans le volet de navigation de gauche.

  2. Sur la page Clusters , cliquez sur le nom du cluster, puis choisissez Volumes > StorageClasses .

  3. Sur la page StorageClasses , cliquez sur Create .

  4. Dans la boîte de dialogue Create , spécifiez les paramètres.

    Certains types d'instance ECS ne prennent pas en charge les disques ESSD ou les disques éphémères élastiques. Consultez la section FAQ sur Elastic Block Storage .
    Paramètre Obligatoire Description
    Name Oui Nom de la StorageClass.
    PV Type Oui Sélectionnez Cloud Disk .
    Parameter Oui Catégorie de disque. Valeur par défaut : cloud_essd . Valeurs valides : cloud_essd (SSD d'entreprise), cloud_regional_disk_auto (ESSD régionaux), elastic_ephemeral_disk_premium (disque éphémère élastique Premium), elastic_ephemeral_disk_standard (disque éphémère élastique Standard), cloud_ssd (SSD standard), cloud_efficiency (disque ultra). Définissez plusieurs valeurs pour le mécanisme de secours, par exemple type: cloud_ssd,cloud_essd . Le système essaie chaque valeur dans l'ordre. Ajoutez zoneId pour cibler des zones spécifiques, par exemple cn-beijing-a ou cn-beijing-a, cn-beijing-b .
    Reclaim Policy Oui Comportement du PV et du disque lors de la suppression de la PVC. Valeur par défaut : Delete (les deux sont supprimés). Définissez sur Retain pour conserver les deux — recommandé lorsque la perte de données aurait un coût élevé.
    Binding Mode Non Valeur par défaut : Immediate (le disque est créé avant la planification du pod).
  5. Cliquez sur Create . La StorageClass apparaît sur la page StorageClasses .

Étape 2 : Créer une PVC

  1. Dans le volet de navigation de gauche, choisissez Volumes > Persistent Volume Claims .

  2. Sur la page Persistent Volume Claims , cliquez sur Create .

  3. Dans la boîte de dialogue Create PVC , spécifiez les paramètres.

    Paramètre Obligatoire Description
    PVC Type Oui Sélectionnez Cloud Disk .
    Name Oui Nom de la PVC. Doit être unique au sein du namespace.
    Allocation Mode Oui Sélectionnez Use StorageClass .
    Existing Storage Class Oui Cliquez sur Select , recherchez la StorageClass créée à l'étape 1, puis cliquez sur Select dans la colonne Actions .
    Capacity Oui Capacité de stockage à réclamer. Minimum : 20 GiB.
    Access Mode Non Valeur par défaut : ReadWriteOnce (lecture/écriture sur un seul nœud).
  4. Cliquez sur Create . La PVC apparaît sur la page Persistent Volume Claims avec un PV lié.

Étape 3 : Déployer une application

  1. Dans le volet de navigation de gauche, choisissez Workloads > StatefulSets .

  2. Sur la page StatefulSets , cliquez sur Create from Image .

  3. Configurez l'application. Sélectionnez Cloud Storage et montez la PVC créée à l'étape 2. Dans cet exemple, le disque est monté sur /tmp , ce qui permet de persister les données écrites dans /tmp . Consultez la section Utiliser un StatefulSet pour créer une application avec état .

  4. Cliquez sur Create . L'application est déployée avec un stockage sur disque persistant.

kubectl

Étape 1 : Créer une StorageClass

Dans les clusters multizones, la StorageClass détermine le type de disque avant la planification du pod.

  1. Créez un fichier nommé storage-class-csi.yaml :

    Paramètre Obligatoire Description
    provisioner Oui Définissez sur diskplugin.csi.alibabacloud.com .
    type Oui Catégorie de disque. Valeurs valides : cloud_auto (disque ESSD AutoPL), cloud_essd (ESSD, valeur par défaut), cloud_essd_entry (disque ESSD Entry), cloud_ssd (SSD standard), cloud_efficiency (disque ultra), elastic_ephemeral_disk_standard (disque éphémère élastique Standard), elastic_ephemeral_disk_premium (disque éphémère élastique Premium), cloud_regional_disk_auto (ESSD régionaux). Spécifiez plusieurs valeurs sous forme de liste de secours séparée par des virgules. Consultez les sections Tarification EBS , Performances du stockage par blocs et Présentation des familles d'instances .
    encrypted Non Indique si le disque doit être chiffré. Valeur par défaut : false .
    reclaimPolicy Oui Comportement du PV et du disque lors de la suppression de la PVC. Delete : les deux sont supprimés. Retain : les deux sont conservés — utilisez Retain lorsque la perte de données aurait un coût élevé. Valeur par défaut : Delete .
    allowVolumeExpansion Non Définissez sur true pour autoriser l'extension du disque en ligne.
    volumeBindingMode Non Valeur par défaut : Immediate (le disque est provisionné avant la planification du pod).
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alicloud-disk-ssd-b
    # Use diskplugin.csi.alibabacloud.com as the provisioner for Alibaba Cloud disks.
    provisioner: diskplugin.csi.alibabacloud.com
    parameters:
      # Disk category fallback order: ESSD → standard SSD → ultra disk.
      # The system tries each value in sequence and stops when a disk is created.
      type: cloud_essd,cloud_ssd,cloud_efficiency
      # Optional. Set to "true" to encrypt the disk at rest.
      encrypted: "false"
    # Retain: keeps the PV and disk when the PVC is deleted (manual cleanup required).
    # Delete: removes the PV and disk automatically when the PVC is deleted.
    reclaimPolicy: Retain
    # Allows online disk expansion without downtime.
    allowVolumeExpansion: true
    # Immediate: provisions the disk before scheduling the pod.
    volumeBindingMode: Immediate
  2. Appliquez la StorageClass :

    kubectl apply -f storage-class-csi.yaml
  3. Vérifiez dans la console ACK : connectez-vous, cliquez sur Clusters , cliquez sur le nom du cluster, puis choisissez Volumes > StorageClasses .

Étape 2 : Créer une PVC

  1. Créez un fichier nommé pvc-ssd.yaml :

    Paramètre Obligatoire Description
    name Oui Nom de la PVC.
    accessModes Oui Mode d'accès au PV.
    volumeMode Non Format de montage du disque. Filesystem est pris en charge.
    storageClassName Oui StorageClass utilisée pour le provisionnement.
    storage Oui Capacité de stockage à réclamer. Minimum : 20 GiB.
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: disk-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      volumeMode: Filesystem
      resources:
        requests:
          storage: 25Gi
      storageClassName: alicloud-disk-ssd-b
  2. Créez la PVC :

    kubectl create -f pvc-ssd.yaml
  3. Vérifiez dans la console ACK : choisissez Volumes > Persistent Volume Claims .

Étape 3 : Déployer une application

  1. Créez un fichier nommé pvc-dynamic.yaml :

    Paramètre Description
    mountPath Chemin du conteneur pour le montage du disque.
    claimName Nom de la PVC. Doit correspondre à la PVC créée à l'étape 2.
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: nginx-dynamic
    spec:
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx
            ports:
            - containerPort: 80
              name: web
            volumeMounts:
            - name: pvc-disk
              mountPath: /data    # Path inside the container where the disk is mounted.
          volumes:
            - name: pvc-disk
              persistentVolumeClaim:
                claimName: disk-pvc    # Must match the PVC name created in Step 2.
  2. Déployez l'application :

    kubectl create -f pvc-dynamic.yaml
  3. Vérifiez dans la console ACK : choisissez Workloads > StatefulSets .

Étapes suivantes