Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Montar NAS via cliente EFC com CNFS

Última atualização: Jun 27, 2026

O Elastic File Client (EFC) acelera o acesso ao File Storage NAS usando cache distribuído. Esse cliente oferece suporte a alta concorrência e acesso paralelo a dados em grande escala, sendo ideal para workloads conteinerizadas com uso intensivo de dados, como análise de big data, treinamento de IA e inferência. Em comparação ao protocolo tradicional Network File System (NFS), o EFC proporciona desempenho de I/O significativamente superior e menor latência. Este tópico explica como montar um sistema de arquivos NAS usando o EFC por meio do Container Network File System (CNFS).

acelera o acesso ao File Storage NAS usando cache distribuído. Ele

Importante

O EFC exige nós com Alibaba Cloud Linux 3 ou ContainerOS e versão de kernel 5.10.134-17.2 ou posterior. Nós que não atendem a esses requisitos revertem automaticamente para o protocolo NFS durante a montagem. Verifique a compatibilidade dos nós antes de prosseguir.

Como o EFC funciona

O EFC é um cliente em espaço de usuário, compatível com POSIX e desenvolvido sobre FUSE (Filesystem in Userspace). Ele substitui os clientes NFS em modo kernel e fornece as seguintes capacidades principais:

  • Acesso multi-conexão

  • Cache de metadados e dados

  • Monitoramento integrado via Managed Service for Prometheus

Em comparação aos clientes NFS em modo kernel:

Capacidade

Descrição

Consistência forte de dados

Um mecanismo de bloqueio distribuído mantém a consistência de arquivos e diretórios. Arquivos gravados tornam-se imediatamente visíveis para todos os outros clientes, e novos arquivos sincronizam instantaneamente entre os nós.

Cache de leitura/gravação em nó único

O EFC armazena dados em uma parte da memória do nó de computação. Isso melhora o throughput de arquivos pequenos e oferece ganhos de desempenho de I/O superiores a 50% em relação aos clientes NFS tradicionais.

Pré-busca de arquivos pequenos

Identifica e pré-carrega automaticamente diretórios e arquivos frequentes para reduzir a sobrecarga de busca de dados.

Atualização dinâmica e failover

Atualizações do cliente são aplicadas sem reiniciar as aplicações. Caso ocorra falha no cliente, o failover automático evita interrupções no serviço.

Pré-requisitos

Antes de começar, certifique-se de ter:

  • O add-on cnfs-nas-daemon instalado no cluster, com a flag AlinasMountProxy=true definida no FeatureGate do csi-plugin. Consulte Gerenciar cnfs-nas-daemon para mais detalhes.

  • Nós com Alibaba Cloud Linux 3 ou ContainerOS e versão de kernel 5.10.134-17.2 ou posterior.

Configure o CNFS para usar o cliente EFC

Passo 1: Crie um recurso CNFS

Esta seção mostra como configurar um sistema de arquivos NAS existente para usar o cliente EFC. Para criar um novo sistema de arquivos NAS por meio do CNFS com EFC, adicione useClient: EFCClient na seção parameters ao criar o recurso ContainerNetworkFileSystem. Consulte Usar CNFS para gerenciar sistemas de arquivos NAS (recomendado) para mais detalhes.

  1. Salve o YAML abaixo como cnfs-efc.yaml.

    Parâmetro

    Descrição

    description

    Descrição do sistema de arquivos.

    type

    Tipo de volume. Defina como nas para sistemas de arquivos NAS.

    reclaimPolicy

    Apenas Retain é suportado. Excluir o recurso CNFS não remove o sistema de arquivos NAS subjacente.

    server

    Endereço do destino de montagem. O destino deve estar na mesma VPC dos seus pods e seu status deve ser Ready. Para melhor desempenho, utilize o mesmo vSwitch tanto para o destino de montagem quanto para os pods. Se nenhum destino existente atender a esses requisitos, crie um novo.

    useClient

    Defina como EFCClient para habilitar o cliente EFC.

    apiVersion: storage.alibabacloud.com/v1beta1
    kind: ContainerNetworkFileSystem
    metadata:
      name: cnfs-efc-test
    spec:
      description: "cnfs"
      type: nas
      reclaimPolicy: Retain
      parameters:
        server: 17f7e4****-h****.cn-beijing.nas.aliyuncs.com
        useClient: EFCClient
  2. Crie o recurso CNFS:

    kubectl create -f cnfs-efc.yaml

Passo 2: Criar PersistentVolume e PersistentVolumeClaim

Salve o YAML abaixo como cnfs-pv-pvc.yaml.

apiVersion: v1
kind: PersistentVolume
metadata:
  name: efc-pv
spec:
  accessModes:
  - ReadWriteMany
  capacity:
    storage: 50Gi
  claimRef:
    name: efc-pvc
    namespace: default
  csi:
    driver: nasplugin.csi.alibabacloud.com
    volumeAttributes:
      containerNetworkFileSystem: cnfs-efc-test
      path: /
    volumeHandle: efc-pv
  volumeMode: Filesystem
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: efc-pvc
  namespace: default
spec:
  accessModes:
  - ReadWriteMany
  resources:
    requests:
      storage: 50Gi
  storageClassName: ""
  volumeMode: Filesystem
  volumeName: efc-pv

Aplique a configuração:

kubectl create -f cnfs-pv-pvc.yaml

Montar o NAS em uma workload

Passo 1: Crie um Deployment

Salve o YAML abaixo como cnfs-deployment.yaml.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: efc-test
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: efc-test
  template:
    metadata:
      labels:
        app: efc-test
    spec:
      containers:
      - command:
        - sh
        - -c
        - |
          sleep infinity
        image: alibaba-cloud-linux-3-registry.cn-hangzhou.cr.aliyuncs.com/alinux3/alinux3:latest
        name: test
        volumeMounts:
        - mountPath: /mnt
          name: pvc
      volumes:
      - name: pvc
        persistentVolumeClaim:
          claimName: efc-pvc

Aplique a configuração:

kubectl create -f cnfs-deployment.yaml

Passo 2: Verifique a montagem EFC

  1. Verifique se o pod está em execução:

    kubectl get pod -l app=efc-test

    Saída esperada:

    NAME                       READY   STATUS    RESTARTS   AGE
    efc-test-f545b86d6-spr7p   1/1     Running   0          29m
  2. Quando o pod atingir o estado Running, confirme o ponto de montagem EFC dentro do pod:

    kubectl exec <pod-name> -- mount -t fuse.aliyun-alinas-efc

    Saída esperada:

    bindroot-3889a-8TzEY5mc:3d2804****-w****.cn-shanghai.nas.aliyuncs.com:/ on /mnt type fuse.aliyun-alinas-efc (rw,relatime,user_id=0,group_id=0,default_permissions,allow_other,max_read=1048576)

    O tipo de montagem fuse.aliyun-alinas-efc confirma que o EFC está ativo. Se a saída mostrar nfs, o nó não atende aos requisitos de SO ou kernel e reverteu para o protocolo NFS. Verifique a versão do SO e do kernel do nó em relação aos pré-requisitos.

Próximos passos