Tüm Ürünler
Search
Belge Merkezi

Container Service for Kubernetes:Mount NAS via EFC client with CNFS

Son Güncelleme:Oct 06, 2026

Elastic File Client (EFC)

Önemli

EFC, Alibaba Cloud Linux 3 veya 5.10.134-17.2 ya da üzeri çekirdek sürümüne sahip ContainerOS çalıştıran düğümler gerektirir. Bu gereksinimleri karşılamayan düğümler, bağlama işlemi için otomatik olarak NFS protokolüne geri döner. Devam etmeden önce düğüm uyumluluğunu doğrulayın.

EFC'nin çalışma prensibi

EFC, FUSE (Filesystem in Userspace) üzerine inşa edilmiş, kullanıcı alanında çalışan ve POSIX uyumlu bir istemcidir. Çekirdek modundaki NFS istemcilerinin yerine geçer ve aşağıdaki temel yetenekleri sağlar:

  • Çoklu bağlantı erişimi

  • Meta veri ve veri önbellekleme

  • Managed Service for Prometheus üzerinden entegre izleme

Çekirdek modundaki NFS istemcileriyle karşılaştırıldığında:


Yetkinlik


Açıklama


Güçlü veri tutarlılığı


Dosyalar ve dizinler dağıtılmış kilitleme mekanizması sayesinde tutarlı kalır. Yazılan dosyalar diğer tüm istemciler tarafından anında görünür hale gelir ve yeni oluşturulan dosyalar düğümler arasında anında senkronize edilir.


Tek düğümlü okuma/yazma önbellekleme


EFC, verileri hesaplama düğümü belleğinin bir bölümünde önbelleğe alır; bu sayede küçük dosya aktarım hızını artırır ve geleneksel NFS istemcilerine kıyasla %50'den fazla G/Ç performansı kazancı sağlar.


Küçük dosya ön getirme


Sık kullanılan dizinleri ve dosyaları otomatik olarak tespit eder ve önceden getirerek veri çekme yükünü azaltır.


Sıcak yükseltme ve yük devretme


İstemci güncellemeleri uygulamaları yeniden başlatmadan uygulanır. İstemci arızalanırsa otomatik yük devretme hizmet kesintisini önler.

Ön koşullar

Başlamadan önce şunlara sahip olduğunuzdan emin olun:

  • Kümenizde cnfs-nas-daemon eklentisinin yüklü olması ve csi-plugin'in FeatureGate özelliğinde AlinasMountProxy=true bayrağının ayarlanmış olması. Ayrıntılar için bkz. cnfs-nas-daemon yönetimi.

  • Alibaba Cloud Linux 3 veya 5.10.134-17.2 ya da üzeri çekirdek sürümüne sahip ContainerOS çalıştıran düğümler.

EFC istemcisini kullanmak için CNFS yapılandırma

Adım 1: CNFS kaynağı oluşturma

Bu bölümde, mevcut bir NAS dosya sisteminin EFC istemcisini kullanacak şekilde nasıl yapılandırılacağı gösterilmektedir. EFC ile CNFS üzerinden yeni bir NAS dosya sistemi oluşturmak için ContainerNetworkFileSystem kaynağını oluştururken parameters bölümüne useClient: EFCClient ekleyin. Ayrıntılar için bkz. NAS dosya sistemlerini yönetmek için CNFS kullanma (önerilen).

  1. Aşağıdaki YAML kodunu cnfs-efc.yaml olarak kaydedin.


    Parametre


    Açıklama


    description


    Dosya sistemi için bir açıklama.


    type


    Birim türü. NAS dosya sistemleri için nas olarak ayarlayın.


    reclaimPolicy


    Yalnızca Retain desteklenir. CNFS kaynağının silinmesi altta yatan NAS dosya sistemini silmez.


    server


    Bağlama hedefi adresi. Bağlama hedefi, pod'larınızla aynı VPC içinde olmalı ve durumu Ready olmalıdır. En iyi performans için hem bağlama hedefi hem de pod'lar için aynı vSwitch'i kullanın. Mevcut bağlama hedeflerinden hiçbiri bu gereksinimleri karşılamıyorsa yeni bir tane oluşturun.


    useClient


    EFC istemcisini etkinleştirmek için EFCClient olarak ayarlayın.

    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. CNFS kaynağını oluşturun:

    kubectl create -f cnfs-efc.yaml

Adım 2: PersistentVolume ve PersistentVolumeClaim oluşturma

Aşağıdaki YAML kodunu cnfs-pv-pvc.yaml olarak kaydedin.

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

Yapılandırmayı uygulayın:

kubectl create -f cnfs-pv-pvc.yaml

NAS'ı bir iş yüküne bağlama

Adım 1: Deployment oluşturma

Aşağıdaki YAML kodunu cnfs-deployment.yaml olarak kaydedin.

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

Yapılandırmayı uygulayın:

kubectl create -f cnfs-deployment.yaml

Adım 2: EFC bağlamasını doğrulama

  1. Pod'un çalıştığını kontrol edin:

    kubectl get pod -l app=efc-test

    Beklenen çıktı:

    NAME                       READY   STATUS    RESTARTS   AGE
    efc-test-f545b86d6-spr7p   1/1     Running   0          29m
  2. Pod Running durumuna ulaştığında, pod içindeki EFC bağlama noktasını onaylayın:

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

    Beklenen çıktı:

    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)

    Bağlama türünün fuse.aliyun-alinas-efc olması EFC'nin etkin olduğunu doğrular. Bunun yerine çıktı nfs gösteriyorsa, düğüm işletim sistemi veya çekirdek gereksinimlerini karşılamıyordur ve NFS protokolüne geri dönmüştür. Düğümün işletim sistemi sürümünü ve çekirdek sürümünü ön koşullara göre kontrol edin.

Sonraki adımlar