分布式工作流Argo集群(简称工作流集群或Serverless Argo Workflows)采用无服务器模式,使用阿里云弹性容器实例ACS(白名单开放)/ECI运行工作流,通过优化开源工作流引擎性能及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(广州)、中国香港、新加坡、马来西亚(吉隆坡)、印度尼西亚(雅加达)、日本(东京)、德国(法兰克福)、英国(伦敦)、美国(硅谷)、泰国(曼谷)。如有其他地域的需求,请加入钉钉群(钉钉群号:35688562),联系产品技术专家进行咨询。
创建或选择一个VPC专有网络。
创建或选择交换机。
规划交换机的网段,保证可用IP数量以满足Argo workflow的运行要求。因为Argo Workflows工作流在运行过程中可能会创建大量的Kubernetes Pod,每个Pod运行过程中都会消耗一个交换机的IP。
在所选地域的每个可用区创建一个交换机,并使用多个交换机的ID作为创建工作流引擎实例的输入。工作流引擎实例将自动选择库存充足的可用区创建ACS Pod/ECI,从而满足大规模工作流的运行。否则,若可用区库存不足,将导致工作流不能获取ACS Pod/ECI资源而运行失败。