All Products
Search
Document Center

Container Service for Kubernetes:Gunakan volume statis dengan CPFS General-purpose Edition

Last Updated:Mar 26, 2026

Topik ini menjelaskan cara memasang volume Cloud Parallel File System (CPFS) General-purpose Edition yang diprovisioning secara statis ke workload dalam kluster ACK. CPFS dirancang untuk workload komputasi kinerja tinggi (HPC), seperti pelatihan AI, kendaraan otonom, komputasi genetika, dan rendering video.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • csi-plugin dan csi-provisioner versi v1.22.11-abbb810e-aliyun atau lebih baru. Untuk melakukan upgrade, lihat Upgrade CSI components.

Batasan

BatasanDetail
Ketersediaan wilayahCPFS General-purpose Edition hanya tersedia di wilayah tertentu. Lihat Available regions.
Protokol pemasanganHanya NFS yang didukung. Protokol POSIX tidak didukung.
Arsitektur nodeHanya x86. Node ContainerOS tidak didukung.
JaringanVolume hanya dapat dipasang ke kluster dalam VPC yang sama. Pemasangan lintas-VPC tidak didukung.
ProvisioningHanya provisioning statis. Provisioning dinamis tidak didukung.

Konfigurasikan komponen penyimpanan

Metode konfigurasi tergantung pada versi csi-plugin Anda.

csi-plugin 1.33 atau lebih baru

Instal komponen cnfs-nas-daemon dan aktifkan FeatureGate AlinasMountProxy=true pada csi-plugin. Hal ini memungkinkan komponen CSI mendelegasikan pemasangan ke cnfs-nas-daemon. Untuk detailnya, lihat Manage the cnfs-nas-daemon component.

csi-plugin versi sebelum 1.33

  1. Terapkan ConfigMap untuk mengaktifkan pemasangan NFS untuk CPFS General-purpose Edition.

    cat << EOF | kubectl apply -f -
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: csi-plugin
      namespace: kube-system
    data:
      cpfs-nas-enable: "true"
    EOF
  2. Restart csi-plugin untuk menginstal dependensi yang diperlukan. Hal ini tidak memengaruhi layanan yang sedang berjalan.

    kubectl -n kube-system rollout restart daemonset csi-plugin

    Output yang diharapkan:

    daemonset.apps/csi-plugin restarted

Langkah 1: Buat sistem file CPFS dan layanan protokol

Sebelum membuat persistent volume (PV), Anda memerlukan sistem file CPFS, layanan protokol, serta alamat pemasangan dari layanan protokol tersebut.

  1. Buat sistem file CPFS General-purpose Edition.

    • Buat sistem file di wilayah yang sama dengan kluster Anda.

    • Jika Anda sudah memiliki sistem file, buka NAS console, masuk ke File System List, klik sistem file tersebut, lalu periksa versinya di halaman Basic Information. Versinya harus 2.3.0 atau lebih baru. Jika lebih lama, buat sistem file baru.

  2. Buat layanan protokol.

    • Gunakan VPC dan vSwitch yang sama dengan kluster Anda.

    • Jika Anda sudah memiliki layanan protokol, pastikan layanan tersebut berada dalam VPC yang sama dengan kluster. Jika tidak, buat yang baru.

  3. Ambil alamat pemasangan layanan protokol. Di halaman Protocol Service, klik Export Directory. Di kolom Mount Address, salin alamat tersebut. Alamat ini menggabungkan nama domain titik pemasangan dan path direktori yang diekspor, contohnya: cpfs-****.<region-id>.cpfs.aliyuncs.com:/share.

Langkah 2: Buat PV dan PVC

Persistent volume (PV) merepresentasikan penyimpanan CPFS yang telah Anda provisioning. Persistent volume claim (PVC) mengikat PV tersebut agar Pod dapat menggunakannya.

  1. Buat PV dan PVC.

    1. Simpan konten berikut sebagai cpfs-pv-pvc.yaml.

      apiVersion: v1
      kind: PersistentVolume
      metadata:
        name: cpfs-pv
        labels:
          alicloud-pvname: cpfs-pv         # Label yang digunakan oleh selector PVC untuk mengikat PV ini
      spec:
        accessModes:
        - ReadWriteMany                    # Mengizinkan beberapa node membaca dan menulis secara bersamaan
        capacity:
          storage: 20Gi
        csi:
          driver: nasplugin.csi.alibabacloud.com
          volumeAttributes:
            mountProtocol: cpfs-nfs        # Memasang melalui protokol NFS
            path: "/share"                 # Path direktori yang diekspor; bisa berupa subdirektori, misalnya /share/dir
            volumeAs: subpath             # Membuat PV bertipe subdirektori
            server: "cpfs-******-******.cn-shanghai.cpfs.aliyuncs.com"  # Nama domain dari alamat pemasangan
          volumeHandle: cpfs-pv           # Harus sesuai dengan nama PV di atas
        mountOptions:
        - rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport
        - vers=3
      ---
      apiVersion: v1
      kind: PersistentVolumeClaim
      metadata:
        name: cpfs-pvc
      spec:
        accessModes:
        - ReadWriteMany
        resources:
          requests:
            storage: 20Gi               # Tidak boleh melebihi kapasitas PV
        selector:
          matchLabels:
            alicloud-pvname: cpfs-pv    # Mengikat ke PV dengan label ini

      Parameter PV

      ParameterDeskripsiWajibDefault

      labels

      Label yang digunakan oleh selector PVC untuk mencocokkan dan mengikat PV ini.

      Ya

      accessModes

      Mode akses untuk PV.

      Ya

      capacity.storage

      Kapasitas penyimpanan volume.

      Ya

      csi.driver

      Tipe driver CSI. Atur ke nasplugin.csi.alibabacloud.com.

      Ya

      csi.volumeAttributes.mountProtocol

      Protokol pemasangan. Atur ke cpfs-nfs untuk memasang melalui NFS.

      Ya

      csi.volumeAttributes.path

      Direktori yang diekspor oleh layanan protokol CPFS, misalnya /share. Bisa juga berupa subdirektori, seperti /share/dir.

      Ya

      csi.volumeAttributes.volumeAs

      Tipe PV. Atur ke subpath untuk PV bertipe subdirektori.

      Ya

      csi.volumeAttributes.server

      Nama domain dari alamat pemasangan layanan protokol CPFS.

      Ya

      csi.volumeHandle

      Identifier unik untuk volume. Harus sesuai dengan nama PV.

      Ya

      Parameter PVC

      ParameterDeskripsiWajibDefault

      accessModes

      Mode akses yang diminta PVC dari PV.

      Ya

      selector.matchLabels

      Selector label yang digunakan untuk mengikat PV tertentu.

      Ya

      resources.requests.storage

      Kapasitas penyimpanan yang diminta oleh Pod. Tidak boleh melebihi kapasitas PV.

      Ya

    2. Terapkan manifes.

      kubectl apply -f cpfs-pv-pvc.yaml
  2. Verifikasi bahwa PVC telah terikat ke PV.

    kubectl get pvc cpfs-pvc

    Output harus menampilkan STATUS: Bound:

    NAME       STATUS   VOLUME    CAPACITY   ACCESS MODES   STORAGECLASS   VOLUMEATTRIBUTESCLASS   AGE
    cpfs-pvc   Bound    cpfs-pv   20Gi       RWO                           <unset>                 18m

Langkah 3: Deploy aplikasi dan verifikasi pemasangan

  1. Buat StatefulSet yang menggunakan volume CPFS.

    1. Simpan konten berikut sebagai cpfs-test.yaml.

      apiVersion: apps/v1
      kind: StatefulSet
      metadata:
        name: cpfs-sts
      spec:
        selector:
          matchLabels:
            app: nginx
        serviceName: "nginx"
        replicas: 1
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
              volumeMounts:
              - name: cpfs-pvc
                mountPath: /data
            volumes:
            - name: cpfs-pvc
              persistentVolumeClaim:
                claimName: cpfs-pvc
    2. Terapkan manifes.

      kubectl apply -f cpfs-test.yaml
  2. Verifikasi bahwa volume CPFS telah dipasang.

    kubectl exec cpfs-sts-0 -- mount | grep /data

    Pemasangan yang berhasil menampilkan entri NFS pada /data dengan vers=3:

    cpfs-******-******.cn-shanghai.cpfs.aliyuncs.com:/share on /data type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,noresvport,proto=tcp,port=30000,timeo=600,retrans=2,sec=sys,mountaddr=127.0.1.255,mountvers=3,mountport=30000,mountproto=tcp,local_lock=all,addr=127.0.1.255)