Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Resize a disk volume (for clusters earlier than version 1.16)

Dernière mise à jour :Sep 21, 2026

Si votre cluster exécute une version Kubernetes antérieure à la 1,16 ou utilise des disques basiques, vous ne pouvez pas étendre un volume de disque en mettant à jour sa revendication de volume persistant (PVC). Vous devez étendre directement le disque sous-jacent et son système de fichiers.

Périmètre

Cette rubrique explique comment étendre un volume de disque en augmentant manuellement la taille du disque sous-jacent sans modifier la PVC. Cette méthode s'applique si votre cluster exécute une version Kubernetes antérieure à la 1,16 ou ne répond pas aux exigences pour l'extension en ligne d'un volume de disque.

Important

Avec cette méthode, vous effectuez l'extension du disque dans la console ECS. Cela n'affecte pas les ressources au sein du cluster ; par conséquent, la capacité des objets de revendication de volume persistant (PVC) et de volume persistant (PV) reste inchangée. Pour garantir que les capacités PV et PVC affichées dans le cluster correspondent à la capacité réelle, nous vous recommandons d'utiliser l'extension en ligne d'un volume de disque.

Choisissez une méthode adaptée à vos besoins métier.

  • Extension en ligne : l'application continue de s'exécuter. Toutefois, si le trafic d'E/S est élevé lors de l'extension du système de fichiers, des erreurs d'E/S peuvent survenir.

  • Extension hors ligne : ce processus interrompt l'application et ses E/S de disque. L'extension du système de fichiers est ainsi plus sûre pour vos données, mais l'application est mise en pause pendant un certain temps.

Important

Les disques basiques ne prennent pas en charge l'extension en ligne. Vous devez utiliser l'extension hors ligne.

Les sections suivantes utilisent une application exemple avec un volume de disque provisionné statiquement pour illustrer la procédure d'extension du volume de disque.

Extension en ligne

Étendez le disque dans la console ECS tandis que l'application reste en cours d'exécution.

Étape 1 : Consulter les informations du disque

  1. Connectez-vous à votre cluster. Pour plus d'informations, consultez Obtenir le fichier kubeconfig d'un cluster et utiliser kubectl pour se connecter au cluster ou Utiliser kubectl pour se connecter à un cluster Kubernetes depuis Workbench ou CloudShell.

  2. Consultez le pod qui monte le disque et vérifiez qu'il est dans l'état Running.

    kubectl get pod 

    Exemple de sortie :

    NAME          READY   STATUS    RESTARTS   AGE
    disk-test-0   1/1     Running   0          38s
  3. Consultez la PVC pour obtenir l'ID du disque.

    kubectl get pvc

    La sortie suivante indique que le PV lié à la PVC est d-uf628m33r5rsbi****** (l'ID du disque) et que la capacité est de 20 GiB.

    NAME       STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
    disk-pvc   Bound    d-uf628m33r5rsbi******   20Gi       RWO            disk           <unset>                 64s

Étape 2 : Étendre le disque et le système de fichiers

  1. Connectez-vous à la console ECS.

  2. Dans le volet de navigation de gauche, choisissez Storage & Snapshots > Block Storage.

  3. Dans le coin supérieur gauche de la page, sélectionnez une région et un groupe de ressources.

  4. Recherchez le disque par son ID, sélectionnez-le, puis cliquez sur Scale-out en bas de la page.

    Pour plus d'informations sur l'extension d'un disque, consultez Étendre un disque (Linux) .
  5. Dans l'assistant qui s'affiche, suivez les instructions à l'écran pour terminer l'extension.

    • Sur la page Determine Disk and Read Notes, confirmez les informations du disque, lisez les notes, puis cliquez sur I Understand Risks and Have Backed Up Data, Proceed.

    • Sur la page Configure Resizing Method and New Size, définissez les paramètres d'extension et cliquez sur Scale-out.

      Parameter

      Description

      Example

      New disk size

      Spécifiez la capacité souhaitée pour le disque. La nouvelle capacité ne peut pas être inférieure à la capacité actuelle.

      30 GiB

      Resizing method

      Sélectionnez Online Resizing. La nouvelle capacité prend effet immédiatement sans redémarrage.

      Online Resizing

    • Sur la page Confirm Resizing Results, vérifiez que le disque est étendu, puis cliquez sur Next Step: Extend Partitions and File Systems.

      Remarque

      Après avoir étendu le disque, vous devez également étendre son système de fichiers. Sinon, l'espace de stockage dans le conteneur conserve sa taille d'origine.

    • Sur la page Extend the partitions and file systems of disks, sélectionnez Use Cloud Assistant, cochez Authorize Cloud Assistant to Perform This Operation, puis cliquez sur Authorization.

      Une fois l'opération terminée, vérifiez que le disque et son système de fichiers sont étendus.

      Après une extension réussie, la page de vérification du disque affiche une coche verte et le message The disk check is complete. The disk is ready for use. Dans la section Disk information in the operating system, vérifiez que la valeur Disk capacity (OS) correspond à la valeur Capacity. Dans les détails de la partition, assurez-vous que la taille de la partition (par exemple, /dev/vdb) est égale à la capacité totale du disque. Cela confirme que la partition et le système de fichiers ont été correctement étendus.

Extension hors ligne

Mettez l'application en pause en définissant le nombre de réplicas à 0, étendez le disque, puis redémarrez l'application.

Étape 1 : Consulter les informations du disque et mettre l'application en pause

  1. Connectez-vous à votre cluster. Pour plus d'informations, consultez Obtenir le fichier kubeconfig d'un cluster et utiliser kubectl pour se connecter au cluster ou Utiliser kubectl pour se connecter à un cluster Kubernetes depuis Workbench ou CloudShell.

  2. Consultez le pod qui monte le disque et vérifiez qu'il est dans l'état Running.

    kubectl get pod 

    Exemple de sortie :

    NAME          READY   STATUS    RESTARTS   AGE
    disk-test-0   1/1     Running   0          38s
  3. Consultez la PVC pour obtenir l'ID du disque.

    kubectl get pvc

    La sortie suivante indique que le PV lié à la PVC est d-uf628m33r5rsbi****** (l'ID du disque) et que la capacité est de 20 GiB.

    NAME       STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
    disk-pvc   Bound    d-uf628m33r5rsbi******   20Gi       RWO            disk           <unset>                 64s
  4. Réduisez l'application à 0 réplica pour la mettre en pause.

    kubectl scale sts disk-test --replicas=0

    Sortie attendue :

    statefulset.apps/disk-test scaled

Étape 2 : Étendre le disque

  1. Connectez-vous à la console ECS.

  2. Dans le volet de navigation de gauche, choisissez Storage & Snapshots > Block Storage.

  3. Dans le coin supérieur gauche de la page, sélectionnez une région et un groupe de ressources.

  4. Recherchez le disque par son ID, sélectionnez-le, puis cliquez sur Scale-out en bas de la page.

  5. Dans l'assistant qui s'affiche, suivez les instructions à l'écran pour terminer l'extension.

    • Sur la page Determine Disk and Read Notes, confirmez les informations du disque, lisez les notes, puis cliquez sur I Understand Risks and Have Backed Up Data, Proceed.

    • Sur la page Configure Resizing Method and New Size, définissez les paramètres d'extension et cliquez sur Scale-out.

      Parameter

      Description

      Example

      New disk size

      Spécifiez la capacité souhaitée pour le disque. La nouvelle capacité ne peut pas être inférieure à la capacité actuelle.

      30 GiB

      Resizing method

      Après avoir mis l'application en pause, le disque passe à l'état Unattached. Dans cet état, l'option Offline Resizing est la seule disponible.

      Offline Resizing

    • Sur la page Confirm Resizing Results, vérifiez que le disque est étendu, puis cliquez sur Next Step: Extend Partitions and File Systems.

    • Sur la page Extend the partitions and file systems of disks, sélectionnez Use Documentation et consultez la documentation dans la section Extend the partitions and file systems of disks on a Linux instance.

      Remarque
      • Après avoir étendu le disque, vous devez également étendre son système de fichiers. Sinon, l'espace de stockage dans le conteneur conserve sa taille d'origine.

      • Étant donné que le disque est dans l'état Unattached, vous ne pouvez pas utiliser Cloud Assistant. Vous devez étendre manuellement le système de fichiers.

Étape 3 : Étendre le système de fichiers

Les étapes suivantes s'appliquent aux disques non partitionnés.

Important

Nous vous déconseillons d'utiliser des disques partitionnés dans Kubernetes.

  1. Attachez le disque à une instance ECS.

    1. Sur la page EBS de la console ECS, recherchez le disque cible et cliquez sur Attach dans la colonne Actions.

    2. Dans l'assistant Attach to Instance, sélectionnez l'instance ECS cible et cliquez sur Next.

      Important

      Ne sélectionnez aucune option libérant automatiquement le disque.

    3. Dans l'assistant Partition Disk and Create and Mount File Systems, cliquez sur Configure Later dans la section Initialization Method.

    4. Vérifiez que l'état du disque passe à In Use.

  2. Connectez-vous à l'instance ECS. Pour plus d'informations, consultez Méthodes de connexion.

  3. Récupérez le nom du périphérique du disque.

    Remplacez <serial> par le numéro de série de votre disque.

    Le numéro de série du disque fait partie de l'ID du disque, qui suit le format d-{numéro de série du disque}. Pour plus d'informations, consultez Afficher le numéro de série d'un périphérique de stockage bloc.

    Important

    Les disques créés avant le 10 juin 2020 n'ont pas de numéro de série. Pour ces disques, vous ne pouvez pas utiliser la commande realpath pour trouver le nom du périphérique. Exécutez plutôt la commande ls /dev/vd* avant et après l'attachement du disque, puis comparez les sorties pour identifier le nouveau nom de périphérique.

    realpath /dev/disk/by-id/virtio-<serial>

    La sortie d'exemple suivante indique que le nom du périphérique du disque est /dev/vdb.

    /dev/vdb
  4. Étendez le système de fichiers.

    Remplacez /dev/vdb par le nom réel du périphérique de votre disque.

    resize2fs /dev/vdb

    Si vous voyez l'erreur suivante, exécutez e2fsck -f /dev/vdb comme indiqué, puis exécutez à nouveau resize2fs /dev/vdb pour étendre le système de fichiers.

    resize2fs 1.46.0 (29-Jan-2020)
    Please run 'e2fsck -f /dev/vdb' first.

    Une fois le système de fichiers étendu avec succès, la sortie suivante s'affiche :

    resize2fs 1.46.0 (29-Jan-2020)
    Resizing the filesystem on /dev/vdb to 7864320 (4k) blocks.
    The filesystem on /dev/vdb is now 7864320 (4k) blocks long.
  5. Vérifiez que le système de fichiers est étendu.

    1. Créez un répertoire temporaire /mnt/disk/ et montez-y le disque.

      mkdir /mnt/disk
      mount /dev/vdb /mnt/disk/
    2. Vérifiez la taille du système de fichiers.

      df /mnt/disk/

      La sortie d'exemple suivante montre que la capacité de /dev/vdb est étendue à 30 GiB.

      Filesystem     1K-blocks  Used Available Use% Mounted on
      /dev/vdb        30787536    24  30771128   1% /mnt/disk
    3. Démontez le disque du répertoire temporaire.

      umount /mnt/disk
  6. Détachez le disque de données de l'instance ECS. Pour plus d'informations, consultez Détacher un disque de données.

Étape 4 : Redémarrer l'application

  1. Augmentez l'application à 1 réplica pour la redémarrer.

    kubectl scale sts disk-test --replicas=1

    Sortie attendue :

    statefulset.apps/disk-test scaled
  2. Vérifiez que le pod est restauré.

    kubectl get pod

    Sortie attendue :

    NAME          READY   STATUS    RESTARTS   AGE
    disk-test-0   1/1     Running   0          5s
  3. Vérifiez la taille du système de fichiers.

    kubectl exec -it disk-test-0 -- df /data

    La sortie d'exemple suivante montre que le système de fichiers monté a été étendu avec succès.

    Filesystem     1K-blocks  Used Available Use% Mounted on
    /dev/vdb        30787536    24  30771128   1% /data