全部产品
Search
文档中心

Container Service for Kubernetes:Memasang volume NAS yang diprovisioning secara dinamis

更新时间:Jul 02, 2025

Anda dapat membuat subdirektori di dalam File Storage NAS (NAS) sistem file dan memetakan subdirektori ke volume persisten (PV) yang diprovisioning secara dinamis untuk aplikasi. Topik ini menjelaskan cara memasang volume NAS yang diprovisioning secara dinamis.

Prasyarat

  • Sebuah kluster Container Service for Kubernetes (ACK) telah dibuat dan plugin FlexVolume telah diinstal di dalam kluster. Untuk informasi lebih lanjut, lihat Buat Kluster ACK yang Dikelola.

  • Komponen alicloud-nas-controller telah diterapkan di dalam kluster. Untuk informasi lebih lanjut, lihat Instal dan Tingkatkan FlexVolume.

Perhatian

Jika parameter securityContext.fsgroup disetel dalam template aplikasi, kubelet melakukan operasi chmod atau chown setelah volume dipasang, yang meningkatkan waktu konsumsi.

Catatan

Untuk informasi lebih lanjut tentang cara mempercepat proses pemasangan ketika parameter securityContext.fsgroup disetel, lihat Mengapa Dibutuhkan Waktu Lama untuk Memasang Volume NAS?.

Buat volume NAS yang diprovisioning secara dinamis

  1. Konfigurasikan StorageClass.

    Contoh kode:

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alicloud-nas
    mountOptions:
    - nolock,tcp,noresvport
    - vers=3
    parameters:
      server: "23a9649583-i****.cn-shenzhen.nas.aliyuncs.com:/nasroot1/"
      driver: flexvolume
    provisioner: alicloud/nas
    reclaimPolicy: Delete

    Parameter

    Deskripsi

    mountOptions

    Opsi pemasangan PV. Volume NAS dipasang berdasarkan opsi pemasangan yang ditentukan.

    server

    Daftar target pemasangan yang digunakan untuk provisioning PV. Formatnya adalah nfsurl1:/path1,nfsurl2:/path2. Saat beberapa server ditentukan, PV yang diprovisioning oleh StorageClass ini menggunakan server secara bergantian. Untuk sistem file Extreme NAS, path harus dimulai dengan /share.

    driver

    FlexVolume dan NFS didukung. Driver default adalah NFS.

    reclaimPolicy

    Kebijakan reclaim PV. Kami menyarankan Anda untuk menyetel nilainya menjadi Retain.

    • Jika Anda menyetel nilainya menjadi Delete, nama subdirektori yang dipetakan ke PV akan otomatis berubah setelah Anda menghapus PV. Sebagai contoh, path-name berubah menjadi archived-path-name.

    • Jika Anda ingin menghapus subdirektori di dalam sistem file NAS, atur archiveOnDelete menjadi false dalam konfigurasi StorageClass.

  2. Gunakan Volume NAS yang Diprovitioning Secara Dinamis dalam StatefulSet.

    Buat Service dan StatefulSet dengan menggunakan contoh kode berikut:

    apiVersion: v1
    kind: Service
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      ports:
      - port: 80
        name: web
      clusterIP: None
      selector:
        app: nginx
    ---
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: web
    spec:
      selector:
        matchLabels:
          app: nginx
      serviceName: "nginx"
      replicas: 5
      volumeClaimTemplates:
      - metadata:
          name: html
        spec:
          accessModes:
            - ReadWriteOnce
          storageClassName: alicloud-nas
          resources:
            requests:
              storage: 2Gi
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx:alpine
            volumeMounts:
            - mountPath: "/data"
              name: html