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

加速Argo任務數據訪問

Fluid支持在Serverless場景下,通過JindoRuntime優化對象存儲的訪問,該訪問支持緩存模式和無緩存模式。本文介紹如何使用無緩存模式加速Argo任務數據訪問。

前提條件

  • 已創建一個非ContainerOS操作系統的ACK Pro版集群,且集群版本為1.18及以上。具體操作,請參見創建ACK Pro版集群

    重要

    ack-fluid組件暫不支持在ContainerOS操作系統上使用。

  • 已安裝云原生AI套件并部署ack-fluid組件。

    重要
    • 若您已安裝開源Fluid,請卸載后再部署ack-fluid組件。

    • 由于云原生AI套件中組件ack-ai-pipelineack-workflow存在功能沖突,如果您想使用加速Argo任務數據訪問功能,需要您在部署云原生AI套件時取消勾選Kubeflow Pipelines組件。

  • 已通過kubectl連接Kubernetes集群。具體操作,請參見通過kubectl工具連接集群

  • 已開通阿里云對象存儲(OSS)服務和存儲空間(Bucket)。具體操作,請參見開通OSS服務控制臺創建存儲空間

使用限制

本功能與ACK彈性調度功能沖突,暫不支持同時使用。關于彈性調度功能的更多信息,請參見自定義彈性資源優先級調度

步驟一:上傳測試數據到OSS Bucket

  1. 創建一個2 GB的測試文件,本文以test為例。

  2. 將測試文件上傳到阿里云OSS對應的Bucket。

    您可以通過OSS提供的客戶端工具ossutil上傳數據。具體操作,請參見安裝ossutil

步驟二:創建Dataset和JindoRuntime

K8s和OSS環境配置完成后,您只需要耗費幾分鐘即可完成Dataset和JindoRuntime環境的部署。

  1. 使用以下內容,創建secret.yaml文件。

    創建Dataset之前,您可以創建如下YAML文件,保存OSS的fs.oss.accessKeyIdfs.oss.accessKeySecret

    apiVersion: v1
    kind: Secret
    metadata:
      name: access-key
    stringData:
      fs.oss.accessKeyId: ****
      fs.oss.accessKeySecret: ****
  2. 執行以下命令,部署Secret。

    kubectl create -f secret.yaml
  3. 使用以下內容,創建resource.yaml文件。

    YAML文件中包含以下兩部分信息:

    • Dataset:定義遠端存儲數據集和UFS的信息。

    • JindoRuntime:啟動一個JindoFS的集群,提供緩存服務。

    apiVersion: data.fluid.io/v1alpha1
    kind: Dataset
    metadata:
      name: serverless-data
    spec:
      mounts:
      - mountPoint: oss://large-model-sh/
        name: demo
        path: /
        options:
          fs.oss.endpoint: oss-cn-shanghai.aliyuncs.com
        encryptOptions:
          - name: fs.oss.accessKeyId
            valueFrom:
              secretKeyRef:
                name: access-key
                key: fs.oss.accessKeyId
          - name: fs.oss.accessKeySecret
            valueFrom:
              secretKeyRef:
                name: access-key
                key: fs.oss.accessKeySecret
      accessModes:
        - ReadWriteMany
    ---
    apiVersion: data.fluid.io/v1alpha1
    kind: JindoRuntime
    metadata:
      name: serverless-data
    spec:
      master:
        disabled: true
      worker:
        disabled: true

    部分參數說明如下:

    參數

    說明

    mountPoint

    表示掛載UFS的路徑,路徑格式為oss://<oss_bucket>/<bucket_dir>

    路徑中不需要包含Endpoint信息。如果您直接訪問Bucket,可以不配置<bucket_dir>

    fs.oss.endpoint

    表示OSS Bucket的Endpoint信息,配置您的公網或私網地址。

    配置私網地址可以提高數據訪問性能,但是需要您的K8s集群所在區域和OSS區域相同。例如您的Bucket在杭州Region,則公網地址為oss-cn-hangzhou.aliyuncs.com,私網地址為oss-cn-hangzhou-internal.aliyuncs.com

    fs.oss.accessKeyId

    表示OSS Bucket的AK ID信息,有權限訪問Bucket。

    fs.oss.accessKeySecret

    表示OSS Bucket的AK ID密鑰信息,有權限訪問Bucket。

    accessModes

    表示支持的讀寫模式。讀寫模式包括ReadWriteOnceReadOnlyManyReadWriteManyReadWriteOncePod,默認為ReadOnlyMany

    disabled

    Master和Worker都配置為true,表示開啟無緩存模式。

  4. 執行以下命令,部署JindoRuntime和Dataset。

    kubectl create -f resource.yaml
  5. 執行以下命令,查看Dataset的部署情況。

    kubectl get dataset serverless-data

    預期輸出:

    NAME              UFS TOTAL SIZE   CACHED   CACHE CAPACITY   CACHED PERCENTAGE   PHASE   AGE
    serverless-data                                                                  Bound   1d

    由預期輸出得到,PHASEBound,表示Dataset部署成功。

  6. 執行以下命令,查看JindoRuntime的部署情況。

    kubectl get jindo serverless-data

    預期輸出:

    NAME              MASTER PHASE   WORKER PHASE   FUSE PHASE   AGE
    serverless-data                                 Ready        3m41s

    由預期輸出得到,FUSEReady,表示JindoRuntime部署成功。

步驟三:創建Argo類型任務訪問OSS

您可以通過創建應用容器來使用JindoFS加速服務,或者提交機器學習作業來體驗相關功能。本文以創建Argo類型任務訪問OSS為例進行說明。

  1. 使用以下內容,創建workflow.yaml文件。

    apiVersion: argoproj.io/v1alpha1
    kind: Workflow
    metadata:
      generateName: serverless-workflow-
    spec:
      entrypoint: serverless-workflow-example
      volumes:
      - name: datadir
        persistentVolumeClaim:
          claimName: serverless-data
    
      templates:
      - name: serverless-workflow-example
        steps:
        - - name: copy
            template: copy-files
        - - name: check
            template: check-files
    
      - name: copy-files
        metadata:
          labels:
           alibabacloud.com/fluid-sidecar-target: eci
           alibabacloud.com/eci: "true"
          annotations:
             k8s.aliyun.com/eci-use-specs: ecs.g7.4xlarge
        container:
          image: debian:buster
          command: [bash, -c]
          args: ["time cp -r /data/ /tmp"]
          volumeMounts:
          - name: datadir
            mountPath: /data
    
      - name: check-files
        metadata:
          labels:
            alibabacloud.com/fluid-sidecar-target: eci
            alibabacloud.com/eci: "true"
          annotations:
             k8s.aliyun.com/eci-use-specs: ecs.g7.4xlarge
        container:
          image: debian:buster
          command: [bash, -c]
          args: ["du -sh /data; md5sum /data/*"]
          volumeMounts:
          - name: datadir
            mountPath: /data
  2. 執行以下命令,創建工作流。

    kubectl create -f workflow.yaml
  3. 執行以下命令,查看啟動日志。

    kubectl logs serverless-workflow-85sbr-4093682611

    預期輸出:

    real    0m24.966s
    user    0m0.009s
    sys     0m0.677s

    由預期輸出得到,文件的拷貝時間real0m24.966s。拷貝時間取決于網絡延時和帶寬,如果您希望加速數據訪問,請參見使用緩存模式加速Argo任務數據訪問

  4. 檢查通過Fluid讀取的文件和本地文件是否一致。

    1. 執行以下命令,查看通過Fluid讀取的文件MD5校驗值。

      kubectl logs serverless-workflow-85sbr-1882013783

      預期輸出:

      1.2G    /data
      871734851bf7d8d2d1193dc5f1f692e6  /data/wwm_uncased_L-24_H-1024_A-16.zip
    2. 執行以下命令,查看本地文件MD5校驗值。

      md5sum ./wwm_uncased_L-24_H-1024_A-16.zip

      預期輸出:

      871734851bf7d8d2d1193dc5f1f692e6  ./wwm_uncased_L-24_H-1024_A-16.zip

      由預期輸出得到,MD5校驗值一致,表示通過Fluid讀取的文件和本地文件一致。

步驟四:清理環境

當您不再使用數據訪問功能時,請及時清理環境。具體操作如下:

  1. 執行以下命令,刪除應用容器。

    kubectl delete workflow serverless-workflow-85sbr
  2. 執行以下命令,刪除Dataset。

    kubectl delete dataset serverless-data