All Products
Search
Document Center

Container Service for Kubernetes:Gunakan volume dinamis NAS

Last Updated:Jun 21, 2026

Dengan penyediaan dinamis untuk Penyimpanan File NAS, Anda dapat secara otomatis menyediakan penyimpanan untuk beban kerja sesuai permintaan, sehingga menghilangkan kebutuhan untuk membuat PV terlebih dahulu. Fitur ini menyediakan persistensi dan berbagi data, memungkinkan beberapa Pod membaca dan menulis secara bersamaan, serta menyederhanakan manajemen penyimpanan untuk kasus penggunaan seperti aplikasi web dan retensi log.

Cara kerja

Dengan volume dinamis, ketika sebuah aplikasi membuat PVC, sistem secara otomatis membuat volume penyimpanan baru dan PV yang sesuai sesuai permintaan. Penyediaan ini ditentukan oleh StorageClass yang ditentukan dalam PVC. Mode ini menawarkan fleksibilitas lebih besar dan mendukung ekspansi volume penyimpanan secara otomatis.

Mode pemasangan

Anda dapat menentukan mode pemasangan dengan parameter volumeAs dalam StorageClass. Parameter ini mendefinisikan hubungan antara PV dan sistem file NAS.

Mount Mode

Deskripsi

Skenario

subpath

Dalam mode subpath, setiap PV dipetakan ke subdirektori unik dalam sistem file NAS. Mode ini memfasilitasi isolasi data.

  • Beberapa Pod memasang subdirektori yang sama dari sistem file NAS.

  • Beberapa Pod memasang subdirektori berbeda dari sistem file NAS yang sama untuk isolasi data.

sharepath

Dalam mode sharepath, semua PV memetakan ke direktori NAS yang sama yang didefinisikan dalam StorageClass. Oleh karena itu, semua PVC yang menggunakan StorageClass ini mengakses direktori bersama yang sama.

Beberapa Pod di namespace berbeda perlu memasang subdirektori NAS yang sama.

filesystem (Tidak direkomendasikan)

Dalam mode sistem file, instance sistem file NAS baru dan khusus dibuat secara dinamis untuk setiap PV.

Mode ini cocok untuk aplikasi yang memerlukan isolasi ketat dalam hal kinerja dan keamanan. Mode ini memungkinkan pembuatan dan penghapusan dinamis sistem file NAS dan titik pemasangan independen untuk setiap aplikasi, tetapi menimbulkan biaya lebih tinggi.

Alur kerja

Alur kerja untuk memasang volume dinamis NAS adalah sebagai berikut.

  1. Buat StorageClass: Definisikan templat penyimpanan, deklarasikan titik pemasangan NAS, dan pilih mode pemasangan (seperti subpath atau sharepath) berdasarkan kebutuhan bisnis Anda.

  2. Buat PVC: Aplikasi menggunakan PVC untuk mengklaim sumber daya penyimpanan. Sistem secara otomatis membuat PV dan mengikatnya ke PVC berdasarkan StorageClass yang ditentukan.

  3. Pasang volume di aplikasi Anda: Pasang PVC yang terikat ke Pod aplikasi. Volume tersebut kemudian tersedia sebagai direktori persisten di dalam kontainer.

Prasyarat

  • Komponen csi-plugin dan csi-provisioner telah diinstal.

    Komponen CSI diinstal secara default. Verifikasi bahwa komponen tersebut tetap terinstal. Anda dapat memeriksa status instalasi di halaman Add-ons. Kami merekomendasikan meningkatkan komponen CSI ke versi terbaru.
  • Untuk menggunakan subpath dan sharepath, Anda memerlukan sistem file Apsara File Storage NAS yang memenuhi persyaratan berikut. Jika tidak, buat sistem file.

    NAS memiliki beberapa batasan terkait konektivitas pemasangan, jumlah sistem file, dan jenis protokol.
    • Protocol: Hanya NFS yang didukung.

    • VPC: Sistem file Apsara File Storage NAS harus berada dalam VPC yang sama dengan kluster Anda. Apsara File Storage NAS mendukung pemasangan lintas zona tetapi tidak mendukung pemasangan lintas VPC.

    • Mount Target: Tambahkan titik pemasangan yang berada dalam VPC yang sama dengan kluster Anda dan aktif. Untuk informasi selengkapnya, lihat Mengelola titik pemasangan. Catat alamat titik pemasangan tersebut.

    • (Opsional) Encryption Type: Untuk mengenkripsi data dalam volume, konfigurasikan jenis enkripsi saat Anda membuat sistem file Apsara File Storage NAS.

Catatan penggunaan

  • Jangan menghapus titik pemasangan: Untuk mencegah error I/O node, jangan menghapus titik pemasangan di konsol NAS selama volume yang sesuai sedang digunakan.

  • Penulisan konkuren: NAS menyediakan penyimpanan bersama. Ketika beberapa Pod memasang volume yang sama, aplikasi Anda harus menangani potensi masalah konsistensi data akibat penulisan konkuren.

    Untuk informasi selengkapnya tentang batasan penulisan konkuren ke NAS, lihat Beberapa proses menulis ke file log yang sama dan Latensi dalam membaca konten file yang diperbarui di instans ECS.
  • Kinerja pemasangan: Jika Anda mengonfigurasi parameter securityContext.fsgroup di aplikasi Anda, kubelet menjalankan chmod atau chown secara rekursif setelah volume dipasang, sehingga waktu startup Pod meningkat secara signifikan.

    Untuk mengoptimalkan kinerja pemasangan, lihat FAQ volume NAS.

Metode 1: Pasang volume menggunakan subpath

Dalam metode ini, CSI provisioner secara otomatis membuat subpath khusus dalam sistem file NAS untuk setiap PersistentVolumeClaim (PVC). Subpath ini berfungsi sebagai PersistentVolume (PV).

1. Buat StorageClass

StorageClass bertindak sebagai templat untuk menyediakan volume dinamis dan mendefinisikan sumber serta perilaku sumber daya penyimpanan.

kubectl

  1. Buat file bernama alicloud-nas-subpath.yaml dengan konten berikut:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      # Nama StorageClass, yang harus unik dalam kluster.
      name: alicloud-nas-subpath  
    mountOptions:
    - nolock,tcp,noresvport
    - vers=3
    parameters:
      # Setel ke subpath.
      volumeAs: subpath
      # Format bidang server adalah <nas-server-address>:/<path>.
      server: "0cd8b4a576-g****.cn-hangzhou.nas.aliyuncs.com:/k8s"
      archiveOnDelete: "true"
    provisioner: nasplugin.csi.alibabacloud.com
    reclaimPolicy: Retain
    allowVolumeExpansion: true

    Parameter

    Deskripsi

    mountOptions

    Opsi pemasangan untuk NAS, termasuk versi protokol NFS. Secara default, volume dipasang menggunakan NFSv3. Anda dapat menentukan versi berbeda dengan opsi seperti vers=4.0. Untuk informasi tentang protokol NFS yang didukung oleh berbagai jenis NAS, lihat Protokol NFS.

    parameters.volumeAs

    Mode penyediaan volume. Setel ke subpath.

    parameters.server

    Titik pemasangan NAS dan subpath yang akan dipasang, dalam format <nas-server-address>:/<path>.

    • <nas-server-address>: Titik pemasangan sistem file NAS. Untuk informasi selengkapnya, lihat Mengelola titik pemasangan.

    • :/<path>: Subpath NAS yang akan dipasang. Jika parameter ini tidak disetel atau subpath yang ditentukan tidak ada, direktori root dipasang secara default.

      • NAS tujuan umum: Direktori root adalah /.

      • NAS Extreme: Direktori root adalah /share. Saat Anda memasang subpath, path harus dimulai dengan /share, seperti /share/data.

    parameters.archiveOnDelete

    Menentukan apakah data pada penyimpanan backend dihapus saat PVC dihapus dan reclaimPolicy-nya disetel ke Delete.

    Opsi ini berfungsi sebagai tindakan pencegahan untuk mencegah kehilangan data secara tidak sengaja pada penyimpanan NAS bersama.
    • true (default): Direktori dan file-nya tidak dihapus. Sebaliknya, direktori tersebut diarsipkan dan diganti namanya dalam format archived-{pvName}.{timestamp}.

    • false: Direktori yang sesuai dan datanya dihapus secara permanen.

      Operasi ini menghapus subpath NAS dan file-nya, bukan sistem file NAS itu sendiri.

      Untuk menghapus sistem file NAS, lihat Hapus sistem file.

    Dalam skenario di mana PV sering dibuat dan dihapus, menyetel parameter ini ke false dapat menyebabkan antrian tugas controller CSI menjadi terblokir, sehingga mencegah pembuatan PV baru. Untuk informasi selengkapnya, lihat Antrian tugas controller penuh dan PV baru tidak dapat dibuat saat Anda menggunakan volume NAS dinamis.

    provisioner

    Driver. Setel parameter ini ke nasplugin.csi.alibabacloud.com saat Anda menggunakan plug-in CSI NAS Alibaba Cloud.

    reclaimPolicy

    Kebijakan reclaim PV.

    • Delete (default): Saat PVC dihapus, data penyimpanan backend diproses berdasarkan pengaturan archiveOnDelete.

    • Retain: Saat PVC dihapus, PV dan data dalam sistem file NAS tidak dihapus dan harus dihapus secara manual. Kebijakan ini direkomendasikan untuk skenario yang memerlukan keamanan data tinggi untuk mencegah kehilangan data secara tidak sengaja.

    allowVolumeExpansion

    Hanya didukung oleh NAS tujuan umum.

    Mengizinkan ekspansi dinamis PV yang dibuat oleh StorageClass ini dengan memodifikasi kapasitas PVC.

    StorageClass ini menggunakan fitur kuota direktori NAS untuk mengelola kapasitas PV, sehingga memungkinkan kontrol ukuran yang tepat. Anda dapat memperluas volume secara online dengan mengedit bidang spec.resources.requests.storage dari PVC. Untuk informasi selengkapnya, lihat Setel kuota direktori untuk volume NAS dinamis.

    Kuota direktori NAS berlaku secara asinkron. Jika Anda melakukan penulisan data berkecepatan tinggi dan volume besar segera setelah PV dibuat atau diperluas, Anda mungkin melebihi kapasitas yang ditentukan karena kuota belum sepenuhnya diberlakukan. Untuk informasi selengkapnya, lihat Batasan penggunaan.
  2. Buat StorageClass.

    kubectl create -f alicloud-nas-subpath.yaml

Konsol

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Volumes > StorageClasses.

  3. Klik Create, tentukan nama unik untuk StorageClass dalam kluster, pilih NAS sebagai PV Type, lalu ikuti petunjuk di layar untuk membuat StorageClass.

    Parameter utama dijelaskan dalam tabel berikut.

    Parameter

    Deskripsi

    Select Mount Target

    Titik pemasangan sistem file NAS.

    Volume Mode

    Mode penyediaan volume. Pilih Subdirectory. Subpath dibuat secara otomatis di bawah path pemasangan yang ditentukan. Data disimpan di <Titik pemasangan NAS>:<path pemasangan>/<nama-pv>/.

    Mount Path

    Subdirektori NAS yang akan dipasang. Jika parameter ini tidak ditentukan, direktori root dipasang secara default.

    Jika direktori tersebut tidak ada dalam sistem file NAS, direktori tersebut dibuat secara otomatis lalu dipasang.
    • NAS tujuan umum: Direktori root adalah /.

    • NAS Extreme: Direktori root adalah /share. Saat Anda memasang subdirektori, path harus dimulai dengan /share, seperti /share/data.

    Kebijakan Pengambilan Kembali

    Kebijakan reclaim PV.

    • Delete (default): Saat PVC dihapus, data penyimpanan backend diproses berdasarkan pengaturan archiveOnDelete.

    • Retain: Saat PVC dihapus, PV dan data dalam sistem file NAS tidak dihapus dan harus dihapus secara manual. Kebijakan ini direkomendasikan untuk skenario yang memerlukan keamanan data tinggi untuk mencegah kehilangan data secara tidak sengaja.

    Opsi Pemasangan

    Opsi pemasangan untuk NAS, termasuk versi protokol NFS. Secara default, volume dipasang menggunakan NFSv3. Anda dapat menentukan versi berbeda dengan opsi seperti vers=4.0. Untuk informasi tentang protokol NFS yang didukung oleh berbagai jenis NAS, lihat Protokol NFS.

    Setelah StorageClass dibuat, Anda dapat melihatnya di daftar StorageClasses.

2. Buat PVC

PersistentVolumeClaim (PVC) adalah permintaan penyimpanan dari aplikasi yang memicu StorageClass terkait untuk secara dinamis menyediakan dan mengikat PersistentVolume (PV) yang sesuai.

kubectl

  1. Buat file bernama nas-pvc.yaml dengan konten berikut:

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata: 
      name: nas-csi-pvc
    spec:
      accessModes:
      - ReadWriteMany 
      # Tentukan StorageClass yang akan digunakan.
      storageClassName: alicloud-nas-subpath  
      resources: 
        requests:
          # Deklarasikan kapasitas yang dibutuhkan untuk volume penyimpanan.
          storage: 20Gi  

    Parameter

    Deskripsi

    accessModes

    Mode akses. Nilai yang valid:

    • ReadWriteMany (default): Volume dapat dipasang sebagai read-write oleh banyak node.

    • ReadWriteOnce: Volume dapat dipasang sebagai read-write oleh satu node.

    • ReadOnlyMany: Volume dapat dipasang sebagai read-only oleh banyak node.

    storageClassName

    Nama StorageClass yang akan digunakan.

    storage

    Kapasitas yang dibutuhkan untuk volume penyimpanan. Secara default, deklarasi ini berfungsi sebagai permintaan sumber daya dan tidak membatasi ruang penyimpanan aktual yang tersedia untuk pod.

    Batas kapasitas sistem file NAS ditentukan oleh spesifikasinya. Untuk informasi selengkapnya, lihat NAS tujuan umum dan NAS Extreme.

    Namun, ketika allowVolumeExpansion dalam StorageClass disetel ke true, nilai ini menjadi batas keras yang diberlakukan secara ketat. Plug-in CSI menyetel kuota direktori NAS berdasarkan konfigurasi ini untuk membatasi kapasitas PV yang tersedia.

  2. Buat PVC.

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

    kubectl get pv

    Output yang diharapkan mirip dengan berikut, yang menunjukkan bahwa StorageClass secara otomatis menyediakan PersistentVolume (PV) dan mengikatnya ke PVC.

    NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                 STORAGECLASS             VOLUMEATTRIBUTESCLASS   REASON   AGE
    nas-a7540d97-0f53-4e05-b7d9-557309******   20Gi       RWX            Retain           Bound    default/nas-csi-pvc   alicloud-nas-subpath     <unset>                          5m

Konsol

  1. Di panel navigasi kiri halaman manajemen kluster, pilih Storage > PVCs.

  2. Di halaman Persistent Volume Claims, klik Create, konfigurasikan parameter PVC, lalu klik Create.

    Parameter

    Deskripsi

    PVC Type

    Pilih NAS.

    Nama

    Nama PVC. Nama harus unik dalam namespace.

    Allocation Mode

    Pilih Use StorageClass.

    Existing Storage Class

    Klik Select Storage Class dan pilih StorageClass yang telah Anda buat.

    Kapasitas Total

    Kapasitas yang dibutuhkan untuk volume penyimpanan. Secara default, deklarasi ini berfungsi sebagai permintaan sumber daya dan tidak membatasi ruang penyimpanan aktual yang tersedia untuk pod.

    Batas kapasitas sistem file NAS ditentukan oleh spesifikasinya. Untuk informasi selengkapnya, lihat NAS tujuan umum dan NAS Extreme.

    Namun, ketika allowVolumeExpansion dalam StorageClass disetel ke true, nilai ini menjadi batas keras yang diberlakukan secara ketat. Plug-in CSI menyetel kuota direktori NAS berdasarkan konfigurasi ini untuk membatasi kapasitas PV yang tersedia.

    Access Mode

    Mode akses. Nilai yang valid:

    • ReadWriteMany (default): Volume dapat dipasang sebagai read-write oleh banyak node.

    • ReadWriteOnce: Volume dapat dipasang sebagai read-write oleh satu node.

    • ReadOnlyMany: Volume dapat dipasang sebagai read-only oleh banyak node.

3. Buat aplikasi dan pasang NAS

Setelah PVC dibuat, Anda dapat memasang volume ke aplikasi. Bagian ini menunjukkan cara membuat dua Deployment yang mereferensikan PVC yang sama, sehingga memungkinkan beberapa pod berbagi subpath NAS yang sama.

kubectl

Buat dua Deployment yang mereferensikan PVC yang sama agar keduanya dapat berbagi subpath yang sama dari sistem file NAS.

Untuk memasang subpath berbeda dari sistem file NAS yang sama ke pod berbeda, Anda harus membuat StorageClass unik dan PVC yang sesuai untuk setiap subpath.
  1. Buat dua file bernama nginx-1.yaml dan nginx-2.yaml dengan konten berikut.

    Konfigurasi kedua aplikasi hampir identik. Keduanya mereferensikan PVC yang sama.
    • nginx-1.yaml

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nas-test-1     
        labels:
          app: nginx
      spec:
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
              ports:
              - containerPort: 80
              volumeMounts:
                - name: nas-pvc
                  # Path pemasangan untuk volume NAS di dalam kontainer.
                  mountPath: "/data"          
            volumes:
              - name: nas-pvc                 
                persistentVolumeClaim:
                  # Referensikan PVC yang telah dibuat sebelumnya.
                  claimName: nas-csi-pvc      
    • nginx-2.yaml

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nas-test-2     
        labels:
          app: nginx
      spec:
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
              ports:
              - containerPort: 80
              volumeMounts:
                - name: nas-pvc
                  # Path pemasangan untuk volume NAS di dalam kontainer.
                  mountPath: "/data"           
            volumes:
              - name: nas-pvc                 
                persistentVolumeClaim:
                  # Referensikan PVC yang telah dibuat sebelumnya.
                  claimName: nas-csi-pvc       
  2. Buat dua Deployment tersebut.

    kubectl create -f nginx-1.yaml -f nginx-2.yaml
  3. Periksa status pod.

    kubectl get pod -l app=nginx

    Output yang diharapkan:

    NAME                         READY   STATUS    RESTARTS   AGE
    nas-test-1-b75d5b6bc-*****   1/1     Running   0          51s
    nas-test-2-b75d5b6bc-*****   1/1     Running   0          44s
  4. Periksa setiap pod untuk memverifikasi bahwa pod tersebut menggunakan PersistentVolumeClaim (PVC) yang benar.

    Ganti <namaPod> dengan nama aktual setiap pod.
    kubectl describe pod <namaPod> | grep "ClaimName:"

    Dalam output yang diharapkan, kedua pod menggunakan PVC yang sama, yang mengonfirmasi bahwa keduanya berbagi subpath yang sama dari sistem file NAS.

Konsol

Ulangi langkah-langkah berikut untuk membuat dua Deployment yang menggunakan PVC yang sama, sehingga memungkinkan keduanya berbagi subpath yang sama dari sistem file NAS.

  1. Di halaman Kluster ACK, klik nama kluster Anda. Di panel navigasi kiri, klik Workloads > Deployments.

  2. Klik Create from Image dan ikuti petunjuk di layar untuk mengonfigurasi dan membuat aplikasi.

    Parameter utama dijelaskan di bawah ini. Anda dapat mempertahankan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Buat aplikasi tanpa status (Deployment).

    Bagian

    Parameter

    Deskripsi

    Basic Information

    Replicas:

    Jumlah replica untuk Deployment.

    Container

    Image

    Alamat image yang digunakan untuk menyebar aplikasi.

    Required Resources

    Sumber daya vCPU dan memori yang dibutuhkan oleh container.

    Volumes

    Klik Add PVC, lalu konfigurasikan parameter-parameter tersebut.

    • Mount Source: Pilih PVC yang telah Anda buat.

    • Container Path: Masukkan path dalam container tempat sistem file NAS akan dipasang.

    Setelah deployment selesai, Anda dapat mengklik nama aplikasi di halaman Deployments dan memeriksa tab Pods untuk mengonfirmasi bahwa pod berjalan dengan baik (statusnya Running).

Untuk memverifikasi bahwa penyimpanan bersifat bersama dan persisten, lihat Verifikasi penyimpanan bersama dan persisten.

Metode 2: Pasang menggunakan mode sharepath

Dalam mode ini, saat PV dibuat untuk PVC yang menggunakan StorageClass ini, provisioner tidak membuat direktori baru. Sebaliknya, semua PV menggunakan path yang didefinisikan dalam StorageClass, sehingga memetakan setiap PV ke direktori NAS yang sama.

1. Buat StorageClass

StorageClass bertindak sebagai templat untuk menyediakan volume dinamis dan mendefinisikan sumber serta perilaku sumber daya penyimpanan.

kubectl

  1. Buat file bernama alicloud-nas-sharepath.yaml dengan konten berikut.

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alicloud-nas-sharepath
    mountOptions:
    - nolock,tcp,noresvport
    - vers=3
    parameters:
      volumeAs: sharepath
      # Format bidang server adalah <nas-server-address>:/<path>
      server: "0cd8b4a576-g****.cn-hangzhou.nas.aliyuncs.com:/k8s"
    provisioner: nasplugin.csi.alibabacloud.com
    reclaimPolicy: Retain

    Parameter

    Deskripsi

    mountOptions

    Opsi pemasangan untuk NAS, termasuk versi protokol NFS. Secara default, volume dipasang menggunakan NFSv3. Anda dapat menentukan versi berbeda dengan opsi seperti vers=4.0. Untuk informasi tentang protokol NFS yang didukung oleh berbagai jenis NAS, lihat Protokol NFS.

    parameters.volumeAs

    Mode penyediaan volume. Setel ke sharepath.

    parameters.server

    Titik pemasangan NAS dan subpath yang akan dipasang, dalam format <nas-server-address>:/<path>.

    • <nas-server-address>: Titik pemasangan sistem file NAS. Untuk informasi selengkapnya, lihat Mengelola titik pemasangan.

    • :/<path>: Subpath NAS yang akan dipasang. Jika parameter ini tidak disetel atau subpath yang ditentukan tidak ada, direktori root dipasang secara default.

      • NAS tujuan umum: Direktori root adalah /.

      • NAS Extreme: Direktori root adalah /share. Saat Anda memasang subpath, path harus dimulai dengan /share, seperti /share/data.

    provisioner

    Driver. Setel parameter ini ke nasplugin.csi.alibabacloud.com saat Anda menggunakan plug-in CSI NAS Alibaba Cloud.

    reclaimPolicy

    Kebijakan reclaim untuk PV. Untuk mode sharepath, ini harus diatur ke Retain.

  2. Buat StorageClass.

    kubectl create -f alicloud-nas-sharepath.yaml

Konsol

  1. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Volumes > StorageClasses.

  2. Klik Create, tentukan nama unik untuk StorageClass, dan pilih NAS sebagai PV Type.

    Parameter

    Deskripsi

    Select Mount Target

    Titik pemasangan sistem file NAS.

    Volume Mode

    Mode penyediaan volume. Dalam contoh ini, pilih Shared Directory, yang mengaktifkan mode sharepath.

    Mount Path

    Subdirektori NAS yang akan dipasang. Jika parameter ini tidak ditentukan, direktori root dipasang secara default.

    Jika direktori tersebut tidak ada dalam sistem file NAS, direktori tersebut dibuat secara otomatis lalu dipasang.
    • NAS tujuan umum: Direktori root adalah /.

    • NAS Extreme: Direktori root adalah /share. Saat Anda memasang subdirektori, path harus dimulai dengan /share, seperti /share/data.

    Kebijakan reclaim

    Untuk mode sharepath, ini harus diatur ke Retain.

    Opsi pemasangan

    Opsi pemasangan untuk NAS, termasuk versi protokol NFS. Secara default, volume dipasang menggunakan NFSv3. Anda dapat menentukan versi berbeda dengan opsi seperti vers=4.0. Untuk informasi tentang protokol NFS yang didukung oleh berbagai jenis NAS, lihat Protokol NFS.

2. Buat PVC

PersistentVolumeClaim (PVC) adalah permintaan penyimpanan dari aplikasi yang memicu StorageClass terkait untuk secara dinamis menyediakan dan mengikat PersistentVolume (PV) yang sesuai.

Untuk mengaktifkan berbagi data lintas namespace, Anda akan membuat PVC dengan nama yang sama di dua namespace berbeda. Meskipun PVC tersebut memiliki nama yang sama, mereka merupakan sumber daya yang berbeda karena berada di namespace yang berbeda. StorageClass menyediakan PV terpisah untuk setiap PVC, dan kedua PV tersebut mengarah ke direktori bersama yang sama pada sistem file NAS.

kubectl

  1. Buat dua namespace, ns1 dan ns2.

    kubectl create ns ns1
    kubectl create ns ns2
  2. Buat file bernama pvc.yaml dengan konten berikut untuk membuat PVC dengan nama yang sama di namespace ns1 dan ns2.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata: 
      name: nas-csi-pvc
      namespace: ns1
    spec:
      accessModes:
      - ReadWriteMany 
      storageClassName: alicloud-nas-sharepath
      resources: 
        requests:
          storage: 20Gi
    ---
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata: 
      name: nas-csi-pvc
      namespace: ns2
    spec:
      accessModes:
      - ReadWriteMany 
      storageClassName: alicloud-nas-sharepath
      resources: 
        requests:
          storage: 20Gi

    Parameter

    Deskripsi

    accessModes

    Mode akses. Nilai yang valid:

    • ReadWriteMany (default): Volume dapat dipasang sebagai read-write oleh banyak node.

    • ReadWriteOnce: Volume dapat dipasang sebagai read-write oleh satu node.

    • ReadOnlyMany: Volume dapat dipasang sebagai read-only oleh banyak node.

    storageClassName

    Nama StorageClass yang akan digunakan.

    storage

    Kapasitas yang dibutuhkan untuk volume penyimpanan. Secara default, deklarasi ini berfungsi sebagai permintaan sumber daya dan tidak membatasi ruang penyimpanan aktual yang tersedia untuk pod.

    Batas kapasitas sistem file NAS ditentukan oleh spesifikasinya. Untuk informasi selengkapnya, lihat NAS tujuan umum dan NAS Extreme.

    Namun, ketika allowVolumeExpansion dalam StorageClass disetel ke true, nilai ini menjadi batas keras yang diberlakukan secara ketat. Plug-in CSI menyetel kuota direktori NAS berdasarkan konfigurasi ini untuk membatasi kapasitas PV yang tersedia.

  3. Buat PVC.

    kubectl create -f pvc.yaml
  4. Periksa status PV untuk mengonfirmasi bahwa PV telah dibuat secara otomatis dan diikat ke PVC.

    kubectl get pv

    Output yang diharapkan mirip dengan berikut. Status kedua PV adalah Bound, dan kolom CLAIM menunjukkan bahwa setiap PV diikat ke PVC di namespace berbeda (ns1/nas-csi-pvc dan ns2/nas-csi-pvc).

    NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                 STORAGECLASS             VOLUMEATTRIBUTESCLASS   REASON   AGE
    nas-0b448885-6226-4d22-8a5b-d0768c******   20Gi       RWX            Retain           Bound    ns1/nas-csi-pvc       alicloud-nas-sharepath   <unset>                          74s
    nas-bcd21c93-8219-4a11-986b-fd934a******   20Gi       RWX            Retain           Bound    ns2/nas-csi-pvc       alicloud-nas-sharepath   <unset>                          74s

Konsol

  1. Buat namespace.

    • Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Namespaces and Quotas.

    • Klik Launch dan ikuti petunjuk di layar untuk membuat namespace ns1 dan ns2.

  2. Di panel navigasi kiri halaman manajemen kluster, pilih Storage > PVCs.

  3. Di namespace ns1, buat klaim penyimpanan.

    Di halaman Persistent Volume Claims, pilih ns1 dari daftar dropdown Namespace dan ikuti petunjuk di layar untuk membuat PVC.

    Parameter

    Deskripsi

    PVC Type

    Pilih NAS.

    Nama

    Nama PVC. Nama harus unik dalam namespace.

    Allocation Mode

    Pilih Use StorageClass.

    Existing Storage Class

    Klik Select Storage Class dan pilih StorageClass yang telah Anda buat.

    Kapasitas

    Kapasitas yang dibutuhkan untuk volume penyimpanan. Secara default, deklarasi ini berfungsi sebagai permintaan sumber daya dan tidak membatasi ruang penyimpanan aktual yang tersedia untuk pod.

    Batas kapasitas sistem file NAS ditentukan oleh spesifikasinya. Untuk informasi selengkapnya, lihat NAS tujuan umum dan NAS Extreme.

    Namun, ketika allowVolumeExpansion dalam StorageClass disetel ke true, nilai ini menjadi batas keras yang diberlakukan secara ketat. Plug-in CSI menyetel kuota direktori NAS berdasarkan konfigurasi ini untuk membatasi kapasitas PV yang tersedia.

    Access Mode

    Mode akses. Nilai yang valid:

    • ReadWriteMany (default): Volume dapat dipasang sebagai read-write oleh banyak node.

    • ReadWriteOnce: Volume dapat dipasang sebagai read-write oleh satu node.

    • ReadOnlyMany: Volume dapat dipasang sebagai read-only oleh banyak node.

  4. Ikuti langkah sebelumnya untuk membuat PVC lain di namespace ns2.

    Setelah pembuatan, kembali ke halaman Persistent Volume Claims. Di namespace ns1 dan ns2, konfirmasi bahwa kedua PVC diikat ke PV yang dibuat secara otomatis.

3. Buat aplikasi dan pasang NAS

Setelah PVC dibuat, Anda dapat memasang PV yang terikat ke aplikasi Anda. Di bagian ini, Anda akan membuat aplikasi di masing-masing namespace dan memasang PVC yang sesuai. Konfigurasi ini memungkinkan kedua aplikasi berbagi subdirektori NAS yang didefinisikan dalam StorageClass.

kubectl

  1. Buat dua file bernama nginx-ns1.yaml dan nginx-ns2.yaml dengan konten berikut.

    Konfigurasi kedua aplikasi hampir identik. Masing-masing mengikat ke PVC di namespace-nya.
    • nginx-ns1.yaml

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nas-test
        namespace: ns1   
      spec:
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
              ports:
              - containerPort: 80
              volumeMounts:
                - name: nas-pvc
                  mountPath: "/data"
            volumes:
              - name: nas-pvc
                persistentVolumeClaim:
                  claimName: nas-csi-pvc
    • nginx-ns2.yaml

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: nas-test
        namespace: ns2   
      spec:
        selector:
          matchLabels:
            app: nginx
        template:
          metadata:
            labels:
              app: nginx
          spec:
            containers:
            - name: nginx
              image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
              ports:
              - containerPort: 80
              volumeMounts:
                - name: nas-pvc
                  mountPath: "/data"
            volumes:
              - name: nas-pvc
                persistentVolumeClaim:
                  claimName: nas-csi-pvc
  2. Buat dua Deployment tersebut.

    kubectl create -f nginx-ns1.yaml -f nginx-ns2.yaml
  3. Periksa status Pod.

    kubectl get pod -A -l app=nginx

    Output yang diharapkan:

    NAMESPACE   NAME                         READY   STATUS    RESTARTS   AGE
    ns1         nas-test-b75d5b6bc-*****     1/1     Running   0          2m19s
    ns2         nas-test-b75d5b6bc-*****     1/1     Running   0          2m11s
  4. Periksa konfigurasi detail Pod untuk mengonfirmasi pemasangan PVC.

    Ganti <nama-namespace> dan <nama-pod> dengan namespace dan nama Pod yang sebenarnya.
    kubectl describe pod -n <nama-namespace> <nama-pod> | grep "ClaimName:"

    Dalam output yang diharapkan, dua Pod tersebut memasang ns1/nas-csi-pvc dan ns2/nas-csi-pvc masing-masing.

Konsol

  1. Di halaman Kluster ACK, klik nama kluster Anda. Di panel navigasi kiri, klik Workloads > Deployments.

  2. Di namespace ns1, buat Deployment dan pasang PVC yang sesuai.

    1. Pilih Namespace dari daftar dropdown Namespace dan klik Create from Image.

    2. Ikuti petunjuk di layar untuk membuat aplikasi.

      Parameter utama dijelaskan di bawah ini. Biarkan parameter lainnya pada nilai defaultnya. Untuk informasi selengkapnya, lihat Buat beban kerja tanpa status (Deployment).

      Bagian

      Parameter

      Deskripsi

      Basic Information

      Replicas:

      Jumlah replica dari Deployment.

      Container

      Image

      Alamat image yang digunakan untuk menyebar aplikasi.

      Required Resources

      Sumber daya vCPU dan memori yang dibutuhkan.

      Volumes

      Klik Add PVC dan konfigurasikan parameter-parameter tersebut.

      • Mount Source: Pilih PVC yang telah Anda buat.

      • Container Path: Masukkan path di dalam container tempat sistem file NAS akan dipasang, misalnya /data.

  3. Ikuti langkah sebelumnya untuk membuat Deployment lain di namespace ns2 dan pasang PVC yang sesuai.

    Kembali ke halaman Deployments. Di namespace ns1 dan ns2, periksa status setiap Deployment untuk mengonfirmasi bahwa Pod berjalan dan telah memasang PVC yang benar.

Untuk memverifikasi hasilnya, lihat Verifikasi penyimpanan bersama dan persisten.

Metode 3: Pasang volume dalam mode filesystem

Mode filesystem memungkinkan Anda membuat dan mengelola sistem file NAS dan titik pemasangan khusus untuk aplikasi secara dinamis. Berbeda dengan mode sharepath, setiap PV yang dibuat dalam mode filesystem sesuai dengan instance sistem file NAS terpisah.

Setiap PV jenis filesystem sesuai dengan sistem file NAS khusus dan satu titik pemasangan.
  • Secara default, saat Anda menghapus PV jenis filesystem, sistem file NAS dan titik pemasangan yang sesuai dipertahankan. Untuk menghapus sistem file NAS dan titik pemasangan secara otomatis saat PV dihapus, tambahkan parameter berikut ke StorageClass:

    • reclaimPolicy: Delete

    • parameters.deleteVolume: "true"

  • Saat menggunakan kluster khusus ACK, berikan izin yang diperlukan kepada csi-provisioner.

    Proses otorisasi

    Menggunakan volume NAS jenis filesystem melibatkan pembuatan dan penghapusan dinamis sistem file NAS dan titik pemasangan. Oleh karena itu, komponen csi-provisioner di kluster khusus ACK Anda memerlukan izin yang sesuai.

    Berikut adalah set minimum izin yang diperlukan untuk kebijakan RAM.

    {
        "Action": [
            "nas:DescribeMountTargets",
            "nas:CreateMountTarget",
            "nas:DeleteFileSystem",
            "nas:DeleteMountTarget",
            "nas:CreateFileSystem"
        ],
        "Resource": [
            "*"
        ],
        "Effect": "Allow"
    }

    Anda dapat memberikan izin dengan salah satu metode berikut:

    • Tambahkan izin NAS di atas ke kebijakan kustom peran RAM master untuk kluster khusus ACK Anda. Untuk informasi selengkapnya, lihat Ubah konten dan deskripsi kebijakan kustom. Di halaman detail kluster, klik tab Sumber Daya Kluster, temukan Peran RAM Master (seperti KubernetesMasterRole-xxx), dan lampirkan kebijakan ke peran ini.

    • Buat pengguna RAM, lampirkan kebijakan RAM di atas, dan hasilkan kunci akses. Lalu, konfigurasikan kunci akses di variabel env untuk csi-provisioner.

      env:
      - name: CSI_ENDPOINT
        value: unix://socketDir/csi.sock
      - name: ACCESS_KEY_ID
        value: ""
      - name: ACCESS_KEY_SECRET
        value: ""

1. Buat StorageClass

StorageClass adalah templat penyediaan untuk volume dinamis. Ini mendefinisikan sumber dan perilaku sumber daya penyimpanan.

  1. Buat file bernama alicloud-nas-fs.yaml dengan konten berikut untuk mendefinisikan StorageClass dalam mode filesystem:

    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-beijing
      zoneId: cn-beijing-e
      vpcId: "vpc-2ze2fxn6popm8c2mzm****"
      vSwitchId: "vsw-2zwdg25a2b4y5juy****"
      accessGroupName: DEFAULT_VPC_GROUP_NAME
      deleteVolume: "false"
    provisioner: nasplugin.csi.alibabacloud.com
    reclaimPolicy: Retain

    Parameter

    Deskripsi

    mountOptions

    Opsi pemasangan untuk NAS, termasuk versi protokol NFS. Secara default, volume dipasang menggunakan NFSv3. Anda dapat menentukan versi berbeda dengan opsi seperti vers=4.0. Untuk informasi tentang protokol NFS yang didukung oleh berbagai jenis NAS, lihat Protokol NFS.

    parameters.volumeAs

    Setel Jenis Pemasangan ke filesystem.

    parameters.fileSystemType

    Jenis sistem file NAS. Nilai yang valid:

    • standard (default): NAS tujuan umum.

    • extreme: NAS Extreme.

    parameters.storageType

    Kelas penyimpanan sistem file NAS.

    • Nilai yang valid untuk NAS tujuan umum:

      • Performance (default): Performance

      • Capacity: Capacity

    • Nilai yang valid untuk NAS Extreme:

      • standard (default): Standard

      • advance: Advanced

    parameters.regionId

    Wilayah sistem file NAS. Ini harus berada di wilayah yang sama dengan kluster.

    parameters.zoneId

    Zona ketersediaan sistem file NAS. Dalam VPC yang sama, NAS mendukung pemasangan lintas zona.

    parameters.vpcId

    VPC untuk titik pemasangan sistem file. Ini harus berada di VPC yang sama dengan kluster.

    parameters.vSwitchId

    ID VSwitch untuk titik pemasangan sistem file.

    parameters.accessGroupName

    Kelompok akses titik pemasangan sistem file NAS. Nilai default adalah DEFAULT_VPC_GROUP_NAME.

    parameters.deleteVolume

    Menentukan apakah PV dan sistem file NAS serta titik pemasangan yang sesuai dihapus saat PVC dihapus. Karena NAS adalah sistem file bersama, Anda harus mengonfigurasi deleteVolume dan reclaimPolicy untuk tujuan keamanan.

    provisioner

    Driver. Setel parameter ini ke nasplugin.csi.alibabacloud.com saat Anda menggunakan plug-in CSI NAS Alibaba Cloud.

    reclaimPolicy

    PV, sistem file NAS yang sesuai, dan titik pemasangan dihapus bersamaan dengan PVC hanya jika kebijakan reclaim PV disetel ke Delete dan parameter deleteVolume disetel ke true.

  2. Jalankan perintah berikut untuk membuat StorageClass.

    kubectl create -f alicloud-nas-fs.yaml

2. Buat PVC

  1. Buat file bernama nas-pvc-fs.yaml dengan konten berikut untuk meminta sumber daya penyimpanan:

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

    Berikut ini penjelasan parameter:

    Parameter

    Deskripsi

    accessModes

    Mode akses. Nilai yang valid:

    • ReadWriteMany (default): Volume dapat dipasang sebagai read-write oleh banyak node.

    • ReadWriteOnce: Volume dapat dipasang sebagai read-write oleh satu node.

    • ReadOnlyMany: Volume dapat dipasang sebagai read-only oleh banyak node.

    storage

    Kapasitas volume NAS yang akan dibuat.

    Kapasitas minimum untuk NAS Extreme adalah 100 GiB. Jika NAS Extreme didefinisikan dalam StorageClass, nilai storage harus ≥ 100 GiB.

    storageClassName

    Nama StorageClass yang diminta oleh klaim ini.

  2. Buat PVC.

    kubectl create -f nas-pvc-fs.yaml

3. Buat aplikasi dan pasang NAS

  1. Lihat referensi berikut untuk membuat nas-fs.yaml.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: deployment-nas-fs
      labels:
        app: nginx-test
    spec:
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            ports:
            - containerPort: 80
            volumeMounts:
              - name: nas-pvc
                mountPath: "/data"
          volumes:
            - name: nas-pvc
              persistentVolumeClaim:
                claimName: nas-csi-pvc-fs
  2. Buat Deployment.

    kubectl create -f nas-fs.yaml
  3. Periksa status PVC.

    kubectl get pvc nas-csi-pvc-fs

    Output berikut menunjukkan bahwa PVC berhasil diikat ke PV:

    NAME             STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS      VOLUMEATTRIBUTESCLASS   AGE
    nas-csi-pvc-fs   Bound    nas-8338540d-34a1-4796-89cf-be2a7*******   20Gi       RWX            alicloud-nas-fs   <unset>                 13m
  4. Periksa ID sistem file NAS yang baru dibuat di detail PV.

    Ganti nas-8338540d-34a1-4796-89cf-be2a7******* dengan nama PV yang sebenarnya.
    kubectl describe pv nas-8338540d-34a1-4796-89cf-be2a7******* | grep "fileSystemId"

    Output menunjukkan ID sistem file NAS yang baru dibuat. Anda dapat melihat sistem file ini di halaman File System List di Konsol NAS.

Verifikasi penyimpanan bersama dan persisten

Setelah Anda berhasil men-deploy aplikasi, Anda dapat memverifikasi bahwa volume penyimpanan berfungsi sebagaimana mestinya. Bagian ini menggunakan mode subpath untuk membuat nas-test-1 dan nas-test-2 sebagai contoh verifikasi.

Penyimpanan bersama

Penyimpanan persisten

Untuk memverifikasi penyimpanan bersama, buat file di satu Pod lalu lihat di Pod lain.

  1. Daftar Pod untuk mendapatkan nama-namanya.

    kubectl get pod | grep nas-test

    Output yang diharapkan:

    nas-test-1-b75d5b6bc-*****           1/1     Running   0          50s
    nas-test-2-b75d5b6bc-*****           1/1     Running   0          60s
  2. Buat file di salah satu Pod.

    Ambil Pod bernama nas-test-1-b75d5b6bc-***** sebagai contoh:

    kubectl exec nas-test-1-b75d5b6bc-***** -- touch /data/test.txt
  3. Periksa apakah file tersebut ada di Pod lain.

    Ambil Pod bernama nas-test-2-b75d5b6bc-***** sebagai contoh.

    kubectl exec nas-test-2-b75d5b6bc-***** -- ls /data

    Output yang diharapkan:

    test.txt

    Output menunjukkan file baru, yang mengonfirmasi bahwa data dapat dibagikan di antara Pod.

Untuk memverifikasi penyimpanan persisten, restart Deployment dan periksa apakah data masih ada di sistem file Pod baru.

  1. Restart Deployment untuk memicu pembuatan ulang Pod.

    kubectl rollout restart deploy nas-test-1
  2. Periksa Pod dan tunggu hingga status Pod baru menjadi Running.

    kubectl get pod | grep nas-test

    Output yang diharapkan:

    nas-test-1-5bb845b795-*****           1/1     Running   0          115m
    nas-test-2-5b6bccb75d-*****           1/1     Running   0          103m
  3. Periksa apakah file yang dibuat sebelumnya ada di Pod baru.

    Ambil Pod bernama nas-test-1-5bb845b795-***** sebagai contoh.

    kubectl exec nas-test-1-5bb845b795-***** -- ls /data

    Output yang diharapkan:

    test.txt

    Output menunjukkan file yang ditulis sebelumnya, yang mengonfirmasi bahwa data bersifat persisten.

Untuk lingkungan produksi

  • Keamanan dan perlindungan data

    • Gunakan kebijakan reclaim Retain: Setel reclaimPolicy StorageClass Anda ke Retain. Ini mencegah kehilangan data jika PVC dihapus secara tidak sengaja.

    • Gunakan grup izin untuk kontrol akses: NAS menggunakan grup izin untuk mengelola akses jaringan. Ikuti prinsip hak istimewa minimal: tambahkan hanya alamat IP pribadi node kluster atau blok CIDR vSwitch-nya ke grup izin. Hindari izin yang terlalu luas, seperti 0.0.0.0/0.

  • Optimalisasi kinerja dan biaya

    • Pilih jenis NAS yang sesuai: Lihat Pemilihan sistem file untuk memilih jenis NAS yang memenuhi kebutuhan IOPS dan throughput aplikasi Anda.

    • Optimalkan opsi pemasangan (mountOptions): Sesuaikan parameter pemasangan NFS berdasarkan karakteristik workload Anda. Misalnya, menggunakan versi protokol seperti vers=4.0 atau vers=4.1 dapat meningkatkan kinerja dan kemampuan penguncian file dalam beberapa skenario. Untuk workload dengan I/O file skala besar, uji nilai rsize dan wsize berbeda untuk mengoptimalkan throughput baca dan tulis.

  • Operasi dan keandalan

    • Konfigurasikan pemeriksaan kesehatan: Konfigurasikan pemeriksaan kelangsungan hidup untuk pod aplikasi Anda untuk memverifikasi bahwa titik pemasangan dalam kondisi sehat. Jika titik pemasangan menjadi tidak responsif, ACK secara otomatis merestart pod, yang memicu pemasangan ulang volume penyimpanan.

    • Siapkan pemantauan dan peringatan: Gunakan pemantauan penyimpanan kontainer untuk mengonfigurasi peringatan guna segera mendeteksi masalah volume penyimpanan atau hambatan kinerja.

Rilis sumber daya

Untuk menghindari biaya tak terduga, rilis sumber daya terkait dalam urutan berikut saat volume penyimpanan NAS tidak lagi diperlukan.

  1. Hapus beban kerja

    • Tindakan: Hapus semua beban kerja (seperti Deployment dan StatefulSet) yang menggunakan volume penyimpanan NAS. Ini mencegah pod aplikasi memasang, membaca dari, atau menulis ke volume tersebut.

    • Contoh perintah: kubectl delete deployment <nama-deployment-anda>

  2. Hapus PVC

    • Tindakan: Hapus PVC yang terkait dengan beban kerja. Setelah PVC dihapus, perilaku PV yang terikat dan NAS backend bergantung pada reclaimPolicy yang didefinisikan dalam StorageClass yang sesuai.

      • Mode subpath

        • Jika reclaimPolicy adalah Retain: Setelah PVC dihapus, PV yang terikat memasuki status Released. Objek PV dan subdirektori serta data yang sesuai di NAS backend dipertahankan dan harus dihapus secara manual.

        • Jika reclaimPolicy adalah Delete: Setelah PVC dihapus, PV yang terikat dihapus secara otomatis. Penanganan subdirektori NAS backend bergantung pada parameter archiveOnDelete:

          • Jika archiveOnDelete adalah "true": Data backend tidak dihapus tetapi diganti nama dan diarsipkan sebagai archived-{pvName}.{timestamp}.

          • Jika archiveOnDelete adalah "false": Subdirektori PV yang sesuai di NAS backend dan semua datanya dihapus secara permanen. Lakukan dengan hati-hati.

          Dalam kluster ACK Serverless, karena batasan izin, meskipun reclaimPolicy: Delete dikonfigurasi, direktori dan data NAS backend tidak dihapus atau diarsipkan. Hanya objek PV yang dihapus.
      • Mode sharepath

        Mode ini hanya mendukung reclaimPolicy Retain. Setelah PVC dihapus, PV yang terikat memasuki status Released. Objek PV, direktori bersama backend, dan semua data dipertahankan.

      • Mode filesystem

        • Jika reclaimPolicy adalah Retain: Setelah PVC dihapus, PV yang terikat memasuki status Released. Objek PV, sistem file NAS backend yang dibuat secara dinamis, dan titik pemasangan semuanya dipertahankan.

        • Jika reclaimPolicy adalah Delete: Setelah PVC dihapus, PV yang terikat dihapus secara otomatis. Penanganan sistem file NAS backend bergantung pada parameter deleteVolume:

          • Jika deleteVolume adalah "false": Sistem file NAS backend dan titik pemasangan dipertahankan dan harus dihapus secara manual.

          • Jika deleteVolume adalah "true": Sistem file NAS backend dan titik pemasangan dihapus secara otomatis. Lakukan dengan hati-hati.

    • Contoh perintah: kubectl delete pvc <nama-pvc-anda>

  3. Hapus PV

    • Tindakan: Anda dapat menghapus PV saat berada dalam status Available atau Released. Tindakan ini hanya menghapus definisi PV dari kluster Kubernetes tetapi tidak menghapus data apa pun dari sistem file NAS backend.

    • Contoh perintah: kubectl delete pv <nama-pv-anda>

  4. Hapus sistem file NAS backend (opsional)

    • Mode subpath dan sharepath: Lihat Hapus sistem file. Operasi ini menghapus semua data di NAS secara permanen, dan data tidak dapat dipulihkan. Lakukan dengan hati-hati. Sebelum melakukan operasi ini, Anda harus memastikan bahwa NAS tidak memiliki dependensi bisnis.

    • Mode filesystem: Jika sistem file NAS backend tidak dihapus secara otomatis saat Anda menghapus PVC, lihat Hapus sistem file untuk menemukan dan menghapus sistem file yang sesuai secara manual.

Dokumen terkait