全部產品
Search
文件中心

Container Service for Kubernetes:使用NAS靜態儲存卷

更新時間:Jun 19, 2024

您可以通過阿里雲提供的Flexvolume外掛程式使用阿里雲NAS檔案儲存體服務。本文介紹如何使用NAS靜態儲存卷。

前提條件

背景資訊

使用Flexvolume外掛程式,您可以通過PV和PVC方式使用阿里雲NAS儲存卷。

注意事項

若您在應用模板中配置了securityContext.fsgroup參數,kubelet在儲存卷掛載完成後會執行chmodchown操作,導致掛載時間過長。

說明

若已配置securityContext.fsgroup參數,且需要減少掛載時間。具體操作,請參見NAS儲存卷掛載時間延長

操作步驟

Pod可以通過關聯建立的PV和PVC的方式使用NAS儲存卷。

  1. 建立PV。

    您可以使用YAML檔案或者通過阿里雲Container Service控制台介面建立NAS儲存卷。

    • 通過YAML檔案建立PV。

      使用nas-pv.yaml檔案建立PV。

      apiVersion: v1
      kind: PersistentVolume
      metadata:
        name: pv-nas
      spec:
        capacity:
          storage: 5Gi
        storageClassName: nas
        accessModes:
          - ReadWriteMany
        flexVolume:
          driver: "alicloud/nas"
          options:
            server: "0cd8b4a576-u****.cn-hangzhou.nas.aliyuncs.com"
            path: "/k8s"
            vers: "3"
            options: "nolock,tcp,noresvport"
    • 通過控制台介面建立NAS儲存卷。

      1. 登入Container Service管理主控台

      2. 在控制台左側導覽列中,單擊叢集

      3. 叢集列表頁面中,單擊目的地組群名稱或者目的地組群右側操作列下的詳情

      4. 在叢集管理頁左側導覽列中,選擇儲存 > 儲存卷

      5. 儲存卷頁面的右上方單擊建立

      6. 在建立儲存卷對話方塊中,配置儲存卷的相關參數。

        參數

        描述

        儲存卷類型

        本樣本中為NAS

        名稱

        建立的儲存卷名稱。儲存卷名在叢集內必須唯一。本例為pv-nas

        儲存驅動

        本樣本選擇Flexvolume。

        總量

        所建立儲存卷的容量。注意不能超過NAS檔案系統的儲存容量。

        訪問模式

        預設為ReadWriteMany。

        掛載點網域名稱

        叢集在NAS檔案系統中掛載點的掛載地址。關於NAS檔案系統掛載點的管理,請參見管理掛載點

        子目錄

        NAS路徑下的子目錄,以 / 開頭,設定後儲存卷將掛載到指定的子目錄。

        • 如果NAS根目錄下沒有此子目錄,會預設建立後再掛載。

        • 您可以不填此項,預設掛載到NAS根目錄。

        • 極速NAS需要以/share開頭。

        許可權

        設定掛載目錄的存取權限,例如755、644、777等。

        說明
        • 只有掛載到NAS子目錄時才能設定許可權,掛載到根目錄時無法設定。

        • 當掛載的目錄檔案量較大時不建議此配置,否則會出現chmod長時間執行。

        如果掛載到NAS子目錄時,您可以選擇設定許可權,或者不填此項。

        • 不填此項,預設許可權為NAS檔案原來的許可權。

        • 選擇設定許可權時:

          • 如果是Flexvolume v1.14.6.15-8d3b7e7-aliyun以前版本,則使用遞迴方式進行許可權操作,掛載目錄下面所有檔案、目錄都會被修改許可權。

          • 如果是Flexvolume v1.14.6.15-8d3b7e7-aliyun以及以後版本,配置了此項,按照許可權模式的配置執行許可權操作。

        許可權模式

        定義許可權變更方式,支援非遞迴或遞迴方式。

        • 非遞迴:執行許可權變更時,只對掛載目錄起作用,其子目錄、包含的檔案不進行許可權變更。

        • 遞迴:執行許可權變更時,會對其子目錄、包含的檔案進行遞迴操作,全部變更許可權。

          說明

          當掛載目錄下面檔案數量較多時,使用遞迴方式,會出現執行chmod耗時間長度,從而導致掛載、卸載操作失敗的可能,請謹慎使用。

        版本

        掛載的NAS卷使用的NFS協議版本號碼,推薦使用V3,且極速類型NAS只支援V3。

        標籤

        為該儲存卷添加標籤。

      7. 完成配置後,單擊建立

  2. 建立PVC。

    使用nas-pvc.yaml檔案建立PVC。

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvc-nas
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: nas
      resources:
        requests:
          storage: 5Gi
  3. 建立Pod。

    使用nas-pod.yaml檔案建立Pod。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nas-static
      labels:
        app: nginx
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx
            ports:
            - containerPort: 80
            volumeMounts:
              - name: pvc-nas
                mountPath: /data
          volumes:
            - name: pvc-nas
              persistentVolumeClaim:
                claimName: pvc-nas