Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Change the disk category

Dernière mise à jour :Aug 11, 2026

ACK vous permet de modifier la catégorie d'un disque cloud associé à un volume sans reconstruire votre charge de travail. Par exemple, si les besoins en stockage de votre application augmentent, vous pouvez passer d'un SSD standard à un Enterprise SSD (ESSD) pour bénéficier d'IOPS plus élevés.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Un cluster exécutant Kubernetes 1.20 ou une version ultérieure, avec le plug-in CSI (Container Storage Interface) installé. Pour mettre à niveau votre cluster, consultez la rubrique Mettre à niveau manuellement un cluster.

  • Le composant storage-operator version 1.26.1-50a1499-aliyun ou ultérieure est installé. Par défaut, storage-operator est installé dans le cluster. Pour vérifier la version, accédez à la page des détails du cluster dans la console ACK, choisissez Operations > Add-ons dans le volet de navigation de gauche, puis cliquez sur l'onglet Storage. Pour plus d'informations, consultez la rubrique Gérer le composant storage-operator.

  • (Uniquement pour les clusters dédiés ACK) Des rôles RAM (Resource Access Management) pour les nœuds de travail et les nœuds maîtres, disposant de l'autorisation d'appeler l'opération ModifyDiskSpec. Cette étape n'est pas requise pour les clusters gérés ACK. Consultez la rubrique Créer une stratégie personnalisée.

    Cliquez pour afficher le contenu de la stratégie

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:CreateSnapshot",
                    "ecs:DescribeSnapshot",
                    "ecs:DeleteSnapshot",
                    "ecs:ModifyDiskSpec",
                    "ecs:DescribeTaskAttribute"
                ],
                "Resource": "*"
            }
        ]
    }

Limitations

  • Il est impossible de convertir les disques basiques et les disques éphémères vers d'autres catégories de disque.

  • Les disques ESSD AutoPL ne peuvent pas être convertis vers d'autres catégories de disque.

  • Seuls les disques en paiement à l'utilisation peuvent être montés en tant que volumes.

  • La nouvelle catégorie de disque doit être prise en charge par le type d'instance ECS du nœud hébergeant votre pod. Pour connaître les détails de compatibilité, consultez la rubrique Présentation des familles d'instances.

  • Lorsqu'une modification de catégorie implique un ESSD régional, les paramètres d'affinité du volume ne peuvent pas être modifiés. Les pods utilisant le disque ne peuvent pas être replanifiés dans d'autres zones.

Pour obtenir la liste complète des limites, consultez la rubrique Limites.

Conversions de catégories de disque prises en charge

Le tableau suivant récapitule les mises à niveau et rétrogradations prises en charge.

Catégorie de disque source Catégories de disque cibles
Disque ultra SSD standard, ESSD Entry, ESSD PL0/PL1/PL2/PL3, disque ESSD AutoPL
SSD standard ESSD PL1/PL2/PL3, disque ESSD AutoPL
ESSD PL0 ESSD PL1/PL2/PL3, disque ESSD AutoPL
ESSD PL1/PL2/PL3 (paiement à l'utilisation) Modification entre PL1, PL2 et PL3 ; ou conversion vers un disque ESSD AutoPL
ESSD PL1/PL2/PL3 (abonnement) Mise à niveau uniquement (du niveau inférieur au supérieur) : PL1→PL2, PL1→PL3, PL2→PL3 ; PL1→disque ESSD AutoPL

Remarques d'utilisation :

  • Seuls les disques ESSD Entry peuvent être attachés aux instances des familles d'instances universelles et de la famille d'instances économique e.

  • Le niveau de performance auquel un ESSD peut être mis à niveau dépend de la capacité du disque. Si un niveau de performance supérieur n'est pas disponible, augmentez d'abord la taille du disque, puis mettez à niveau le niveau de performance.

  • Après avoir converti un disque en ESSD PL3, attachez-le à une instance ou redémarrez l'instance pour activer les performances optimales. La fiabilité des données n'est pas affectée durant cette période.

  • Après la modification de la catégorie de disque, la facturation suit les règles de la nouvelle catégorie.

  • Lors d'une conversion vers ou depuis un disque ESSD AutoPL : vous pouvez activer ou désactiver la provision de performances après la modification (des frais supplémentaires s'appliquent lorsque l'option est activée — consultez la rubrique Modifier les performances provisionnées d'un disque ESSD AutoPL). Le burst de performances ne peut pas être configuré pendant la modification, mais il peut être activé ou désactivé une fois celle-ci terminée — consultez la rubrique Activer ou désactiver le burst de performances pour un disque ESSD AutoPL.

Référence du paramètre desiredDiskType

Utilisez les valeurs suivantes pour le paramètre desiredDiskType lors de la création de la ressource personnalisée à l'étape 2.

Valeur Catégorie de disque
cloud_ssd SSD standard
cloud_essd.PL0 ESSD PL0
cloud_essd.PL1 ESSD PL1
cloud_essd.PL2 ESSD PL2
cloud_essd.PL3 ESSD PL3
cloud_auto Disque ESSD AutoPL

Étape 1 : Activer les modifications de catégorie de disque dans storage-operator

Exécutez la commande suivante pour mettre à jour la ConfigMap de storage-operator et activer la fonctionnalité de modification de catégorie de disque. Cette fonctionnalité est implémentée par le plug-in storage-controller.

kubectl patch configmap/storage-operator \
  -n kube-system \
  --type merge \
  -p '{"data":{"storage-controller":"{\"imageRep\":\"acs/storage-controller\",\"imageTag\":\"\",\"install\":\"true\",\"template\":\"/acs/templates/storage-controller/install.yaml\",\"type\":\"deployment\"}"}}'

Étape 2 : Modifier la catégorie de disque

Important

Afin de minimiser l'impact sur vos charges de travail, effectuez les modifications de catégorie de disque pendant les heures creuses.

1. Créer un StatefulSet

Ignorez cette étape si un StatefulSet avec un disque cloud monté existe déjà dans votre cluster.

Créez un fichier nommé StatefulSet.yaml à l'aide du modèle suivant. Cela crée un StatefulSet avec un pod disposant d'un ESSD PL1 de 40 Go monté.

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: nginx-diskspec
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
        ports:
        - containerPort: 80
        volumeMounts:
        - name: pvc-disk
          mountPath: /data
      volumes:
        - name: pvc-disk
          persistentVolumeClaim:
            claimName: disk-pvc
  volumeClaimTemplates:
    - metadata:
        name: pvc-disk
        labels:
          app: nginx
      spec:
        accessModes: [ "ReadWriteOnce" ]
        storageClassName: "alicloud-disk-essd"
        resources:
          requests:
            storage: 40Gi

Appliquez le manifeste et vérifiez que le pod est en cours d'exécution :

kubectl create -f StatefulSet.yaml
kubectl get pod -l app=nginx

Sortie attendue :

NAME                 READY   STATUS    RESTARTS   AGE
nginx-diskspec-0     1/1     Running   0          4m4s

2. Identifier le PersistentVolume (PV) à modifier

Récupérez la PersistentVolumeClaim (PVC) utilisée par le StatefulSet et notez le nom du PV lié dans la colonne VOLUME.

kubectl get pvc pvc-disk-nginx-diskspec-0

Sortie attendue :

NAME                           STATUS    VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS                VOLUMEATTRIBUTESCLASS   AGE
pvc-disk-nginx-diskspec-0      Bound     d-uf6ijdcp3aeoi82w****   40Gi       RWO            alicloud-disk-essd          <unset>                 5m6s

Vérifiez la catégorie actuelle du disque du PV :

kubectl get pv d-uf6ijdcp3aeoi82w**** -o=jsonpath='{.metadata.labels}'

Sortie attendue — cloud_essd.PL1 confirme que le PV est sauvegardé par un ESSD PL1 :

{"csi.alibabacloud.com/disktype":"cloud_essd.PL1"}

3. Créer une ressource personnalisée pour déclencher la modification de catégorie

Créez un fichier nommé cr.yaml. Remplacez pvNames par le nom du PV obtenu à l'étape précédente, et définissez desiredDiskType sur la catégorie de disque cible (reportez-vous à la référence du paramètre desiredDiskType ci-dessus).

apiVersion: storage.alibabacloud.com/v1beta1
kind: ContainerStorageOperator
metadata:
  name: default
spec:
  operationType: DISKUPGRADE
  operationParams:
    pvNames: "d-uf6ijdcp3aeoi82w****"
    desiredDiskType: "cloud_auto"
Paramètre Description
operationType Définissez cette valeur sur DISKUPGRADE pour les opérations de mise à niveau ou de rétrogradation de disque.
pvNames Le PV à modifier. Séparez plusieurs PV par des virgules, par exemple : « disk-1,disk-2,disk-3*** ».
desiredDiskType La catégorie de disque cible. Consultez la référence du paramètre desiredDiskType ci-dessus.

Appliquez la ressource personnalisée :

kubectl create -f cr.yaml

4. Vérifier la modification de la catégorie de disque

Interrogez le statut de la ressource personnalisée pour vérifier si la modification de la catégorie de disque est terminée :

kubectl get ContainerStorageOperator default -o yaml

Sortie attendue une fois la modification terminée :

  status:
    message: []
    process: 100%
    status: SUCCESS

Confirmez que l'étiquette du PV reflète la nouvelle catégorie de disque :

kubectl get pv d-uf6ijdcp3aeoi82w**** -o=jsonpath='{.metadata.labels}'

Sortie attendue :

{"csi.alibabacloud.com/disktype":"cloud_auto"}

Étapes suivantes