Este tópico descreve os métodos recomendados para montar sistemas de arquivos do File Storage NAS (NAS) em clusters do Container Service for Kubernetes (ACK). Você pode montar sistemas de arquivos NAS usando o plug-in Container Storage Interface (CSI) ou o Container Network File System (CNFS).
Recomendamos montar o sistema de arquivos NAS com um dos métodos a seguir. O uso de outros métodos pode expor o sistema de arquivos a riscos de estabilidade. A equipe técnica do NAS não consegue estimar o impacto desses riscos. Você é o único responsável por todas as perdas e consequências decorrentes deles.
Plug-ins de armazenamento do ACK
O Alibaba Cloud ACK integra-se profundamente aos serviços de armazenamento da Alibaba Cloud com base no plug-in CSI e oferece total compatibilidade com os serviços de armazenamento nativos do Kubernetes.
O CNFS é um novo método de gerenciamento de armazenamento de contêineres desenvolvido com base no plug-in CSI, compatível com o método tradicional de armazenamento CSI. Recomendamos usar o CNFS para gerenciar e acessar volumes NAS no ACK. Essa abordagem melhora significativamente o desempenho e oferece recursos avançados de gerenciamento e observabilidade de E/S.
Se o seu cluster de contêineres for pequeno, sofrer dimensionamento com pouca frequência e servir principalmente para testes, use o método HostPath para acessar sistemas de arquivos NAS. Para mais informações, consulte Volumes HostPath.
Em clusters Kubernetes autogerenciados com muitos nós e suporte a Auto Scaling, use o plug-in CSI para acessar sistemas de arquivos NAS. Para clusters com escala estável, utilize volumes integrados do Kubernetes. Para mais informações, consulte Montar um sistema de arquivos NAS em um cluster Kubernetes autogerenciado.
Observe os itens a seguir:
Para montar um sistema de arquivos em um novo cluster ACK, use o CNFS.
Para montar um sistema de arquivos em um cluster ACK existente, migre o cluster para o CNFS.
Para montar um sistema de arquivos em um cluster Kubernetes existente, use um plug-in de armazenamento já instalado.
Para mais informações sobre o plug-in CSI, consulte Armazenamento.
Usar o CNFS para montar sistemas de arquivos (recomendado)
O uso de um sistema de arquivos NAS compartilhado tradicional em contêineres pode causar problemas como alta latência na leitura e gravação de arquivos pequenos, falta de controle preciso de cotas de capacidade, impossibilidade de recuperar arquivos excluídos acidentalmente e ausência de métricas observáveis nos volumes de armazenamento. O CNFS permite abstrair sistemas de arquivos NAS como objetos personalizados do Kubernetes por meio do recurso CustomResourceDefinition (CRD). Com esses objetos personalizados, você pode criar, excluir, descrever, montar, monitorar e escalar sistemas de arquivos NAS. Além disso, o cliente de aceleração do NAS no plug-in CSI acelera significativamente o acesso ao NAS. O CNFS é gratuito. Após ativar o cliente de aceleração, o CNFS consome cerca de 50 a 100 MB de memória no pod.
|
Métrica |
Cenário de benchmark1 |
Antes do uso do cliente de aceleração CNFS |
Após o uso do cliente de aceleração CNFS |
|
Desempenho de leitura e gravação de metadados |
Tempo para percorrer um milhão de diretórios |
18 minutos |
< 60 segundos |
|
Tempo para criar um arquivo de 4 KB |
3.000 microssegundos |
< 200 microssegundos |
|
|
Tempo para ler um arquivo de 4 KB pela segunda vez |
400 microssegundos |
< 100 microssegundos |
|
|
Throughput de leitura e gravação |
Throughput de leitura e gravação de um único nó2 |
200 a 500 MB/s |
> 800 MB/s |
|
Desempenho geral em cenários abrangentes |
Tempo para extrair 5.000 imagens de 150 KB cada |
52 segundos |
Cerca de 15 segundos |
|
Tempo para criar um projeto Redis |
27 segundos |
Cerca de 21 segundos |
Os valores apresentados na tabela anterior são apenas teóricos (valores de referência). Os valores reais dependem do seu ambiente operacional.
Nota 1: O tipo de instância do Elastic Compute Service (ECS) usada para executar o teste de benchmark é ecs.hfg6.4xlarge. Os dados do benchmark podem variar conforme o ambiente.
Nota 2: A largura de banda da instância ECS e o tipo de sistema de arquivos NAS afetam o throughput de leitura e gravação do nó.
Para acessar sistemas de arquivos NAS com o CNFS, consulte Usar o CNFS para gerenciar sistemas de arquivos NAS (recomendado).
Em cenários de computação científica com contêineres, como treinamento de IA, computação biológica, construção de plataformas de integração contínua ou entrega contínua (CI/CD) ou fornecimento de serviços de site, ative o recurso de cache de leitura distribuído do CNFS. Para mais informações, consulte Ativar o recurso de cache distribuído do cliente CNFS.
Para mais detalhes sobre o CNFS, consulte Gerenciar sistemas de arquivos NAS usando o CNFS.
Usar o plug-in CSI para montar sistemas de arquivos
Para obter informações sobre como montar sistemas de arquivos com o plug-in CSI, consulte Volumes NAS.
O plug-in CSI suporta os seguintes métodos:
Monte sistemas de arquivos como volumes persistentes (PVs) estáticos. Nesse caso, crie os PVs manualmente. Para mais informações, consulte Montar um volume persistente NAS estático usando NFS.
Monte sistemas de arquivos como PVs dinâmicos. Nesse cenário, os PVs são criados automaticamente por meio de StorageClass. Para mais informações, consulte Montar um volume NAS provisionado dinamicamente usando NFS.
Para mais informações sobre como gerenciar o plug-in CSI, consulte os tópicos a seguir:
Para consultar as perguntas frequentes relacionadas, veja Perguntas frequentes sobre volumes NAS.