Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Use dynamically provisioned cloud disk volumes

Última atualização: Sep 01, 2026

Este tópico descreve como provisionar e montar dinamicamente volumes de disco da Alibaba Cloud para aplicações com estado no ACK Serverless, além de verificar as características de armazenamento persistente.

Casos de uso

Os volumes de disco são adequados para cargas de trabalho que exigem armazenamento em bloco dedicado e de alto desempenho:

  • Aplicações com estado com altos requisitos de E/S de disco (por exemplo, MySQL e Redis) sem compartilhamento de dados entre pods

  • Escrita de logs com alto throughput

  • Persistência de dados independente do ciclo de vida do pod

Como funciona o provisionamento dinâmico

Quando uma PVC referencia uma StorageClass, o Kubernetes cria e vincula automaticamente um volume persistente (PV) suportado por um disco da Alibaba Cloud, eliminando a criação manual de discos.

Clusters ACK Serverless não incluem uma StorageClass padrão. Crie uma antes de provisionar o armazenamento.

O Kubernetes suporta uma StorageClass padrão . Se uma PVC omitir a StorageClass, o Kubernetes usará a padrão para provisionar um PV. Consulte Storage basics .

Pré-requisitos

Certifique-se do seguinte:

Provisionar um volume de disco

Siga estas etapas em ordem:

  1. Crie uma StorageClass para definir o tipo de disco e o comportamento de provisionamento.

  2. Crie uma PVC para solicitar armazenamento da StorageClass.

  3. Implante uma aplicação e monte a PVC.

ACK console

Etapa 1: Criar uma StorageClass

  1. Faça logon no ACK console e clique em Clusters no painel de navegação à esquerda.

  2. Na página Clusters, clique no nome do cluster e escolha Volumes > StorageClasses.

  3. Na página StorageClasses, clique em Create.

  4. Na caixa de diálogo Create, defina os parâmetros.

    Tipos específicos de instância ECS não suportam ESSDs ou discos efêmeros elásticos. Consulte FAQ about Elastic Block Storage .

    Parâmetro

    Obrigatório

    Descrição

    Name

    Sim

    Nome da StorageClass.

    PV Type

    Sim

    Selecione Cloud Disk.

    Parameter

    Sim

    Categoria do disco. Padrão: cloud_essd. Valores válidos: cloud_essd (Enterprise SSD), cloud_regional_disk_auto (Regional ESSDs), elastic_ephemeral_disk_premium (disco efêmero elástico premium), elastic_ephemeral_disk_standard (disco efêmero elástico padrão), cloud_ssd (SSD padrão), cloud_efficiency (ultra disk). Defina vários valores para fallback, por exemplo, type: cloud_ssd,cloud_essd. O sistema tenta cada um em ordem. Adicione zoneId para fixar em zonas específicas, por exemplo, cn-beijing-a ou cn-beijing-a, cn-beijing-b.

    Reclaim Policy

    Sim

    Comportamento do PV e do disco na exclusão da PVC. Padrão: Delete (ambos removidos). Defina como Retain para manter ambos — recomendado quando a perda de dados for custosa.

    Binding Mode

    Não

    Padrão: Immediate (o disco é criado antes do agendamento do pod).

  5. Clique em Create. A StorageClass aparece na página StorageClasses.

Etapa 2: Criar uma PVC

  1. No painel de navegação à esquerda, escolha Volumes > Persistent Volume Claims.

  2. Na página Persistent Volume Claims, clique em Create.

  3. Na caixa de diálogo Create PVC, defina os parâmetros.

    Parâmetro

    Obrigatório

    Descrição

    PVC Type

    Sim

    Selecione Cloud Disk.

    Name

    Sim

    Nome da PVC. Deve ser único dentro do namespace.

    Allocation Mode

    Sim

    Selecione Use StorageClass.

    Existing Storage Class

    Sim

    Clique em Select, localize a StorageClass da Etapa 1 e clique em Select na coluna Actions.

    Capacity

    Sim

    Capacidade de armazenamento a ser solicitada. Mínimo: 20 GiB.

    Access Mode

    Não

    Padrão: ReadWriteOnce (leitura/gravação em nó único).

  4. Clique em Create. A PVC aparece na página Persistent Volume Claims com um PV vinculado.

Etapa 3: Implantar uma aplicação

  1. No painel de navegação à esquerda, escolha Workloads > StatefulSets.

  2. Na página StatefulSets, clique em Create from Image.

  3. Configure a aplicação. Selecione Cloud Storage e monte a PVC criada na Etapa 2. Neste exemplo, o disco é montado em /tmp, persistindo os dados gravados em /tmp. Consulte Usar um StatefulSet para criar uma aplicação com estado.

  4. Clique em Create. A aplicação é implantada com armazenamento persistente em disco.

kubectl

Etapa 1: Criar uma StorageClass

Em clusters multizona, a StorageClass determina o tipo de disco antes do agendamento do pod.

  1. Crie um arquivo chamado storage-class-csi.yaml:

    Parâmetro

    Obrigatório

    Descrição

    provisioner

    Sim

    Defina como diskplugin.csi.alibabacloud.com.

    type

    Sim

    Categoria do disco. Valores válidos: cloud_auto (disco ESSD AutoPL), cloud_essd (ESSD, padrão), cloud_essd_entry (disco ESSD Entry), cloud_ssd (SSD padrão), cloud_efficiency (ultra disk), elastic_ephemeral_disk_standard (disco efêmero elástico padrão), elastic_ephemeral_disk_premium (disco efêmero elástico premium), cloud_regional_disk_auto (Regional ESSDs). Especifique vários valores como uma lista de fallback separada por vírgulas. Consulte Preços do EBS, Block storage performance e Overview of instance families.

    encrypted

    Não

    Indica se o disco deve ser criptografado. Padrão: false.

    reclaimPolicy

    Sim

    Comportamento do PV e do disco na exclusão da PVC. Delete: ambos removidos. Retain: ambos mantidos — use Retain quando a perda de dados for custosa. Padrão: Delete.

    allowVolumeExpansion

    Não

    Defina como true para permitir a expansão online do disco.

    volumeBindingMode

    Não

    Padrão: Immediate (o disco é provisionado antes do agendamento do pod).

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alicloud-disk-ssd-b
    # Use diskplugin.csi.alibabacloud.com as the provisioner for Alibaba Cloud disks.
    provisioner: diskplugin.csi.alibabacloud.com
    parameters:
      # Disk category fallback order: ESSD → standard SSD → ultra disk.
      # The system tries each value in sequence and stops when a disk is created.
      type: cloud_essd,cloud_ssd,cloud_efficiency
      # Optional. Set to "true" to encrypt the disk at rest.
      encrypted: "false"
    # Retain: keeps the PV and disk when the PVC is deleted (manual cleanup required).
    # Delete: removes the PV and disk automatically when the PVC is deleted.
    reclaimPolicy: Retain
    # Allows online disk expansion without downtime.
    allowVolumeExpansion: true
    # Immediate: provisions the disk before scheduling the pod.
    volumeBindingMode: Immediate
  2. Aplique a StorageClass:

    kubectl apply -f storage-class-csi.yaml
  3. Verifique no ACK console: faça logon, clique em Clusters, clique no nome do cluster e escolha Volumes > StorageClasses.

Etapa 2: Criar uma PVC

  1. Crie um arquivo chamado pvc-ssd.yaml:

    Parâmetro

    Obrigatório

    Descrição

    name

    Sim

    Nome da PVC.

    accessModes

    Sim

    Modo de acesso ao PV.

    volumeMode

    Não

    Formato de montagem do disco. Filesystem é suportado.

    storageClassName

    Sim

    StorageClass para provisionamento.

    storage

    Sim

    Capacidade de armazenamento a ser solicitada. Mínimo: 20 GiB.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: disk-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      volumeMode: Filesystem
      resources:
        requests:
          storage: 25Gi
      storageClassName: alicloud-disk-ssd-b
  2. Crie a PVC:

    kubectl create -f pvc-ssd.yaml
  3. Verifique no ACK console: escolha Volumes > Persistent Volume Claims.

Etapa 3: Implantar uma aplicação

  1. Crie um arquivo chamado pvc-dynamic.yaml:

    Parâmetro

    Descrição

    mountPath

    Caminho do contêiner para a montagem do disco.

    claimName

    Nome da PVC. Deve corresponder à PVC da Etapa 2.

    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: nginx-dynamic
    spec:
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx
            ports:
            - containerPort: 80
              name: web
            volumeMounts:
            - name: pvc-disk
              mountPath: /data    # Path inside the container where the disk is mounted.
          volumes:
            - name: pvc-disk
              persistentVolumeClaim:
                claimName: disk-pvc    # Must match the PVC name created in Step 2.
  2. Implante a aplicação:

    kubectl create -f pvc-dynamic.yaml
  3. Verifique no ACK console: escolha Workloads > StatefulSets.

Próximas etapas