全部產品
Search
文件中心

Container Service for Kubernetes:基於Serverless Argo構建大規模高效低成本CI Pipeline

更新時間:Mar 07, 2025

ACK One的分布式工作流程Argo叢集(簡稱工作流程叢集)作為一款完全遵循社區規範的全託管式Argo Workflows服務,致力於處理大規模計算密集型作業,通過整合阿里雲ECI實現自動擴充、按需擴容以及彈性擴縮容,並支援使用Spot ECI(搶佔式ECI執行個體)可以大幅降低使用成本。本文為您介紹基於工作流程叢集構建的CI Pipeline方案的優勢、解決的問題、方案架構及最佳實務操作。

方案優勢

Argo Workflows構建在Kubernetes之上,伴隨Kubernetes一起經過了長時間大量使用者的考驗,其Autoscaling和並發等能力,使得Argo Workflows可以處理大規模的Pipelines,並具有更快的運行速度和更低的使用成本。開發人員能夠更加聚焦於業務功能,專註為客戶提供和傳播更多的產品價值。

並且Argo Workflows支援與Argo生態的Argo CD、Argo Rollout、Argo Event無縫整合,為CI等情境提供更強大的能力。

您可以基於Argo Workflows來構建更加雲原生、大規模、高效率、低成本的CI Pipeline。

相較於Jenkins,Argo Workflows有諸多優勢。具體差異如下:

對比項

Argo Workflows

Jenkins

是否為Kubernetes原生

Kubernetes原生,因此也具有K8s管理容器的部分優勢,如:

  • 容器故障後自動回復。

  • Auto Scaling。

  • 支援RBAC許可權管理,配合Argo的整合SSO能力,更容易實現企業的多租戶隔離情境。

非Kubernetes原生

Autoscaling、並發性、使用效能

  • Argo一般被用來處理大規模Pipeline專案,支援自動擴充。

  • 可並發運行,執行效率更高。

  • Jenkins更適合規模較小的情境,在處理大量Pipelines時,效能下降。自動擴充能力差。

  • 並發不足,已耗用時間長。

使用成本

  • 支援自動調整,使成本最小化。

  • 原生支援Spot ECI運行任務,降低使用成本。

Jenkins採用空閑計算容易造成成本浪費。

社區與生態

Argo社區不斷壯大,與其生態的Argo CD、Argo Rollout、Argo Event的無縫整合,為CI等情境提供更強大的能力。

Jenkins社區成熟、資源豐富,大量外掛程式降低使用門檻。

但隨著時間推移,外掛程式更新和許可權管理極大增加營運成本,使開發人員投入更多精力在維護外掛程式上,而非聚焦業務功能和為客戶提供價值。

解決問題

  • 可應用於Kubernetes原生的CI系統。

  • 使用效能不會隨著Pipeline數量的增加而衰減。

  • 自動擴充能力和並發能力強,可支援Pipeline快速運行,減少空閑計算造成的成本浪費。

  • 支援RBAC許可權管理,整合Argo的SSO能力,可實現企業的多租戶隔離情境。

  • 支援Spot ECI(搶佔式ECI執行個體)運行任務,可大幅降低使用成本。

方案架構

最佳實務操作

具體最佳實務操作,請參見基於分布式工作流程Argo叢集構建大規模、高效率、低成本CI Pipeline

相關文檔

瞭解更多工作流程叢集資訊,請參見分布式工作流程Argo叢集概述