分布式工作流程Argo叢集(簡稱工作流程叢集或Serverless Argo Workflows)採用無伺服器模式,使用阿里雲容器計算服務ACS/Elastic Container Instance運行工作流程,通過最佳化開源工作流程引擎效能及Kubernetes叢集參數,實現大規模工作流程的高效彈性調度,同時配合Best Effort執行個體/搶佔式ECI執行個體,最佳化成本。本文介紹工作流程叢集的控制台操作入口、功能優勢、原理圖和網路規劃。
控制台操作入口
適用情境
Argo Workflows是一個強大的雲原生工作流程引擎,是CNCF畢業專案,畢業意味著該專案符合使用者採用、安全、廣泛度的最高標準。其使用情境主要包括批量資料處理、機器學習Pipeline、基礎設施自動化、CI/CD等。在自動駕駛、科學計算、金融量化、數位媒體等行業均有非常廣泛的實踐。

Argo Workflows擁有以下幾大特性讓其在批量任務編排領域脫穎而出:
雲原生:專為Kubernetes而設計,每個任務都是一個Pod,是Kubernetes上最受歡迎的工作流程引擎。
輕量可擴充:輕量化,無VM開銷。彈性可擴充,可並行啟動數千個任務。
強大的編排能力:可以編排各種類型任務,包括普通Job、Spark、Ray、Tensor Job等。
Serverless Argo Workflows優勢
工作流程叢集基於開源Argo Workflow專案構建,完全符合開源工作流程標準,如果您已在ACK叢集或者其他Kubernetes叢集運行Argo工作流程,無需修改現有工作流程,可以無縫遷移至工作流程叢集。
通過工作流程叢集,您可以輕鬆編排工作流程,每個工作流程步驟使用容器運行,可以在短時間內輕鬆運行大規模機器學習或資料處理的計算密集型作業,可以快速運行CI/CD流水線。
基於開源Argo Workflows,無需修改現有Argo工作流程可無縫遷移。
開箱即用,無營運成本,無需關心版本升級,專註工作流程運行。
極致彈性,自動擴充,資源用完即釋放,有效最佳化計算成本。
可靠性高,多可用性區域負載平衡,調度可靠性高。
增強控制面,效能、效率、穩定性、可觀測性大幅提升。
OSS儲存管理增強,支援大檔案上傳、Artifacts GC、串流。
社區專家支援,協助業務團隊最佳化工作流程,有效提升運行效能、降低成本。
原理圖
工作流程叢集是無伺服器Serverless工作流程引擎,基於Kubernetes叢集構建,託管了開源Argo Workflows。
網路規劃
目前開放地區:華北2(北京)、華東1(杭州)、華東2(上海)、華南1(深圳)、華北2(張家口)、華南2(河源)、華南3(廣州)、中國香港、新加坡、馬來西亞(吉隆坡)、印尼(雅加達)、日本(東京)、德國(法蘭克福)、英國(倫敦)、泰國(曼穀)。如有其他地區的需求,請加入DingTalk群(DingTalk群號:35688562),聯絡產品技術專家進行諮詢。
建立或選擇一個VPC專用網路。
建立或選擇交換器。
規劃交換器的網段,保證可用IP數量以滿足Argo workflow的運行要求。因為Argo Workflows工作流程在運行過程中可能會建立大量的Kubernetes Pod,每個Pod運行過程中都會消耗一個交換器的IP。
在所選地區的每個可用性區域建立一個交換器,並使用多個交換器的ID作為建立工作流程引擎執行個體的輸入。工作流程引擎執行個體將自動選擇庫存充足的可用性區域建立ACS Pod/ECI,從而滿足大規模工作流程的運行。否則,若可用性區域庫存不足,將導致工作流程不能擷取ACS Pod/ECI資源而運行失敗。