全部产品
Search
文档中心

Container Service for Kubernetes:Memasang volume NAS yang disediakan secara statis

更新时间:Nov 11, 2025

Volume NAS adalah sistem file terdistribusi yang menyediakan akses bersama, skalabilitas, keandalan tinggi, dan kinerja tinggi. Topik ini menjelaskan cara menggunakan volume Alibaba Cloud NAS yang disediakan secara statis untuk menerapkan penyimpanan persisten dan bersama.

Prasyarat

Skenario

  • Aplikasi yang memiliki persyaratan tinggi terhadap I/O disk.

  • Anda dapat menerapkan berbagi file lintas host. Misalnya, Anda dapat menggunakan volume NAS sebagai server file.

Pertimbangan

  • Saat menggunakan sistem file NAS Ekstrem, path volume harus merupakan subdirektori dari /share. Misalnya, Anda dapat mengatur subdirektori sistem file NAS yang dipasang ke pod menjadi /share/path1.

  • Sistem file NAS dapat dipasang ke beberapa pod secara bersamaan. Dalam kasus ini, pod-pod tersebut mungkin memodifikasi data yang sama. Aplikasi Anda harus mampu menyinkronkan data.

    Catatan

    Anda tidak dapat memodifikasi izin, pemilik, atau kelompok direktori / pada sistem file NAS.

  • Jika Anda mengatur parameter securityContext.fsgroup dalam templat aplikasi, Kubelet akan menjalankan operasi chmod atau chown setelah volume dipasang. Hal ini memperpanjang waktu pemasangan.

    Catatan

    Jika Anda telah mengatur parameter securityContext.fsgroup dan ingin mengurangi waktu pemasangan, lihat Waktu pemasangan volume NAS diperpanjang.

Gunakan volume NAS yang disediakan secara statis di konsol

Step 1: Create a Persistent Volume (PV)

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

  2. Pada halaman Clusters, temukan kluster yang ingin Anda kelola lalu klik nama kluster tersebut atau klik Details di kolom Actions. Halaman detail kluster akan muncul.

  3. Di panel navigasi sebelah kiri halaman detail kluster, pilih Volumes > Persistent Volumes.

  4. Pada halaman Persistent Volumes, klik Create di pojok kanan atas.

  5. Pada kotak dialog Create Persistent Volume, atur parameter-parameter berikut.

    Parameter

    Deskripsi

    Volume Type

    Pada contoh ini, pilih NAS.

    Name

    Nama PV. Nama harus unik dalam kluster. Pada contoh ini, digunakan pv-nas.

    Capacity

    Kapasitas PV. Perhatikan bahwa sistem file NAS tidak memiliki batas kapasitas. Parameter ini menentukan kapasitas PV, bukan batas kapasitas sistem file NAS.

    Access Mode

    Pilih ReadWriteMany atau ReadWriteOnce. Nilai default-nya adalah ReadWriteMany.

    Mount Target Domain Name

    Anda dapat Select Mount Target atau menentukan titik pemasangan Custom sebagai alamat pemasangan bagi kluster untuk mengakses sistem file NAS.

    Advanced Options (Optional)

    Mount Path

    Subdirektori dalam sistem file NAS yang akan dipasang.

    • Jika tidak diatur, nilai default-nya adalah root (/ untuk NAS tujuan umum, /share untuk NAS Ekstrem).

    • Jika direktori tidak ada, direktori tersebut akan dibuat.

    Catatan

    Untuk NAS Ekstrem, path harus dimulai dengan /share, seperti /share/data.

    Reclaim Policy

    Nilai default-nya adalah Retain. Ini menunjukkan bahwa ketika PVC dihapus, PV dan sistem file NAS terkait tetap dipertahankan dan hanya dapat dihapus secara manual.

    Mount Options

    Parameter pemasangan NAS, termasuk versi protokol NFS. Kami merekomendasikan penggunaan protokol NFS v3 karena NAS Ekstrem hanya mendukung NFS v3. Untuk informasi lebih lanjut tentang protokol NFS, lihat Protokol NFS.

    Labels

    Tambahkan label ke PV.

  6. Setelah mengatur parameter, klik Create.

Step 2: Create a Persistent Volume Claim (PVC)

  1. Di panel navigasi sebelah kiri halaman detail, pilih Volumes > Persistent Volume Claims.

  2. Pada halaman Persistent Volume Claims, klik Create di pojok kanan atas.

  3. Pada kotak dialog Create Persistent Volume Claim, atur parameter-parameter berikut.

    Parameter

    Deskripsi

    Storage Claim Type

    Pada contoh ini, pilih NAS.

    Name

    Nama PVC. Nama harus unik dalam kluster.

    Allocation Mode

    Pilih Volume yang Ada.

    Catatan

    Jika belum ada PV yang dibuat, Anda dapat mengatur Allocation Mode menjadi Create Volume dan atur parameter untuk membuat PV. Untuk informasi selengkapnya, lihat Buat PV.

    Existing Volume

    Klik Select Existing Volume, temukan PV yang dituju, lalu klik Select di kolom Tindakan.

    Capacity

    Kapasitas PV.

    Catatan

    Kapasitas yang diklaim oleh PVC tidak boleh melebihi kapasitas PV yang terikat ke PVC tersebut.

  4. Klik Create.

    Setelah PVC dibuat, Anda dapat melihatnya dalam daftar. Status PVC berubah menjadi Bound, yang menunjukkan bahwa PVC tersebut telah terikat ke PV yang sesuai.

Step 3: Create an application

  1. Di panel navigasi sebelah kiri halaman detail kluster, buka Workloads > Deployments.

  2. Pada halaman Deployments, klik Create From Image.

  3. Konfigurasikan parameter aplikasi. Setelah selesai, klik Create.

    Tabel berikut menjelaskan parameter utama. Gunakan pengaturan default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Buat aplikasi tanpa status menggunakan Deployment.

    Bagian

    Parameter

    Deskripsi

    Contoh

    Basic Information

    Name

    Masukkan nama kustom untuk Deployment. Nama harus memenuhi persyaratan format yang ditampilkan di konsol.

    nas-test

    Replicas

    Jumlah replika pod.

    2

    Container

    Image Name

    Citra kontainer.

    anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6

    Required Resources

    CPU dan memori.

    0,25 Core, 512 MiB

    Volume

    Klik Add PVC dan konfigurasikan parameter.

    • Mount Source: Pilih PVC yang telah Anda buat.

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

    • Sumber Pemasangan: pvc-nas

    • Path Kontainer: /data

  4. Lihat status deployment aplikasi.

    1. Pada halaman Deployments, klik nama aplikasi.

    2. Pada tab Pods, pastikan pod berada dalam status Running.

Gunakan volume NAS yang disediakan secara statis menggunakan kubectl

  1. Jalankan perintah berikut untuk membuat PV yang disediakan secara statis.

    kubectl create -f pv-nas.yaml

    Kode berikut menyediakan contoh file YAML untuk membuat PV yang disediakan secara statis.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: pv-nas
      labels:
        alicloud-pvname: pv-nas
    spec:
      capacity:
        storage: 5Gi
      accessModes:
        - ReadWriteMany
      csi:
        driver: nasplugin.csi.alibabacloud.com
        volumeHandle: pv-nas
        volumeAttributes:
          server: "2564f4****-ysu87.cn-shenzhen.nas.aliyuncs.com"
          path: "/csi"
      mountOptions:
      - nolock,tcp,noresvport
      - vers=3

    Parameter

    Deskripsi

    name

    Nama PV.

    labels

    Label PV.

    storage

    Kapasitas tersedia sistem file NAS.

    accessModes

    Mode akses.

    driver

    Jenis driver. Pada contoh ini, nilainya adalah nasplugin.csi.alibabacloud.com, yang menunjukkan bahwa plugin CSI Alibaba Cloud NAS digunakan.

    volumeHandle

    ID unik PV. Jika Anda ingin menggunakan beberapa PV secara bersamaan, nilai parameter ini harus unik untuk setiap PV.

    server

    Titik pemasangan NAS.

    path

    Subdirektori yang akan dipasang. Untuk sistem file NAS Ekstrem, subdirektori harus merupakan subdirektori dari /share.

    vers

    Nomor versi protokol NFS yang digunakan untuk memasang volume NAS. Kami merekomendasikan penggunaan v3. Sistem file NAS Ekstrem hanya mendukung v3.

  2. Jalankan perintah berikut untuk membuat PVC yang disediakan secara statis.

    Buat PVC untuk sistem file NAS. Gunakan bidang selector untuk memfilter PV dan mengikat PVC ke PV tertentu.

    kubectl create -f pvc-nas.yaml

    Kode berikut menyediakan contoh file YAML untuk membuat PVC yang disediakan secara statis.

    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pvc-nas
    spec:
      accessModes:
        - ReadWriteMany
      resources:
        requests:
          storage: 5Gi
      selector:
        matchLabels:
          alicloud-pvname: pv-nas

    Parameter

    Deskripsi

    name

    Nama PVC.

    accessModes

    Mode akses.

    storage

    Kapasitas yang diminta oleh aplikasi. Nilainya tidak boleh lebih besar daripada kapasitas total PV.

    matchLabels

    Label PV yang akan diasosiasikan.

  3. Jalankan perintah berikut untuk membuat aplikasi bernama nas-static dan memasang PVC tersebut.

    kubectl create -f nas.yaml

    Kode berikut menyediakan contoh file nas.yaml untuk membuat aplikasi nas-static.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nas-static
      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: pvc-nas

    Parameter

    Deskripsi

    mountPath

    Path tempat volume NAS dipasang di dalam kontainer.

    claimName

    Nama PVC yang akan diikat.

  4. Jalankan perintah berikut untuk melihat informasi pod.

    kubectl get pod

    Output yang diharapkan:

    NAME                          READY   STATUS    RESTARTS   AGE
    nas-static-5b5cdb85f6-n****   1/1     Running   0          32s
    nas-static-c5bb4746c-4****    1/1     Running   0          32s

Verifikasi persistensi volume NAS

  1. Lihat aplikasi yang dideploy dan file NAS.

    1. Jalankan perintah berikut untuk melihat nama pod aplikasi yang dideploy.

      kubectl get pod 

      Output yang diharapkan:

      NAME                          READY   STATUS    RESTARTS   AGE
      nas-static-5b5cdb85f6-n****   1/1     Running   0          32s
      nas-static-c5bb4746c-4****    1/1     Running   0          32s
    2. Jalankan perintah berikut untuk melihat file di path /data salah satu pod aplikasi. Topik ini menggunakan pod bernama nas-static-5b5cdb85f6-n**** sebagai contoh.

      kubectl exec nas-static-5b5cdb85f6-n**** -- ls /data

      Perintah tidak menghasilkan output, yang menunjukkan bahwa tidak ada file di path /data.

  2. Jalankan perintah berikut untuk membuat file bernama nas di path /data pod nas-static-5b5cdb85f6-n****.

    kubectl exec nas-static-5b5cdb85f6-n**** -- touch /data/nas
  3. Jalankan perintah berikut untuk melihat file di path /data pod nas-static-5b5cdb85f6-n****.

    kubectl exec nas-static-5b5cdb85f6-n**** -- ls /data

    Output yang diharapkan:

    nas
  4. Jalankan perintah berikut untuk menghapus pod.

    kubectl delete pod nas-static-5b5cdb85f6-n****
  5. Di jendela lain, jalankan perintah berikut untuk memantau penghapusan pod dan pembuatan pod baru oleh Kubernetes.

    kubectl get pod -w -l app=nginx
  6. Verifikasi bahwa file yang dibuat di volume NAS masih ada setelah pod dihapus.

    1. Jalankan perintah berikut untuk melihat nama pod yang dibuat ulang oleh Kubernetes.

      kubectl get pod

      Output yang diharapkan:

      NAME                                READY   STATUS    RESTARTS   AGE
      nas-static-5b5cdb85f6-n****   1/1     Running   0          32s
      nas-static-c5bb4746c-4****    1/1     Running   0          32s
    2. Jalankan perintah berikut untuk melihat file di path /data pod nas-static-5b5cdb85f6-n****.

      kubectl exec nas-static-5b5cdb85f6-n**** -- ls /data

      Output yang diharapkan:

      nas

      File nas masih ada, yang menunjukkan bahwa data dalam volume NAS bersifat persisten.

Verifikasi penyimpanan bersama volume NAS

  1. Lihat pod tempat aplikasi dideploy dan file NAS.

    1. Jalankan perintah berikut untuk melihat nama pod tempat aplikasi dideploy.

      kubectl get pod 

      Output yang diharapkan:

      NAME                          READY   STATUS    RESTARTS   AGE
      nas-static-5b5cdb85f6-n****   1/1     Running   0          32s
      nas-static-c5bb4746c-4****    1/1     Running   0          32s
    2. Jalankan perintah berikut untuk melihat file di path /data kedua pod.

      kubectl exec nas-static-5b5cdb85f6-n**** -- ls /data
      kubectl exec nas-static-c5bb4746c-4**** -- ls /data
  2. Jalankan perintah berikut untuk membuat file bernama nas di path /data salah satu pod.

     kubectl exec nas-static-5b5cdb85f6-n**** -- touch /data/nas
  3. Jalankan perintah berikut untuk melihat file di path /data kedua pod.

    1. Jalankan perintah berikut untuk melihat file di path /data pod bernama nas-static-5b5cdb85f6-n****.

      kubectl exec nas-static-5b5cdb85f6-n**** -- ls /data

      Output yang diharapkan:

      nas
    2. Jalankan perintah berikut untuk melihat file di path /data pod bernama nas-static-c5bb4746c-4****.

      kubectl exec nas-static-c5bb4746c-4**** -- ls /data

      Output yang diharapkan:

      nas

      Jika file yang dibuat di path /data salah satu pod juga ada di path /data pod lainnya, hal ini menunjukkan bahwa kedua pod berbagi volume NAS yang sama.