Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Alterar a categoria do disco

Última atualização: Jun 27, 2026

O ACK permite alterar a categoria de um disco em nuvem anexado a um volume sem reconstruir a carga de trabalho. Por exemplo, se as demandas de armazenamento da aplicação aumentarem, atualize um SSD padrão para um Enterprise SSD (ESSD) e obtenha IOPS mais altos.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Um cluster com Kubernetes 1.20 ou posterior e o plug-in Container Storage Interface (CSI) instalado. Para atualizar o cluster, consulte Atualizar manualmente um cluster.

  • A versão 1.26.1-50a1499-aliyun ou posterior do storage-operator instalada. O storage-operator vem instalado por padrão no cluster. Para verificar a versão, acesse a página de detalhes do cluster no console do ACK, escolha Operations > Add-ons no painel de navegação à esquerda e clique em na aba Storage. Para mais informações, consulte Gerenciar o componente storage-operator.

  • (Apenas para clusters dedicados do ACK) Funções do RAM (Resource Access Management) de worker e master com permissão para chamar a operação ModifyDiskSpec. Isso não é necessário para clusters gerenciados pelo ACK. Consulte Criar uma política personalizada.

    Clique em para visualizar o conteúdo da política

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

Limitações

  • Não é possível alterar discos básicos e efêmeros para outras categorias.

  • Discos ESSD AutoPL não admitem conversão para outras categorias.

  • Somente discos com pagamento conforme o uso podem ser montados como volumes.

  • A nova categoria de disco deve ser compatível com o tipo de instância ECS do nó que hospeda o pod. Para detalhes de compatibilidade, consulte Visão geral das famílias de instâncias.

  • Se a alteração de categoria envolver um ESSD regional, as configurações de afinidade do volume permanecem inalteradas. Pods que utilizam esse disco não podem ser reagendados para outras zonas.

Para obter a lista completa de limites, consulte Limites.

Conversões de categoria de disco suportadas

A tabela a seguir resume as atualizações e reduções suportadas.

Categoria de disco de origem

Categorias 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 (pagamento conforme o uso)

Alteração entre PL1, PL2 e PL3; ou para disco ESSD AutoPL

PL1/PL2/PL3 ESSD (assinatura)

Apenas atualização (de menor para maior): PL1→PL2, PL1→PL3, PL2→PL3; PL1→disco ESSD AutoPL

Observações de uso:

  • Apenas discos ESSD Entry podem ser anexados a instâncias das famílias de instâncias universais e da família de instâncias econômicas e.

  • O nível de desempenho disponível para atualização de um ESSD depende da capacidade do disco. Caso um nível superior não esteja disponível, expanda o disco antes de atualizar o nível de desempenho.

  • Após alterar um disco para PL3 ESSD, anexe-o a uma instância ou reinicie a instância para ativar o desempenho ideal. A confiabilidade dos dados não é afetada durante esse período.

  • Após a mudança de categoria, o faturamento segue as regras da nova categoria de disco.

  • Ao mudar para ou de um disco ESSD AutoPL, é possível ativar ou desativar o provisionamento de desempenho após a alteração (custos extras se aplicam quando ativado — consulte Modificar o desempenho provisionado de um disco ESSD AutoPL). O burst de desempenho não pode ser configurado durante a mudança, mas pode ser ativado ou desativado após a conclusão — consulte Ativar ou desativar burst de desempenho para um disco ESSD AutoPL.

Referência do parâmetro desiredDiskType

Use os valores abaixo para o parâmetro desiredDiskType ao criar o recurso personalizado na etapa 2.

Valor

Categoria 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

Etapa 1: Habilitar alterações de categoria de disco no storage-operator

Execute o comando a seguir para atualizar o ConfigMap do storage-operator e habilitar o recurso de alteração de categoria de disco. O plug-in storage-controller implementa esse recurso.

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\"}"}}'

Etapa 2: Alterar a categoria do disco

Importante

Para minimizar o impacto nas cargas de trabalho, altere a categoria do disco fora dos horários de pico.

1. Criar um StatefulSet

Ignore esta etapa se já existir um StatefulSet com um disco em nuvem montado no cluster.

Crie um arquivo chamado StatefulSet.yaml com o modelo a seguir. Isso cria um StatefulSet com um pod que tem um PL1 ESSD de 40 GiB montado.

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 o manifesto e verifique se o pod está em execução:

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

Saída esperada:

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

2. Identificar o PersistentVolume (PV) a ser alterado

Obtenha o PersistentVolumeClaim (PVC) usado pelo StatefulSet e anote o nome do PV vinculado na coluna VOLUME.

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

Saída 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

Verifique a categoria atual do disco do PV:

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

Saída esperada — cloud_essd.PL1 confirma que o PV utiliza um PL1 ESSD:

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

3. Criar um recurso personalizado para acionar a alteração de categoria

Crie um arquivo chamado cr.yaml. Substitua pvNames pelo nome do PV obtido na etapa anterior e defina desiredDiskType como a categoria de disco de destino (consulte a referência do parâmetro desiredDiskType acima).

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

Parâmetro

Descrição

operationType

Defina como DISKUPGRADE para operações de atualização ou redução de disco.

pvNames

O PV a ser alterado. Separe vários PVs com vírgulas, por exemplo: "disk-1,disk-2,disk-3***".

desiredDiskType

A categoria de disco de destino. Veja a referência do parâmetro desiredDiskType acima.

Aplique o recurso personalizado:

kubectl create -f cr.yaml

4. Verificar a alteração da categoria do disco

Consulte o status do recurso personalizado para verificar se a alteração da categoria do disco foi concluída:

kubectl get ContainerStorageOperator default -o yaml

Saída esperada quando a alteração estiver concluída:

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

Confirme se o rótulo do PV reflete a nova categoria de disco:

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

Saída esperada:

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

Próximos passos