Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Storage overview

Última atualização: Sep 29, 2026

Aplicações no Kubernetes frequentemente precisam de armazenamento persistente. O ACK integra os service de armazenamento da Alibaba Cloud (alibaba cloud) (cloud disks, OSS, NAS e CPFS) por meio da Container Storage Interface (CSI) e também oferece suporte a volumes nativos do Kubernetes. Isso proporciona opções flexíveis de armazenamento para workloads efêmeros e persistentes.

Soluções de armazenamento

As opções de armazenamento do ACK se dividem em duas categorias:

  • Volumes nativos do Kubernetes: indicados para dados efêmeros, injeção de configuração ou interação com o nó host. Esses volumes estão vinculados ao ciclo de vida do Pod e não são adequados para dados persistentes de aplicações.

  • Volumes persistentes da Alibaba Cloud: integrados aos service de armazenamento da Alibaba Cloud por meio da CSI. Esses volumes são desacoplados do ciclo de vida do Pod e oferecem suporte a workloads com estado.

image
Antes de usar os recursos de armazenamento de contêineres, certifique-se de compreender os conceitos fundamentais do Kubernetes storage concepts como volumes, PersistentVolumes (PVs) e PersistentVolumeClaims (PVCs).

Volumes nativos do Kubernetes

Os volumes nativos do Kubernetes estão vinculados ao ciclo de vida do Pod e não são projetados para o armazenamento persistente de dados.

Tipo

Descrição

Recursos principais

emptyDir

Um volume efêmero que compartilha o ciclo de vida do Pod.

Os dados persistem apenas durante o ciclo de vida do Pod. Ideal para compartilhamento entre contêineres e caches efêmeros.

HostPath

Monta um arquivo ou diretório do nó host em um Pod. Use o campo type (por exemplo, DirectoryOrCreate) para controlar a validação pré-montagem e o comportamento de criação.

Para mais informações, consulte HostPath volumes.

Os dados ficam vinculados ao nó e não acompanham o reagendamento do Pod. Não recomendado para aplicações com estado que exigem alta disponibilidade (como bancos de dados ou caches).

ConfigMap/Secret

Monta entradas de configuração ou credenciais sensíveis como arquivos.

Destinado a dados de configuração de pequeno porte, e não a dados de aplicações. Use para desacoplar a configuração do código da aplicação.

Volumes persistentes da Alibaba Cloud

Para aplicações com estado que exigem dados persistentes, use volumes de armazenamento persistente oferecidos pelos service de armazenamento da Alibaba Cloud. Esses volumes existem de forma independente do ciclo de vida do Pod e se integram ao Kubernetes por meio da CSI.

Comparação

A tabela de comparação abaixo inclui um índice de referência rápida sob o nome de cada solução de armazenamento. Tomando o cloud disk como exemplo:

  • imageCloud disk: o service de armazenamento. clique em para obter detalhes.

  • Static/Dynamic: volume provisioning methods com suporte, incluindo volumes provisionados estaticamente (PV/PVC) e volumes provisionados dinamicamente (StorageClass/PVC). Clique para obter instruções passo a passo.

  • RWO: access modes com suporte (accessModes): RWO (ReadWriteOnce), RWX (ReadWriteMany) e ROX (ReadOnlyMany).

  • Billing: detalhes de preços. Clique para obter mais informações.

Solução de armazenamento

Descrição

Trade-offs e limitações

image Cloud disk

Static/Dynamic | RWO (no Multi-Attach) | Billing

  • Descrição: um service de armazenamento em bloco com 99,9999999% de confiabilidade de dados e desempenho de I/O consistente. Os dados são replicados com três cópias no backend. Suporta o modo de sistema de arquivos (volumeMode: Filesystem) e o modo de dispositivo de bloco (volumeMode: Block). Várias camadas de desempenho estão disponíveis (ESSD AutoPL, ESSD, ESSD Entry, entre outras), além de criptografia em repouso.

  • Caso de uso: bancos de dados (MySQL, PostgreSQL), middleware (Redis, Elasticsearch) e outras aplicações com estado de instância única que exigem alto desempenho de I/O e confiabilidade de dados.

  • accessModes: sem o Multi-Attach ativado, o cloud disk só pode ser anexado a um Pod por vez. Não há suporte para workloads que exigem acesso compartilhado a dados em várias instâncias (como o compartilhamento de conteúdo de clusters web).

    Use o cloud disk com StatefulSets ou Deployments de Pod único, e não com Deployments de múltiplas réplicas. Consulte os guias para obter detalhes.
  • Vinculação de zona: o cloud disk só pode ser anexado a Pods na mesma zona (exceto discos ESSD com redundância de zona).

    Use uma StorageClass com modo de vinculação WaitForFirstConsumer e ative o agendamento com reconhecimento de topologia.
  • Compatibilidade de instância: os tipos de cloud disk devem corresponder à família de instâncias ECS. Para obter detalhes, consulte Instance family overview.

image NAS

Static/Dynamic | RWX, RWO, ROX | Billing

  • Descrição: um service de armazenamento de arquivos compartilhado que suporta o protocolo NFS. Vários Pods podem ler e gravar simultaneamente, e tanto a capacidade quanto o desempenho escalam elasticamente. Oferece recursos de lixeira, snapshots e backups para proteção de dados.

  • Caso de uso: compartilhamento de conteúdo de clusters web, pipelines de CI/CD, armazenamento centralizado de logs e outros cenários em que várias instâncias de aplicação leem e gravam os mesmos dados simultaneamente.

  • Sobrecarga de I/O de rede: todas as leituras e gravações passam pela rede, o que introduz latência no nível de milissegundos em comparação com o cloud disk. Não recomendado para bancos de dados ou outras aplicações altamente sensíveis à latência de I/O.

  • Noisy neighbor: nos modos subpath ou sharepath, os PVs provisionados dinamicamente são subdiretórios da mesma instância NAS no backend. Eles compartilham recursos de desempenho (largura de banda e IOPS), o que pode causar efeitos de noisy-neighbor.

  • Limites de protocolo e rede: apenas o protocolo NFS é suportado. Não há suporte para montagem entre VPC (vpc).

image OSS

Static ossfs 1.0/ossfs 2.0

Dynamic ossfs 1.0/ossfs 2.0

RWX, ROX | Billing

  • Descrição: um Object Storage Service (object storage service) de alta capacidade e baixo custo. A ferramenta ossfs monta um bucket como um sistema de arquivos no Pod. Dois drivers de montagem estão disponíveis: ossfs 1.0 (otimizado para compatibilidade POSIX) e ossfs 2.0 (otimizado para alto throughput e simultaneidade).

  • Caso de uso: data lakes para IA e análise de big data, armazenamento de mídia estática (imagens, vídeos) e backup e arquivamento de dados de aplicações.

  • Desempenho não nativo: construído sobre um sistema de arquivos no espaço do usuário (FUSE), que traduz operações do sistema de arquivos em chamadas de API HTTP (http) REST (rest). Isso resulta em alta latência e baixo desempenho de I/O aleatório. Não recomendado para bancos de dados ou workloads de gravação de alta frequência.

  • Compatibilidade POSIX incompleta: não suporta totalmente todas as operações padrão do sistema de arquivos. Por exemplo, chmod e chown no caminho raiz são restritos, o que pode causar problemas de compatibilidade com a aplicação.

image CPFS for Lingjun

Static/Dynamic | RWX | Billing

  • Descrição: um sistema de arquivos paralelo de alto desempenho criado para workloads de IA. Oferece throughput e IOPS de alta simultaneidade.

  • Caso de uso: treinamento e inferência de modelos grandes (AIGC), simulação de direção autônoma e outros workloads de IA que exigem alto desempenho de I/O paralelo.

  • Custo e disponibilidade: custo mais elevado do que outras soluções. Atualmente está em preview por convite e disponível somente em selected regions.

  • Limite de montagem: não há suporte para montagem entre VPC (vpc).

image 什么是CPFS通用版

Static | RWX | Billing

  • Descrição: um sistema de arquivos compartilhado para computação de alto desempenho (HPC) que oferece IOPS e throughput superiores aos do NAS de uso geral.

  • Caso de uso: computação genômica, análise de big data, aceleração de cache de dados e outros workloads tradicionais de HPC.

  • Custo e disponibilidade: custo mais elevado do que o NAS de uso geral e disponível apenas em selected regions.

  • Limite de montagem: apenas o protocolo NFS é suportado. Não há suporte para montagem entre VPC (vpc).

Além do desempenho de base, as soluções de armazenamento também diferem na forma como lidam com a recuperação de falhas, o gerenciamento de capacidade e a proteção de dados. Considere as seguintes perguntas para refinar sua escolha.

Recuperação de falhas de nó

Quando um nó falha, a recuperação rápida da aplicação e a segurança dos dados são críticas para a alta disponibilidade.

  • Cloud disk: a CSI desanexa automaticamente o disco do nó com falha e o anexa ao novo nó.

  • NAS / OSS / CPFS: como armazenamento compartilhado, um Pod pode remontar o volume assim que é iniciado em outro nó. O tempo de recuperação é determinado principalmente pelo tempo de inicialização da aplicação.

  • HostPath: os dados ficam fixados a um nó específico. Se esse nó falhar, o Pod não poderá acessar seus dados originais a partir de outro nó. A replicação entre nós e a alta disponibilidade devem ser gerenciadas pela aplicação.

Recomendação
Se a sua aplicação (por exemplo, um banco de dados de instância única) puder tolerar pequenas interrupções, escolha o cloud disk. Para um failover rápido (por exemplo, services web de alta disponibilidade), priorize soluções de armazenamento compartilhado com múltiplas réplicas.

Planejamento de capacidade de armazenamento

O planejamento de capacidade ajuda a controlar custos e evita interrupções causadas pela falta de armazenamento. A capacidade do PVC se comporta de maneira diferente dependendo do tipo de armazenamento.

  • Cloud disk: a capacidade do PVC corresponde de um para um com o tamanho do disco. Os limites de capacidade são aplicados e há suporte para volume expansion. Adequado para workloads com necessidades de capacidade previsíveis e fortes requisitos de isolamento.

  • OSS: capacidade elástica e faturamento baseado no uso real. A capacidade do PVC é usada apenas para correspondência de PV e não impõe um limite de uso.

  • NAS/CPFS:

    • Volumes provisionados estaticamente: a capacidade do PVC é usada apenas para correspondência de PV e não limita o uso real. A capacidade disponível depende da cota da instância de backend, compartilhada entre os Pods.

    • Volumes provisionados dinamicamente: para o NAS (apenas no modo subpath, com allowVolumeExpansion: true) e CPFS para Lingjun, a capacidade do PVC é convertida em uma cota de diretório que impõe limites reais de uso. Em outros cenários, o comportamento corresponde ao dos volumes provisionados estaticamente.

Recomendação
Para workloads que exigem orçamento preciso e forte isolamento (por exemplo, bancos de dados em ambientes multilocatários), use o cloud disk. Para workloads em que muitos Pods compartilham dados e a capacidade muda frequentemente (por exemplo, logs ou arquivos web estáticos), use soluções de armazenamento compartilhado.

Backup de dados da aplicação

  • Cloud disk: use snapshots para backup e restauração rápidos de volumes completos. Backup schedules and on-demand backups também são suportados.

  • NAS: oferece uma recycle bin (via CNFS) para recuperação de arquivos/diretórios e snapshots (com suporte em alguns tipos de NAS).

  • OSS: suporta versioning e lifecycle management para reduzir o risco de exclusão acidental e permitir o arquivamento.

  • HostPath: a proteção de dados depende inteiramente de mecanismos de replicação e alta disponibilidade no nível da aplicação.

Recomendação
Para backup e restauração rápidos e consistentes de volumes completos, use snapshots de cloud disk. Para arquivamento de longo prazo, necessidades de conformidade ou recuperação de arquivos únicos, use os recursos correspondentes do NAS ou OSS. Se você usar o HostPath, certifique-se de que sua aplicação possua uma estratégia robusta de proteção de dados.

Principais add-ons e conceitos

  • CSI add-ons(csi-plugin, csi-provisioner)

    A implementação de plugin de armazenamento recomendada pelo Kubernetes, implantada por padrão em clusters ACK. Esses add-ons interagem com as API de armazenamento da Alibaba Cloud e gerencie o ciclo de vida do volume, incluindo provisionamento, anexação, desanexação e exclusão.

  • CNFS

    Um aprimoramento de armazenamento disponível em clusters ACK Pro. O CNFS representa os recursos de NAS, OSS e CPFS como Custom Resource Definitions (CRDs) do Kubernetes e fornece recursos de gerenciamento de granularidade fina, como criação dinâmica de subdiretórios, gerenciamento de cotas, monitoramento de I/O, gerenciamento de lixeira e cache distribuído.

Notas de uso

  • Versão do cluster: é necessário o Kubernetes 1.14 ou posterior. Para fazer o upgrade, consulte Manually upgrade a cluster.

  • Ambiente do cluster: a CSI é totalmente testada e validada em clusters ACK. Em clusters não ACK (ambientes autogerenciados da Alibaba Cloud ou ambientes fora da Alibaba Cloud), a CSI pode precisar de adaptação manual, pois a configuração, as permissões e a rede são diferentes.

    Para ambientes não ACK, consulte o source do alibaba-cloud-csi-driver e adapte-o ao seu ambiente.
  • Configuração do nó: defina o parâmetro kubelet --enable-controller-attach-detach como true.

  • Sistema operacional: não há suporte para nós Windows.

  • Permissões RBAC: os PVs são recursos no escopo do cluster, e os PVCs são recursos no escopo do namespace. configure o RBAC considerando as diferenças de permissão para esses dois tipos de recurso.

    Se as funções predefinidas do ACK (administrador, engenheiro de O&M, entre outras) não atenderem às suas necessidades, crie funções personalizadas. Por exemplo, a função padrão de engenheiro de O&M tem acesso de leitura e gravação aos PVCs, mas acesso somente leitura aos PVs, portanto, não pode criar PVs manualmente. Para mais informações, consulte Authorize operations on in-cluster resources with RBAC.

Perguntas frequentes

Como determinar qual plugin de armazenamento meu cluster usa?

Use um dos seguintes métodos.

Verificar anotações de nó no console

  1. Na página ACK Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Nodes > Nodes.

  2. Na coluna Actions, clique em Details e, em seguida, verifique as Annotations do nó na aba Overview.

    Se a anotação volumes.kubernetes.io/controller-managed-attach-detach: true existir, o cluster usa a CSI. Caso contrário, usa o Flexvolume.

Verificar parâmetros do kubelet via linha de comando

Nodes e verifique os parâmetros do kubelet.

ps -ef | grep kubelet

Exemplo de saída (truncada):

--enable-controller-attach-detach=true
  • true: CSI

  • false: Flexvolume

Como conceder permissões CSI manualmente?

A CSI requer permissões para acessar outros service da Alibaba Cloud ao anexar, desanexar, criar ou excluir volumes. Por padrão, a CSI é instalada com as permissões necessárias. Se você precisar conceder permissões manualmente, use um dos seguintes métodos.

  • Autorização de função RAM (padrão): a CSI usa a função AliyunCSManagedCsiRole para acessar outros service da cloud. Para mais informações, consulte ACK roles.

    • Clusters gerenciados pelo ACK: o token da função RAM é armazenado em um Secret chamado addon.csi.token. Monte este Secret para autorizar a CSI por meio da função RAM.

    • Clusters dedicados do ACK: a CSI herda a função RAM do nó onde seu Pod é executado.

    Para mais informações sobre como conceder permissões a funções RAM, consulte Manage permissions for a RAM role.

  • Autorização por AccessKey:

    • Variáveis de ambiente: crie o AccessKey como um Secret do Kubernetes e, em seguida, injete-o no Pod da CSI como variáveis de ambiente. Isso evita que as credenciais fiquem expostas em texto simples nos manifestos de implantação.

    • YAML inline: escreva o AccessKey diretamente no YAML da CSI. Não recomendado para ambientes de produção.