Todos los productos
Search
Centro de documentos

Container Service for Kubernetes:Change the disk category

Última actualización: Sep 04, 2026

ACK permite cambiar la categoría de un disco en la nube asociado a un volumen sin necesidad de reconstruir su carga de trabajo. Por ejemplo, si aumentan las demandas de almacenamiento de su aplicación, puede actualizar un SSD estándar a un SSD empresarial (ESSD) para obtener mayores IOPS.

Requisitos previos

Antes de empezar, asegúrese de cumplir con lo siguiente:

  • Un clúster que ejecute Kubernetes 1.20 o posterior con el complemento Container Storage Interface (CSI) instalado. Para actualizar su clúster, consulte Manually upgrade a cluster.

  • storage-operator versión 1.26.1-50a1499-aliyun o posterior instalada. De forma predeterminada, storage-operator se instala en el clúster. Para comprobar la versión, vaya a la página de detalles del clúster en la consola de ACK, elija Operations > Add-ons en el panel de navegación izquierdo y haga clic en la pestaña Storage. Para más información, consulte Manage the storage-operator component.

  • (Solo para clústeres dedicados de ACK) Roles de RAM (Resource Access Management) de worker y master con permiso para invocar la operación ModifyDiskSpec. Esto no es necesario en los clústeres administrados de ACK. Consulte Create a custom policy.

    Haga clic para ver el contenido de la directiva

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

Límites

  • Los discos básicos y los discos efímeros no se pueden cambiar a otras categorías de disco.

  • Los discos ESSD AutoPL no se pueden cambiar a otras categorías de disco.

  • Solo los discos pay-as-you-go se pueden montar como volúmenes.

  • La nueva categoría de disco debe ser compatible con el tipo de instancia de ECS del nodo que aloja su pod. Para detalles de compatibilidad, consulte Overview of instance families.

  • Cuando un cambio de categoría involucra un ESSD regional, no se pueden modificar las configuraciones de afinidad del volumen. Los pods que utilizan el disco no se pueden reprogramar en otras zonas.

Para consultar la lista completa de límites, vea Limits.

Conversiones de categoría de disco compatibles

La siguiente tabla resume las actualizaciones y reducciones compatibles.

Categoría de disco de origen

Categorías de disco de destino

Ultra disk

Standard SSD, ESSD Entry, PL0/PL1/PL2/PL3 ESSD, disco ESSD AutoPL

Standard SSD

PL1/PL2/PL3 ESSD, disco ESSD AutoPL

PL0 ESSD

PL1/PL2/PL3 ESSD, disco ESSD AutoPL

PL1/PL2/PL3 ESSD (pay-as-you-go)

Cambio entre PL1, PL2 y PL3; o a disco ESSD AutoPL

PL1/PL2/PL3 ESSD (suscripción)

Solo actualización (de menor a mayor): PL1→PL2, PL1→PL3, PL2→PL3; PL1→disco ESSD AutoPL

Notas de uso:

  • Solo los discos ESSD Entry se pueden asociar a instancias de universal instance families y de e economy instance family.

  • El nivel de rendimiento al que se puede actualizar un ESSD depende de la capacidad del disco. Si un nivel de rendimiento superior no está disponible, amplíe primero el disco y luego actualice el nivel de rendimiento.

  • Después de cambiar un disco a PL3 ESSD, asocie el disco a una instancia o reinicie la instancia para activar el rendimiento óptimo. La fiabilidad de los datos no se ve afectada durante este periodo.

  • Tras el cambio de categoría de disco, la facturación sigue las reglas de la nueva categoría.

  • Al cambiar hacia o desde un disco ESSD AutoPL: puede habilitar o deshabilitar el aprovisionamiento de rendimiento después del cambio (se aplican cargos adicionales cuando está habilitado; consulte Modificar el rendimiento aprovisionado de un disco ESSD AutoPL). El pico de rendimiento no se puede configurar durante el cambio, pero sí se puede habilitar o deshabilitar una vez completado; consulte Habilitar o deshabilitar el pico de rendimiento para un disco ESSD AutoPL.

Referencia del parámetro desiredDiskType

Utilice los siguientes valores para el parámetro desiredDiskType al crear el recurso personalizado en el paso 2.

Valor

Categoría de disco

cloud_ssd

Standard SSD

cloud_essd.PL0

PL0 ESSD

cloud_essd.PL1

PL1 ESSD

cloud_essd.PL2

PL2 ESSD

cloud_essd.PL3

PL3 ESSD

cloud_auto

Disco ESSD AutoPL

Paso 1: Habilitar cambios de categoría de disco en storage-operator

Ejecute el siguiente comando para actualizar el ConfigMap de storage-operator y habilitar la función de cambio de categoría de disco. Esta función la implementa el complemento 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\"}"}}'

Paso 2: Cambiar la categoría de disco

Importante

Para minimizar el impacto en sus cargas de trabajo, realice los cambios de categoría de disco fuera de las horas pico.

1. Crear un StatefulSet

Omita este paso si ya existe un StatefulSet con un disco en la nube montado en su clúster.

Cree un archivo llamado StatefulSet.yaml con la siguiente plantilla. Esto crea un StatefulSet con un pod que tiene montado un PL1 ESSD de 40 GiB.

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

Aplique el manifiesto y compruebe que el pod se esté ejecutando:

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

Salida esperada:

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

2. Identificar el PersistentVolume (PV) a cambiar

Obtenga el PersistentVolumeClaim (PVC) utilizado por el StatefulSet y anote el nombre del PV vinculado en la columna VOLUME.

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

Salida esperada:

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

Compruebe la categoría de disco actual del PV:

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

Salida esperada: cloud_essd.PL1 confirma que el PV utiliza un PL1 ESSD:

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

3. Crear un recurso personalizado para iniciar el cambio de categoría

Cree un archivo llamado cr.yaml. Reemplace pvNames con el nombre del PV del paso anterior y establezca desiredDiskType en la categoría de disco de destino (consulte la referencia del parámetro desiredDiskType anterior).

apiVersion: storage.alibabacloud.com/v1beta1
kind: ContainerStorageOperator
metadata:
  name: default
spec:
  operationType: DISKUPGRADE
  operationParams:
    pvNames: "d-uf6ijdcp3aeoi82w****"
    desiredDiskType: "cloud_auto"

Parámetro

Descripción

operationType

Establezca este valor en DISKUPGRADE para operaciones de actualización o reducción de disco.

pvNames

El PV que se va a cambiar. Separe varios PV con comas; por ejemplo: "disk-1*,disk-2*,disk-3***".

desiredDiskType

La categoría de disco de destino. Consulte la referencia del parámetro desiredDiskType anterior.

Aplique el recurso personalizado:

kubectl create -f cr.yaml

4. Comprobar el cambio de categoría de disco

Consulte el estado del recurso personalizado para verificar si el cambio de categoría de disco se ha completado:

kubectl get ContainerStorageOperator default -o yaml

Salida esperada cuando el cambio se ha completado:

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

Confirme que la etiqueta del PV refleja la nueva categoría de disco:

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

Salida esperada:

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

Pasos siguientes