全部产品
Search
文档中心

File Storage NAS:Mount sistem file NAS pada ACS

更新时间:Jul 02, 2025

Topik ini menjelaskan cara memasang File Storage NAS (NAS) pada Container Compute Service (ACS) dan memverifikasi kemampuan penyimpanan bersama serta persistensi data dari NAS.

Skenario

NAS adalah layanan sistem file terdistribusi yang menawarkan akses bersama, skalabilitas tinggi, keandalan tinggi, dan performa tinggi. NAS cocok untuk skenario yang memerlukan berbagi data dan IOPS tinggi. Anda dapat memilih jenis sistem file dan kelas penyimpanan sesuai dengan persyaratan biaya dan performa. Untuk informasi lebih lanjut, lihat Sistem file NAS tujuan umum, Sistem file NAS Ekstrem, dan Pilih sistem file.

Catatan

Sistem file NAS tujuan umum dan Sistem file NAS Ekstrem memiliki batasan berbeda terkait konektivitas pemasangan, jumlah sistem file, dan protokol berbagi file. Untuk informasi lebih lanjut, lihat Batasan.

Berdasarkan apakah Anda sudah memiliki sistem file NAS, Anda dapat memilih salah satu metode berikut untuk memasang dan menggunakan volume NAS:

Prasyarat

Komponen managed-csiprovisioner telah diinstal di kluster ACS.

Catatan

Masuk ke halaman manajemen kluster ACS di konsol ACS. Di bilah navigasi kiri halaman manajemen kluster, pilih Operations > Add-ons. Pada tab Storage, Anda dapat memeriksa apakah managed-csiprovisioner telah diinstal.

Batasan

  • Anda tidak dapat memasang sistem file NAS yang menggunakan protokol SMB.

  • Saat memasang sistem file NAS ke beberapa pod, pod tersebut harus berada dalam virtual private cloud (VPC) yang sama. Anda tidak dapat memasang sistem file NAS ke pod di VPC yang berbeda.

    Catatan

    Dalam VPC yang sama, sistem file NAS dapat dipasang lintas zona.

  • Anda hanya dapat menggunakan protokol NFSv3 untuk memasang sistem file NAS.

Pertimbangan

  • NAS adalah layanan penyimpanan bersama. Anda dapat memasang volume NAS ke beberapa pod. Dalam hal ini, aplikasi harus mampu menyinkronkan data di seluruh pod jika data dalam sistem file NAS dimodifikasi oleh beberapa pod.

  • Saat memasang sistem file NAS, jangan konfigurasikan securityContext.fsgroup dalam file YAML aplikasi. Jika tidak, pemasangan mungkin gagal.

    Catatan

    Direktori / dari sistem file NAS tidak mendukung modifikasi izin, pemilik, atau grup.

  • Setelah memasang sistem file NAS, jangan hapus target pemasangan. Jika tidak, masalah hang sistem operasi mungkin terjadi.

Gunakan sistem file NAS yang ada sebagai volume penyimpanan

Langkah 1: Dapatkan informasi sistem file NAS

  1. Dapatkan ID VPC dan vSwitch yang digunakan oleh pod ACS.

    Catatan

    Langkah-langkah berikut menggambarkan cara mendapatkan informasi di konsol. Anda juga dapat menjalankan perintah kubectl get cm -n kube-system acs-profile -o yaml untuk melihat file YAML dari acs-profile dan mendapatkan ID VPC dan ID vSwitch yang digunakan oleh pod dari bidang vpcId dan vSwitchIds.

    1. Masuk ke konsol ACS.

    2. Di halaman Clusters, klik nama kluster untuk masuk ke halaman manajemen kluster.

    3. Di bilah navigasi kiri, pilih Configuration Management > > ConfigMaps.

    4. Di halaman ConfigMaps, ubah namespace di bagian atas menjadi kube-system, temukan acs-profile, dan klik Edit YAML.

    5. Dapatkan ID VPC dan ID vSwitch yang digunakan oleh pod dari bidang vpcId dan vSwitchIds.

  2. Verifikasi bahwa sistem file NAS yang ada memenuhi persyaratan dan dapatkan alamat target pemasangan.

    1. Masuk ke konsol NAS, dan klik File System List di bilah navigasi kiri.

    2. Temukan sistem file NAS target dan verifikasi bahwa wilayah, zona, dan tipe protokol memenuhi persyaratan.

      • Sistem file NAS tidak dapat dipasang lintas VPC, yang berarti tidak dapat digunakan lintas wilayah. Pastikan wilayah sistem file NAS yang ada sama dengan wilayah kluster ACS.

      • Dalam VPC yang sama, sistem file NAS dapat dipasang lintas zona. Namun, disarankan untuk menggunakan zona yang sama dengan pod di kluster ACS untuk performa yang lebih baik.

      • Verifikasi bahwa tipe protokol sistem file NAS adalah NFS. Anda tidak dapat memasang sistem file NAS yang menggunakan protokol SMB.

      nas

    3. Verifikasi bahwa target pemasangan memenuhi persyaratan dan dapatkan alamat target pemasangan.

      1. Klik ID sistem file.

      2. Di bilah navigasi kiri halaman detail sistem file, klik Mount Target.

      3. Di bagian Mount Target, verifikasi bahwa target pemasangan yang ada memenuhi persyaratan, lalu dapatkan alamat target pemasangan.

        Catatan
        • Sistem secara otomatis membuat target pemasangan untuk sistem file NAS tujuan umum. Namun, Anda perlu membuat target pemasangan secara manual untuk sistem file NAS Ekstrem.

        • Jika target pemasangan yang ada tidak memenuhi persyaratan, Anda dapat membuat yang baru. Untuk informasi lebih lanjut, lihat Kelola target pemasangan.

        • VPC dari target pemasangan harus sama dengan VPC yang digunakan oleh pod di kluster ACS. Jika tidak, pemasangan akan gagal.

        • Disarankan agar vSwitch dari target pemasangan sama dengan vSwitch yang digunakan oleh pod di kluster ACS untuk performa yang lebih baik.

        • Status target pemasangan adalah Active.

        NAS挂载点.png

Langkah 2: Buat PVC

kubectll

  1. Buat file bernama nas-pvc.yaml dan salin konten berikut ke file tersebut:

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: nas-pvc
      annotations:
        csi.alibabacloud.com/mountpoint: *******-mw***.cn-shanghai.nas.aliyuncs.com
        csi.alibabacloud.com/mount-options: nolock,tcp,noresvport
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 20Gi
      storageClassName: alibaba-cloud-nas

    Deskripsi bidang:

    Penting

    Saat membuat PVC berdasarkan template YAML sebelumnya, sistem pertama-tama membuat PV statis berdasarkan konfigurasi NAS di bidang annotations, lalu membuat PVC yang terkait dengan PV tersebut.

    Parameter

    Deskripsi

    csi.alibabacloud.com/mountpoint

    Direktori sistem file NAS yang ingin Anda pasang. Parameter ini digunakan untuk menghubungkan dengan sistem file NAS yang sebelumnya dibuat.

    • Jika Anda memasukkan alamat target pemasangan, seperti ****-****.<region>.nas.aliyuncs.com, itu menunjukkan bahwa direktori root (/) dari sistem file NAS dipasang.

    • Jika Anda memasukkan alamat target pemasangan dan subdirektori, seperti ****-****.<region>.nas.aliyuncs.com:/dir, itu menunjukkan bahwa direktori /dir dari sistem file NAS dipasang. Jika direktori /dir tidak ada, sistem akan membuatnya secara otomatis.

    csi.alibabacloud.com/mount-options

    Parameter yang diperlukan untuk memasang sistem file NAS. Kami sarankan Anda menggunakan nolock,tcp,noresvport.

    accessModes

    Mode akses.

    storage

    Kapasitas penyimpanan yang dialokasikan ke pod. Ini merujuk pada kapasitas volume NAS yang ingin Anda buat.

  2. Buat PVC.

    kubectl create -f nas-pvc.yaml
  3. Periksa PV.

    kubectl get pv

    Keluaran berikut menunjukkan bahwa PV dibuat secara otomatis berdasarkan informasi tentang sistem file NAS yang ditentukan dalam konfigurasi PVC yang Anda buat. Informasi tersebut mencakup target pemasangan sistem file.

    NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM             STORAGECLASS        REASON   AGE
    nas-ea7a0b6a-bec2-4e56-b767-47222d3a****   20Gi       RWX            Retain           Bound    default/nas-pvc   alibaba-cloud-nas            1m58s
  4. Lihat PVC.

    kubectl get pvc

    Keluaran berikut menunjukkan bahwa PV secara otomatis terikat ke PVC.

    NAME      STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS        VOLUMEATTRIBUTESCLASS  AGE
    nas-pvc   Bound    nas-ea7a0b6a-bec2-4e56-b767-47222d3a****   20Gi       RWX            alibaba-cloud-nas   <unset>                2m14s

Konsol

  1. Masuk ke konsol ACS.

  2. Di halaman Clusters, klik nama kluster untuk masuk ke halaman manajemen kluster.

  3. Di bilah navigasi kiri halaman manajemen kluster, pilih Volumes > Persistent Volume Claims.

  4. Di halaman Persistent Volume Claims, klik Create.

  5. Di kotak dialog yang muncul, konfigurasikan parameter dan klik Create.

    Parameter

    Deskripsi

    Contoh

    PVC Type

    Pilih NAS.

    NAS

    Name

    Tentukan nama kustom untuk PVC. Nama tersebut harus mengikuti format yang ditampilkan di UI.

    nas-pvc

    Allocation Mode

    Pilih Use Mount Target Domain Name.

    Gunakan Nama Domain Target Pemasangan

    Storage Driver

    CSI dipilih secara default.

    CSI

    Total

    Kapasitas penyimpanan yang dialokasikan ke pod. Ini juga merupakan kapasitas volume NAS.

    20Gi

    Access Mode

    Anda dapat memilih ReadWriteMany atau ReadWriteOnce.

    ReadWriteMany

    Mount Target Domain Name

    Direktori sistem file NAS yang ingin Anda pasang.

    • Jika Anda memasukkan alamat target pemasangan, seperti ****-****.<region>.nas.aliyuncs.com, itu menunjukkan bahwa direktori root (/) dari sistem file NAS dipasang.

    • Jika Anda memasukkan alamat target pemasangan dan subdirektori, seperti ****-****.<region>.nas.aliyuncs.com:/dir, itu menunjukkan bahwa direktori /dir dari sistem file NAS dipasang. Jika direktori /dir tidak ada, sistem akan membuatnya secara otomatis.

    350514****-mw***.cn-shanghai.nas.aliyuncs.com

    Setelah pembuatan selesai, Anda dapat melihat PVC yang baru dibuat di halaman Persistent Volume Claims. PVC tersebut terikat ke PV (volume penyimpanan NAS) yang dibuat secara otomatis. Anda dapat melihat detail PV yang sesuai di halaman Persistent Volumes.

    nas-pvc.png

    nas-pv.png

Langkah 3: Buat aplikasi dan pasang volume NAS

kubectll

  1. Buat file bernama nas-test.yaml dan salin konten berikut ke file tersebut.

    Template YAML berikut membuat Deployment yang menyediakan dua pod. Keduanya meminta sumber daya penyimpanan melalui PVC bernama nas-pvc dan memasang volume NAS ke direktori /data.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nas-test
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
            ports:
            - containerPort: 80
            volumeMounts:
              - name: pvc-nas
                mountPath: /data
          volumes:
            - name: pvc-nas
              persistentVolumeClaim:
                claimName: nas-pvc
  2. Buat Deployment dan pasang sistem file NAS ke Deployment.

    kubectl create -f nas-test.yaml
  3. Periksa status pod yang dibuat oleh Deployment.

    kubectl get pod | grep nas-test

    Keluaran berikut menunjukkan bahwa dua pod telah dibuat.

    nas-test-****-***a   1/1     Running   0          40s
    nas-test-****-***b   1/1     Running   0          40s
  4. Lihat jalur pemasangan.

    Jalankan perintah berikut untuk melihat file di jalur pemasangan. Secara default, tidak ada data yang dikembalikan.

    kubectl exec nas-test-****-***a -- ls /data

Konsol

  1. Di bilah navigasi kiri halaman manajemen kluster, pilih Workloads > Deployments.

  2. Di halaman Deployments, klik Create From Image.

  3. Konfigurasikan parameter untuk Deployment dan klik Create.

    Tabel berikut menjelaskan beberapa parameter. Gunakan nilai default untuk parameter lainnya. Untuk informasi lebih lanjut, lihat Buat Deployment.

    Halaman Konfigurasi

    Parameter

    Deskripsi

    Contoh

    Basic Information

    Name

    Masukkan nama kustom untuk Deployment. Nama tersebut harus mengikuti format yang ditampilkan di UI.

    nas-test

    Replicas

    Jumlah replika pod yang disediakan oleh Deployment.

    2

    Container Configuration

    Image Name

    Alamat gambar yang digunakan untuk menerapkan aplikasi.

    registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest

    Required Resources

    Tentukan jumlah vCore dan jumlah memori yang diperlukan oleh aplikasi.

    0,25 vCore dan 0,5 GiB memori

    Volumes

    Klik Add PVC dan konfigurasikan parameter.

    • Mount Source: Pilih PVC yang telah Anda buat.

    • Container Path: Masukkan path tempat Anda ingin memasang sistem file NAS di kontainer.

    • Sumber Pemasangan: nas-pvc

    • Path Kontainer: /data

  4. Periksa apakah aplikasi telah diterapkan.

    1. Di halaman Deployments, klik nama aplikasi.

    2. Di tab Pods, verifikasi bahwa pod berjalan normal (statusnya adalah Running).

Buat sistem file NAS baru sebagai volume penyimpanan

Langkah 1: Buat StorageClass

  1. Buat file bernama nas-sc.yaml dan salin template berikut ke dalam file tersebut. Ubah parameter dalam template sesuai kebutuhan.

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alicloud-nas-fs
    mountOptions:
    - nolock,tcp,noresvport
    - vers=3
    parameters:
      volumeAs: filesystem
      fileSystemType: standard
      storageType: Performance
      regionId: cn-shanghai
      zoneId: cn-shanghai-e
      vpcId: "vpc-2ze2fxn6popm8c2mzm****"
      vSwitchId: "vsw-2zwdg25a2b4y5juy****"
      accessGroupName: DEFAULT_VPC_GROUP_NAME
      deleteVolume: "false"
    provisioner: nasplugin.csi.alibabacloud.com
    reclaimPolicy: Retain

    Tabel berikut menjelaskan parameter dalam template.

    Penting

    Sistem file NAS dengan tipe dan spesifikasi penyimpanan yang berbeda mendukung wilayah dan zona yang berbeda. Tentukan wilayah, zona, virtual private cloud (VPC), dan vSwitch dari sistem file NAS dan target pemasangan yang ingin Anda buat berdasarkan kebutuhan penyimpanan bisnis Anda, wilayah kluster ACS, serta VPC dan vSwitch yang digunakan oleh pod di kluster ACS. Untuk informasi lebih lanjut, lihat topik berikut:

    • Untuk informasi tentang spesifikasi penyimpanan, performa, penagihan, serta wilayah dan zona yang didukung oleh berbagai jenis sistem file NAS, lihat NAS Tujuan Umum dan NAS Ekstrem.

    • Sistem file NAS tujuan umum dan Sistem file NAS Ekstrem memiliki batasan berbeda pada konektivitas pemasangan, jumlah sistem file, dan protokol berbagi file. Untuk informasi lebih lanjut, lihat Batasan.

    • Anda dapat menjalankan perintah kubectl get cm -n kube-system acs-profile -o yaml untuk melihat file YAML dari acs-profile dan mendapatkan ID VPC dan ID vSwitch yang digunakan oleh pod dari bidang vpcId dan vSwitchIds.

    Parameter

    Deskripsi

    volumeAs

    Hanya filesystem yang didukung. Nilai ini menunjukkan bahwa sistem file NAS dibuat secara otomatis. Setiap volume NAS sesuai dengan satu sistem file NAS.

    fileSystemType

    Tipe sistem file NAS.

    • standard (default): Sistem file NAS tujuan umum. Untuk informasi lebih lanjut, lihat NAS Tujuan Umum.

    • extreme: Sistem file NAS Ekstrem. Untuk informasi lebih lanjut, lihat NAS Ekstrem.

    storageType

    Tipe penyimpanan sistem file NAS.

    • Untuk sistem file NAS tujuan umum, nilai berikut didukung:

      • Performance (default): Performa

      • Capacity: Kapasitas

    • Untuk sistem file NAS Ekstrem, nilai berikut didukung:

      • standard (default): medium

      • advanced: advanced

    regionId

    ID wilayah tempat sistem file NAS berada. ID wilayah tersebut harus sama dengan ID wilayah kluster ACS.

    zoneId

    ID zona tempat sistem file NAS berada. Pilih zona berdasarkan vSwitch yang digunakan oleh pod di kluster ACS.

    Catatan

    Dalam VPC yang sama, sistem file NAS dapat dipasang lintas zona. Kami sarankan Anda memilih zona yang sama untuk performa yang lebih baik.

    vpcId, vSwitchId

    ID VPC dan ID vSwitch tempat target pemasangan sistem file NAS berada. Atur nilainya menjadi ID VPC dan vSwitch yang digunakan oleh pod di kluster ACS.

    accessGroupName

    Grup izin tempat target pemasangan sistem file NAS berada. Nilai defaultnya adalah DEFAULT_VPC_GROUP_NAME.

    provisioner

    Tipe driver. Atur nilainya ke nasplugin.csi.alibabacloud.com, yang menunjukkan bahwa plugin CSI Alibaba Cloud NAS digunakan.

    reclaimPolicy

    Kebijakan pengambilan kembali PV. Hanya Retain yang didukung. Nilai ini menunjukkan bahwa sistem file NAS dan target pemasangannya tetap ada saat PV dihapus.

  2. Buat StorageClass.

    kubectl create -f nas-sc.yaml
  3. Periksa StorageClass.

    kubectl get sc

    Keluaran yang diharapkan:

    NAME                             PROVISIONER                       RECLAIMPOLICY   VOLUMEBINDINGMODE      ALLOWVOLUMEEXPANSION   AGE
    alicloud-nas-fs                  nasplugin.csi.alibabacloud.com    Retain          Immediate              false                  13m
    ......

Langkah 2: Buat PVC

  1. Simpan konten berikut sebagai file YAML bernama nas-pvc-fs.yaml:

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: nas-pvc-fs
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: alicloud-nas-fs
      resources:
        requests:
          storage: 20Gi

    Deskripsi bidang:

    Parameter

    Deskripsi

    accessModes

    Mode akses.

    storage

    Kapasitas penyimpanan yang dialokasikan ke pod. Ini juga merupakan kapasitas volume NAS yang ingin Anda buat.

    Catatan

    Karena sistem file NAS Ekstrem memiliki batas kapasitas minimum 100 GiB, jika tipe sistem file NAS yang didefinisikan dalam StorageClass adalah NAS Ekstrem, nilai storage harus lebih besar atau sama dengan 100 GiB. Jika tidak, PV yang sesuai tidak dapat dibuat.

    storageClassName

    Nama StorageClass yang ingin Anda asosiasikan.

  2. Buat PVC.

    kubectl create -f nas-pvc-fs.yaml
  3. Lihat PVC.

    kubectl get pvc

    Keluaran perintah serupa dengan berikut ini dikembalikan. PVC terkait dengan PV yang dibuat secara otomatis. Anda dapat masuk ke konsol NAS untuk melihat sistem file NAS yang sesuai.

    NAME         STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS      VOLUMEATTRIBUTESCLASS  AGE
    nas-pvc-fs   Bound    nas-04a730ba-010d-4fb1-9043-476d8c38****   20Gi       RWX            alicloud-nas-fs   <unset>                14s

Langkah 3: Buat aplikasi dan pasang volume NAS

  1. Buat file bernama nas-test-fs.yaml dan tambahkan konten berikut ke file tersebut:

    Template YAML berikut membuat Deployment yang menyediakan dua pod. Keduanya meminta sumber daya penyimpanan melalui PVC bernama nas-pvc-fs dan memasang volume NAS ke direktori /data.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nas-test
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
            ports:
            - containerPort: 80
            volumeMounts:
              - name: pvc-nas
                mountPath: /data
          volumes:
            - name: pvc-nas
              persistentVolumeClaim:
                claimName: nas-pvc-fs
  2. Buat Deployment dan pasang sistem file NAS.

    kubectl create -f nas-test-fs.yaml
  3. Periksa status pod yang dibuat oleh Deployment.

    kubectl get pod | grep nas-test

    Keluaran berikut menunjukkan bahwa dua pod telah dibuat.

    nas-test-****-***a   1/1     Running   0          40s
    nas-test-****-***b   1/1     Running   0          40s
  4. Lihat jalur pemasangan.

    Jalankan perintah berikut untuk melihat file di jalur pemasangan. Secara default, tidak ada data yang dikembalikan.

    kubectl exec nas-test-****-***a -- ls /data

Verifikasi kemampuan penyimpanan bersama dan persistensi data NAS

Deployment yang dibuat dalam contoh sebelumnya menyediakan dua pod dan sistem file NAS dipasang ke pod tersebut. Anda dapat menggunakan metode berikut untuk memverifikasinya:

  • Buat file di satu pod dan lihat file tersebut dari pod lain untuk memverifikasi penyimpanan bersama.

  • Buat ulang Deployment. Akses volume NAS dari pod yang direplikasi untuk memeriksa apakah data asli masih ada di sistem file NAS. Jika data tersebut masih ada, persistensi data diaktifkan.

  1. Lihat informasi pod.

    kubectl get pod | grep nas-test

    Keluaran berikut dikembalikan:

    nas-test-****-***a   1/1     Running   0          40s
    nas-test-****-***b   1/1     Running   0          40s
  2. Periksa apakah berbagi data diaktifkan.

    1. Buat file di pod.

      Gunakan pod bernama nas-test-****-***a sebagai contoh:

      kubectl exec nas-test-****-***a -- touch /data/test.txt
    2. Lihat file dari pod lain.

      Gunakan pod bernama nas-test-****-***b sebagai contoh:

      kubectl exec nas-test-****-***b -- ls /data

      Keluaran berikut menunjukkan bahwa file baru test.txt dibagikan.

      test.txt
  3. Verifikasi penyimpanan persisten.

    1. Buat ulang Deployment.

      kubectl rollout restart deploy nas-test
    2. Tunggu hingga pod direplikasi.

      kubectl get pod | grep nas-test

      Keluaran berikut dikembalikan:

      nas-test-****-***c   1/1     Running   0          67s
      nas-test-****-***d   1/1     Running   0          49s
    3. Periksa apakah data yang tersimpan di sistem file ada dari pod yang baru dibuat.

      Gunakan pod bernama nas-test-c*** sebagai contoh:

      kubectl exec nas-test-****-***c -- ls /data

      Keluaran berikut menunjukkan bahwa file tersebut masih ada di volume NAS dan dapat diakses dari direktori pemasangan di pod yang direplikasi.

      test.txt