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

ACS掛載CPFS智算版文件系統

更新時間:

本文介紹如何在容器計算服務中靜態掛載CPFS智算版文件系統,并驗證CPFS的共享存儲和持久化存儲。

背景信息

ACS的容器存儲功能基于Kubernetes容器存儲接口(CSI),融合云盤、NAS、OSS等阿里云存儲服務,并兼容Kubernetes原生的EmptyDir、ConfigMap等存儲。對于AIGC、自動駕駛等智算場景,建議選擇CPFS智算版作為持久化存儲卷。

CPFS智算版是阿里云面向AI服務推出的全新升級存儲系統。通過創新的分布式并行存儲架構設計,自研的高性能RoCE RDMA網絡協議和虛擬存儲通道技術,以及多級緩存彈性客戶端,實現高吞吐、低延遲、Serverless化的高性能存儲能力

前提條件

  • 已創建CPFS智算版文件系統。具體操作,請參見創建文件系統

  • ACS集群中已安裝最新版本的managed-csiprovisioner組件。

    說明

    您可以在ACS集群管理頁的左側導航欄選擇運維管理 > 組件管理,在存儲頁簽下查看managed-csiprovisioner組件的安裝情況。

使用限制

僅支持在高性能網絡GPU型工作負載中掛載CPFS智算版文件系統。

注意事項

CPFS為共享存儲。一個CPFS存儲卷可以掛載到多個Pod上。

靜態掛載CPFS存儲卷

步驟一:創建PV

  1. 連接集群。具體操作,請參見獲取集群KubeConfig并通過kubectl工具連接集群CloudShell上通過kubectl管理Kubernetes集群

  2. 將以下YAML內容保存為pv.yaml。

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: bmcpfs-gpu-hpn
    spec:
      accessModes:
      - ReadWriteMany
      capacity:
        storage: 10Ti
      claimRef:
        name: bmcpfs-gpu-hpn
        namespace: default
      csi:
        driver: povplugin.csi.alibabacloud.com
        volumeAttributes:
          filesystemId: bmcpfs-*****
          path: /
        volumeHandle: bmcpfs-*****
      persistentVolumeReclaimPolicy: Retain
      storageClassName: alibaba-cloud-cpfs-premium

    相關參數說明如下:

    參數

    說明

    accessModes

    訪問模式。

    capacity

    聲明存儲卷容量。

    claimRef

    綁定的 PVC 的namespacename

    csi.driver

    驅動類型,必須設置為povplugin.csi.alibabacloud.com

    csi.volumeAttributes

    • filesystemIdCPFS智算版文件系統ID,例如bmcpfs-*****

    • path默認為/表示掛載CPFS文件系統的根目錄,支持設置為子目錄,如/dir。如果子目錄不存在,會在掛載時被自動創建。

    csi.volumeHandle

    設置為CPFS智算版文件系統ID。

    persistentVolumeReclaimPolicy

    回收策略,必須設置為Retain

  3. 創建PV。

    kubectl create -f pv.yaml

步驟二:創建PVC

  1. 將以下YAML內容保存為pvc.yaml。

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: bmcpfs-gpu-hpn
    spec:
      accessModes:
      - ReadWriteMany
      storageClassName: alibaba-cloud-cpfs-premium
      volumeName: bmcpfs-gpu-hpn
      resources:
        requests:
          storage: 10Ti

    相關參數說明如下:

    參數

    說明

    accessModes

    訪問模式。

    volumeName

    設置為之前創建的PV名。

    resources.requests

    容量不大于PV容量即可。

  2. 創建PVC。

    kubectl create -f pvc.yaml
  3. 檢查PVC完成綁定。

    kubectl get pvc bmcpfs-gpu-hpn

    返回示例如下:

    NAME             STATUS   VOLUME           CAPACITY   ACCESS MODES   STORAGECLASS                 VOLUMEATTRIBUTESCLASS   AGE
    bmcpfs-gpu-hpn   Bound    bmcpfs-gpu-hpn   10Ti       RWX            alibaba-cloud-cpfs-premium   <unset>                 10s

步驟三:創建應用并掛載CPFS

  1. 使用以下YAML內容,創建cpfs-test.yaml文件。

    以下YAML示例可以創建包含2PodDeployment,2Pod均通過alibabacloud.com/compute-class: gpu-hpn聲明要使用GPU型算力,并且通過名為cpfs-pvcPVC申請存儲資源,掛載路徑均為/data

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: cpfs-test
      labels:
        app: cpfs-test
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: cpfs-test
      template:
        metadata:
          labels:
            app: cpfs-test
            alibabacloud.com/compute-class: gpu-hpn
        spec:
          containers:
          - name: nginx
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
            ports:
            - containerPort: 80
            volumeMounts:
              - name: pvc-cpfs
                mountPath: /data
          volumes:
            - name: pvc-cpfs
              persistentVolumeClaim:
                claimName: bmcpfs-gpu-hpn
  2. 創建Deployment并掛載CPFS。

    kubectl create -f cpfs-test.yaml
  3. 查看DeploymentPod的部署情況。

    kubectl get pod | grep cpfs-test

    返回示例如下,已創建2Pod。

    cpfs-test-****-***a   1/1     Running   0          45s
    cpfs-test-****-***b   1/1     Running   0          45s
  4. 查看掛載路徑。

    命令示例如下,預期會返回CPFS智算版文件系統掛載目錄下的數據。默認為空。

    kubectl exec cpfs-test-****-***a -- ls /data

驗證CPFS的共享存儲和持久化存儲

按照上文示例創建的Deployment中含有2Pod,2Pod同時掛載了同一CPFS智算版文件系統。您可以通過以下方式進行驗證:

  • 在一個Pod中創建文件,然后另一個Pod中查看文件,以此來驗證共享存儲。

  • 重建Deployment,然后在新創建的Pod中查看文件系統中的數據是否存在,以此來驗證持久化存儲。

  1. 查看Pod信息。

    kubectl get pod | grep cpfs-test

    返回示例如下:

    cpfs-test-****-***a   1/1     Running   0          45s
    cpfs-test-****-***b   1/1     Running   0          45s
  2. 驗證共享存儲。

    1. 在一個Pod中創建文件。

      以名為cpfs-test-****-***aPod作為示例:

      kubectl exec cpfs-test-****-***a -- touch /data/test.txt
    2. 在另一個Pod中查看文件。

      以名為cpfs-test-****-***bPod作為示例:

      kubectl exec cpfs-test-****-***b -- ls /data

      預期返回如下,可以看到已共享新建的文件test.txt

      test.txt
  3. 驗證持久化存儲。

    1. 重建Deployment。

      kubectl rollout restart deploy cpfs-test
    2. 查看Pod,等待新Pod創建成功。

      kubectl get pod | grep cpfs-test

      返回示例如下:

      cpfs-test-****-***c   1/1     Running   0          78s
      cpfs-test-****-***d   1/1     Running   0          52s
    3. 在新Pod中查看文件系統中的數據是否存在。

      以名為cpfs-test-c***Pod作為示例:

      kubectl exec cpfs-test-****-***c -- ls /data

      預期返回如下,可以看到CPFS智算版文件系統中的數據依然存在,在新Pod的掛載目錄下可以重新獲取。

      test.txt