Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Use a static cloud disk volume

Dernière mise à jour :Aug 29, 2026

Utilisez un disque cloud préexistant comme volume provisionné statiquement pour vos charges de travail. Créez manuellement un PersistentVolume (PV) pour le disque cloud, liez ce PV à une PersistentVolumeClaim (PVC), puis montez le volume dans un pod.

Prérequis

  • Créez un disque de données vide dans la console Elastic Compute Service (ECS). Pour plus d'informations, consultez la rubrique Créer un disque de données vide.

  • Le disque cloud doit se trouver dans la même région et la même zone que le cluster, et son état doit être Available.

Utiliser un volume de disque cloud avec un PV et une PVC

  1. Créez un PV de disque cloud.

    Créez un PV de disque cloud à l'aide d'un manifeste YAML ou via la console Container Service for Kubernetes (ACK).

    • Créez un PV à l'aide d'un manifeste YAML.

      1. Créez un fichier nommé disk-pv.yaml contenant les éléments suivants :

        apiVersion: v1
        kind: PersistentVolume
        metadata:
          name: d-bp1j17ifxfasvts3****
          labels:
            failure-domain.beta.kubernetes.io/zone: cn-hangzhou-b
            failure-domain.beta.kubernetes.io/region: cn-hangzhou
        spec:
          capacity:
            storage: 20Gi
          storageClassName: disk
          accessModes:
            - ReadWriteOnce
          flexVolume:
            driver: "alicloud/disk"
            fsType: "ext4"
            options:
              volumeId: "d-bp1j17ifxfasvts3****"
        Remarque

        Le nom du PV (name) doit correspondre à l'ID du disque cloud (volumeId). Remplacez les autres valeurs d'exemple par celles de votre disque cloud.

      2. Exécutez la commande suivante pour créer le PV.

        kubectl apply -f disk-pv.yaml
    • Créez un PV dans la console ACK.

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

      2. Sur la page Clusters, cliquez sur le nom du cluster cible ou sur Details dans la colonne Actions.

      3. Dans le volet de navigation de gauche, choisissez Volumes > Persistent Volumes.

      4. Sur la page Persistent Volumes, cliquez sur Create dans le coin supérieur droit.

      5. Dans la boîte de dialogue Create PV, configurez les paramètres du volume.

        Parameter

        Description

        PV Type

        Dans cet exemple, sélectionnez cloud disk.

        Volume Plug-in

        Dans cet exemple, sélectionnez Flexvolume.

        Access Mode

        La valeur par défaut est ReadWriteOnce.

        Disk ID:

        Sélectionnez le disque cloud que vous avez préparé.

        File System Type:

        Sélectionnez le type de système de fichiers. Les valeurs valides sont ext4, ext3, xfs et vfat. La valeur par défaut est ext4.

        Labels

        Ajoutez des libellés au volume.

      6. Une fois les paramètres configurés, cliquez sur Create.

  2. Créez une PVC.

    1. Créez un fichier nommé disk-pvc.yaml contenant les éléments suivants :

      kind: PersistentVolumeClaim
      apiVersion: v1
      metadata:
        name: pvc-disk
      spec:
        accessModes:
          - ReadWriteOnce
        storageClassName: disk
        resources:
          requests:
            storage: 20Gi
    2. Exécutez la commande suivante pour créer la PVC.

      kubectl apply -f disk-pvc.yaml
  3. Créez un pod à l'aide d'un StatefulSet.

    1. Créez un fichier nommé disk-pod.yaml contenant les éléments suivants afin de définir un Service et un StatefulSet qui montent la PVC pvc-disk sur le chemin /data :

      apiVersion: v1
      kind: Service
      metadata:
        name: nginx
        labels:
          app: nginx
      spec:
        ports:
        - port: 80
          name: web
        clusterIP: None
        selector:
          app: nginx
      ---
      apiVersion: apps/v1
      kind: StatefulSet
      metadata:
        name: web
      spec:
        selector:
          matchLabels:
            app: nginx
        serviceName: "nginx"
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: nginx
              ports:
              - containerPort: 80
                name: web
              volumeMounts:
              - name: pvc-disk
                mountPath: /data
            volumes:
              - name: pvc-disk
                persistentVolumeClaim:
                  claimName: pvc-disk
    2. Exécutez la commande suivante pour créer le pod.

      kubectl apply -f disk-pod.yaml