日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

通過NFS使用NAS靜態存儲卷

NAS是一種可共享訪問、彈性擴展、高可靠以及高性能的分布式文件系統。本文介紹如何使用阿里云NAS靜態存儲卷,及如何實現持久化存儲與共享存儲。

前提條件

使用場景

  • 對磁盤I/O要求較高的應用。

  • 讀寫性能相對于對象存儲OSS高。

  • 可實現跨主機文件共享,例如可作為文件服務器。

注意事項

使用NAS靜態存儲卷

您可以通過控制臺和kubectl命令行兩種方式進行掛載。

通過控制臺方式使用

步驟一:創建PV

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇存儲 > 存儲卷

  3. 存儲卷頁面,單擊右上角的創建

  4. 創建存儲卷對話框中配置參數。

    配置項

    說明

    存儲卷類型

    支持云盤、NAS、OSS三種云存儲類型。本文中選擇為NAS

    名稱

    創建的數據卷的名稱。數據卷名在集群內必須唯一。本例為pv-nas

    總量

    所創建存儲卷的容量。注意NAS文件系統本身不限制使用量。此處不是NAS文件系統的使用限額,只是所創建存儲卷的容量聲明。

    訪問模式

    支持ReadWriteManyReadWriteOnce。默認為ReadWriteMany

    是否使用CNFS

    是否使用CNFS功能。開啟后,您需要進行以下操作:

    掛載點域名

    您可以通過選擇掛載點或者自定義的方式定義集群在NAS文件系統中掛載點的掛載地址。關于如何查看掛載點地址,請參見查看掛載點地址

    顯示高級選項

    • 掛載路徑:NAS文件系統中的掛載路徑。以/為根目錄,設定后數據卷將掛載到指定的子目錄。

      • 如果NAS根目錄下沒有此子目錄,會默認創建后再掛載。

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

      • 極速NAS需要以/share為父目錄。

    • 回收策略:默認為Delete,支持Retain

      • Delete:需配合archiveOnDelete一起使用。

        • archiveOnDeletetrue時,刪除PVC時,PVNAS文件只會被重命名,不會被刪除。

        • archiveOnDeletefalse時,刪除PVC時,PVNAS文件會被真正刪除。

      • Retain:刪除PVC時,PVNAS文件系統不會被刪除,需要您手動刪除。

      如果數據安全性要求高,推薦使用Retain,以免誤刪數據。

    • 掛載選項:掛載NAS的可選參數,包括NFS協議版本等參數。

      NFS協議版本號推薦使用v3,且極速類型NAS僅支持v3。關于NFS協議的更多信息,請參見NFS協議

    標簽

    為該存儲卷添加標簽。

  5. 參數配置完成后,單擊創建

步驟二:創建PVC

  1. 在集群管理頁左側導航欄,選擇存儲 > 存儲聲明

  2. 存儲聲明頁面,單擊右上角的創建

  3. 在彈出的創建存儲聲明頁面中,填寫界面參數。

    參數

    說明

    存儲聲明類型

    支持云盤、NAS、OSS三種云存儲類型。 本文中選擇NAS

    名稱

    創建的存儲聲明名稱在集群內必須唯一。

    分配模式

    選擇已有存儲卷。

    說明

    若未創建存儲卷,您可以設置分配模式創建存儲卷,配置創建存儲卷參數。更多信息,請參見步驟一:創建PV

    已有存儲卷

    單擊選擇已有存儲卷,在目標存儲卷右側操作列單擊選擇,選擇存儲卷。

    總量

    所創建存儲卷的容量。

    說明

    所創建存儲卷聲明的容量不能超過待掛載的存儲卷容量。

    訪問模式

    默認為ReadWriteMany,也可選擇ReadWriteOnceReadOnlyMany

  4. 配置完成后,單擊創建

    創建成功后可以在列表中看到創建的存儲聲明,并且已綁定相應的存儲卷。

步驟三:創建應用

  1. 在集群管理頁左側導航欄,選擇工作負載 > 無狀態

  2. 無狀態頁面,單擊使用鏡像創建

  3. 配置創建應用的參數信息。

  4. 以下主要為您介紹數據卷的配置。關于其他參數的描述,請參見創建無狀態工作負載Deployment

    ACK數據卷支持配置本地存儲和云存儲。

    • 本地存儲:支持主機目錄(HostPath)、配置項(ConfigMap)、保密字典(Secret)和臨時目錄,將對應的掛載源掛載到容器路徑中。更多信息,請參見Volumes

    • 云存儲:支持云存儲類型。

    本例中配置了一個NAS類型的數據卷,將該NAS存儲卷掛載到容器中/tmp路徑下。

    image.png

  5. 配置完成后,單擊創建

通過kubectl命令行方式使用

NAS靜態存儲卷

  1. 創建靜態PV。

    1. 保存以下示例YAML內容至pv-nas.yaml文件中。

      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   # 必須與PV Name保持一致。
          volumeAttributes:
            server: "2564f4****-ysu87.cn-shenzhen.nas.aliyuncs.com"
            path: "/csi"
        mountOptions:
        - nolock,tcp,noresvport
        - vers=3

      參數

      說明

      name

      PV的名稱。

      labels

      設置PV的標簽。

      storage

      NAS的可使用量。

      accessModes

      配置訪問模式。默認為ReadWriteMany,支持ReadWriteOnceReadOnlyMany

      driver

      驅動類型。本例中取值為nasplugin.csi.alibabacloud.com,表示使用阿里云NAS CSI插件。

      volumeHandle

      配置PV的唯一標識符,必須與PV Name保持一致。若需要同時使用多個PV,則各個PV中該值必須不一致。

      server

      NAS掛載點。

      重要

      需要替換為實際的掛載點地址,如何查看掛載點地址,具體操作,請參見查看掛載點地址

      path

      掛載子目錄,極速NAS需要以/share為父目錄。

      vers

      掛載NAS數據卷的NFS協議版本號,推薦使用v3,極速類型NAS僅支持v3。關于NFS協議的更多信息,請參見NFS協議

    2. 執行以下命令創建靜態PV。

      kubectl create -f pv-nas.yaml
  2. 創建NAS存儲聲明PVC,使用selector篩選PV,精確配置PVCPV的綁定關系。

    1. 保存以下示例YAML內容至pvc-nas.yaml文件中。

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

      參數

      說明

      name

      PVC的名稱。

      accessModes

      配置訪問模式。默認為ReadWriteMany,支持ReadWriteOnceReadOnlyMany

      storage

      聲明應用使用量,不能大于存儲卷的總量。

      matchLabels

      輸入PV的標簽,用于關聯PV。

    2. 執行以下命令創建靜態PVC。

      kubectl create -f pvc-nas.yaml
  3. 創建名為nas-static的應用,并掛載PVC。

    1. 以下為創建nas-static應用的nas.yaml示例文件。

      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: nginx
              ports:
              - containerPort: 80
              volumeMounts:
                - name: pvc-nas
                  mountPath: "/data"
            volumes:
              - name: pvc-nas
                persistentVolumeClaim:
                  claimName: pvc-nas

      參數

      說明

      mountPath

      NAS在容器中掛載的位置。

      claimName

      PVC的名稱,用于綁定PVC。

    2. 執行以下命令創建名為nas-static的應用,并掛載PVC。

      kubectl create -f nas.yaml
  4. 執行以下命令,查看Pod信息。

    kubectl get pod

    預期輸出:

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

驗證NAS的持久化存儲

  1. 查看部署應用和NAS文件。

    1. 執行以下命令,查看部署的應用名稱。

      kubectl get pod 

      預期輸出:

      NAME                          READY   STATUS    RESTARTS   AGE
      nas-static-5b5cdb85f6-n****   1/1     Running   0          32s
      nas-static-c5bb4746c-4****    1/1     Running   0          32s
    2. 執行以下命令,查看任意一個應用的/data路徑下的文件,本文以名為nas-static-5b5cdb85f6-n****Pod為例。

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

      無返回結果,說明/data路徑下無文件。

  2. 執行以下命令,在名為nas-static-5b5cdb85f6-n****Pod/data路徑下創建文件nas

    kubectl exec nas-static-5b5cdb85f6-n**** -- touch /data/nas
  3. 執行以下命令,查看名為nas-static-5b5cdb85f6-n****Pod/data路徑下的文件。

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

    預期輸出:

    nas
  4. 執行以下命令,刪除Pod。

    kubectl delete pod nas-static-5b5cdb85f6-n****
  5. 同時在另一個窗口中,執行以下命令,查看Pod刪除及Kubernetes重建Pod的過程。

    kubectl get pod -w -l app=nginx
  6. 驗證刪除Pod后,NAS里創建的文件是否還存在。

    1. 執行以下命令,查看Kubernetes重建的Pod名稱。

      kubectl get pod

      預期輸出:

      NAME                                READY   STATUS    RESTARTS   AGE
      nas-static-5b5cdb85f6-n****   1/1     Running   0          32s
      nas-static-c5bb4746c-4****    1/1     Running   0          32s
    2. 執行以下命令,查看名為nas-static-5b5cdb85f6-n****Pod /data路徑下的文件。

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

      預期輸出:

      nas

      nas文件仍然存在,說明NAS的數據可持久化保存。

驗證NAS的共享存儲

  1. 查看部署的應用所在的PodNAS文件。

    1. 執行以下命令,查看應用所在的Pod名稱。

      kubectl get pod 

      預期輸出:

      NAME                          READY   STATUS    RESTARTS   AGE
      nas-static-5b5cdb85f6-n****   1/1     Running   0          32s
      nas-static-c5bb4746c-4****    1/1     Running   0          32s
    2. 執行以下命令,查看兩個Pod /data路徑下的文件。

      kubectl exec nas-static-5b5cdb85f6-n**** -- ls /data
      kubectl exec nas-static-c5bb4746c-4**** -- ls /data
  2. 執行以下命令,在任意一個Pod /data路徑下創建文件nas

     kubectl exec nas-static-5b5cdb85f6-n**** -- touch /data/nas
  3. 執行以下命令,查看兩個Pod /data路徑下的文件。

    1. 執行以下命令,查看名為nas-static-5b5cdb85f6-n****Pod /data路徑下的文件。

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

      預期輸出:

      nas
    2. 執行以下命令,查看名為nas-static-c5bb4746c-4****Pod /data路徑下的文件。

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

      預期輸出:

      nas

      如果在任意一個Pod/data下創建的文件,在兩個Pod下的/data路徑下均存在此文件,表明兩個Pod共享一個NAS。