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

如何使用Argo Workflow安全高效管理文件

工作流集群是一個全托管的Argo服務,專注于高效安全的文件管理,并提供了一些增強功能。它在批處理、數(shù)據(jù)處理和持續(xù)集成等場景中比標準的Argo Workflows更具優(yōu)勢。本文將介紹工作流集群如何實現(xiàn)高效安全的文件管理。

復雜工作流編排的存儲難題

Argo Workflows是一個開源的云原生工作流引擎,也是CNCF的畢業(yè)項目。Argo Workflows可以自動化管理Kubernetes上的復雜工作流程,適用于多種場景,如定時任務、機器學習、ETL和數(shù)據(jù)分析、模型訓練、數(shù)據(jù)流Pipeline以及CI/CD等。

image

在使用Argo Workflows進行任務編排時,尤其是在數(shù)據(jù)量大的場景下,如模型訓練、數(shù)據(jù)處理、生物信息學分析等,如何高效管理和存儲Artifacts是非常重要的一環(huán)。然而,采用開源方案可能面臨以下挑戰(zhàn)。

  • 超大文件無法上傳:對于超過5 GiB的文件,因客戶端上傳限制而導致上傳失敗。

  • 缺乏文件清理機制:隨著工作流執(zhí)行的推進,中間產(chǎn)生的臨時文件或已完成任務的輸出結果若未及時清理,會導致OSS存儲空間的浪費。

  • Argo Server磁盤占用過高:在使用Argo Server下載文件時,需要先落盤再傳輸,高磁盤占用不僅影響服務器性能,還可能導致服務中斷或數(shù)據(jù)丟失。

分布式工作流Argo集群作為一款完全遵循社區(qū)規(guī)范的全托管式Argo Workflows服務,專注于解決大規(guī)模、高安全性的文件管理工作挑戰(zhàn)。其一系列重要增強功能包括超大文件分片上傳、Artifacts垃圾回收(GC)以及Artifacts流式傳輸。這些特性旨在幫助用戶在阿里云環(huán)境下實現(xiàn)對OSS文件的高效、安全和精細管理。

image

分布式工作流Argo集群作為全托管的Argo工作流服務,在Artifacts文件管理上相比于開源方案具有以下優(yōu)勢:

OSS文件管理能力

分布式工作流Argo集群

開源Argo Workflows

文件上傳

支持超大文件分片上傳

僅支持 < 5 GiB,超大文件暫不支持

文件回收

支持Artifacts垃圾回收(GC)

不支持文件回收

文件下載

支持流式傳輸

需要落盤,過程繁瑣

方案一:支持超大文件上傳

Argo開源方案不支持超大文件上傳,限制了其在數(shù)據(jù)密集型任務中的應用。為解決這一問題,分布式工作流Argo集群優(yōu)化了超大文件上傳至OSS的邏輯,支持分片和斷點續(xù)傳,顯著提升了大文件處理效率和可靠性。優(yōu)化后的方案還能獨立校驗每個分片完整性,進一步增強數(shù)據(jù)完整性和系統(tǒng)容錯能力。

使用示例

該功能在工作流集群中默認開通,在配置Artifacts后,提交示例工作流,即可在OSS上獲得一個大小為20 GiB的文件testfile.txt,證明超大文件已上傳。

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: artifact-
spec:
  entrypoint: main
  templates:
    - name: main
      metadata:
        annotations:
          k8s.aliyun.com/eci-extra-ephemeral-storage: "20Gi"   # 自定義設置要增加的臨時存儲空間大小。
          k8s.aliyun.com/eci-use-specs : "ecs.g7.xlarge"
      container:
        image: alpine:latest
        command:
          - sh
          - -c
        args:
          - |
            mkdir -p /out
            dd if=/dev/random of=/out/testfile.txt bs=20M count=1024   # 生成20 GiB的文件。
            echo "created files!"
      outputs:    # 觸發(fā)文件上傳到OSS。
        artifacts:
          - name: out
            path: /out/testfile.txt

方案二:配置文件清理機制

開源的Argo方案無法實現(xiàn)OSS文件的自動回收,增加了用戶的使用和運維成本。Argo Workflows的Artifacts垃圾回收(GC)機制主要用于在工作流結束后清理不再需要的文件,如中間結果、日志等,從而節(jié)省存儲空間和成本,避免存儲資源的無限制地被消耗。

工作流集群優(yōu)化了OSS上的文件清理方法,用戶只需配置簡單的回收邏輯,就可以實現(xiàn)以下功能:

  • 自動清理:在工作流完成后,或在管理員手動清理工作流相關資源一定時間后,自動回收上傳至OSS的文件。

  • 靈活配置回收:您可以選擇只為成功的工作流任務配置回收策略,避免清理失敗日志,便于后續(xù)追蹤定位問題,或者選擇只為失敗的工作流任務配置回收策略,清除無效的中間產(chǎn)出。

  • 生命周期管理策略:利用OSS提供的生命周期管理策略,您可以設置規(guī)則,根據(jù)時間、前綴等參數(shù),自動刪除舊的Artifacts,或將早期的Artifacts歸檔至冷存儲。這樣不僅能夠確保數(shù)據(jù)完整性,也可以有效降低存儲成本。

使用示例

通過配置Artifacts垃圾回收(GC)策略,可以啟用該功能。以下示例中,工作流整體的Artifacts垃圾回收(GC)策略為刪除后回收,其中on-completion.txt文件的回收策略為完成時回收。提交該工作流后,可以在OSS上觀察到,工作流完成時on-completion.txt文件被回收,刪除工作流后on-deletion.txt文件也會被回收。

apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  generateName: artifact-gc-
spec:
  entrypoint: main
  artifactGC:
    strategy: OnWorkflowDeletion  # 全局回收策略,在Workflow被刪除時回收Artifact,可被覆蓋。
  templates:
    - name: main
      container:
        image: argoproj/argosay:v2
        command:
          - sh
          - -c
        args:
          - |
            echo "hello world" > /tmp/on-completion.txt
            echo "hello world" > /tmp/on-deletion.txt
      outputs: # 上傳文件到OSS。
        artifacts:
          - name: on-completion
            path: /tmp/on-completion.txt
            artifactGC:
              strategy: OnWorkflowCompletion  # 覆蓋全局回收策略,在Workflow完成時回收Artifact。
          - name: on-deletion
            path: /tmp/on-deletion.txt

方案三:支持流式傳輸機制

使用開源方案時,Argo Server在下載文件時需要先寫入磁盤再傳輸,這可能導致較高的磁盤占用率,從而影響服務器性能,甚至可能導致服務中斷或數(shù)據(jù)丟失。

工作流集群實現(xiàn)了OSS的OpenStream接口,當您在Argo Workflows UI界面下載文件時,Argo Server可以直接將OSS服務端的文件流式傳輸給用戶,并非將文件完整下載到服務器本地再提供給用戶。這種流式傳輸機制特別適合處理大規(guī)模數(shù)據(jù)傳輸和存儲的工作流任務,具有以下優(yōu)勢。

  • 提升下載性能:通過流式傳輸文件直接從OSS服務端傳輸,無需等待整個文件下載到Argo Server,從而減少下載開始的延遲,提升響應速度,提供更流暢的體驗。

  • 減少資源占用以增強并發(fā)能力:流式處理降低了Argo Server對內存和磁盤的需求,使其能在相同硬件資源下處理更多的并行文件傳輸請求,提高了系統(tǒng)的并發(fā)處理能力。隨著使用者數(shù)量增加或文件大小增大,直接通過流式傳輸可以更好地擴展服務來處理這種增長,不必擔心Argo Server的磁盤空間限制。

  • 提升安全合規(guī)性:避免了數(shù)據(jù)在Argo Server空間中的臨時存儲,減小了安全風險和數(shù)據(jù)泄露的可能性,更有效地遵循數(shù)據(jù)保護和合規(guī)性要求。

通過流式傳輸Artifacts文件,Argo Server能夠減輕單點壓力,同時提升UI文件下載的性能,從而有效轉型為輕量級的數(shù)據(jù)流轉中心,而非存儲和計算的重負載中心。

聯(lián)系我們

如果您對于ACK One有任何疑問,歡迎使用釘釘搜索釘釘群號35688562加入釘釘群。