使用ECI运行Job任务

ECI支持秒级启动,按需扩容。对于短时间运行的Job任务,使用ECI来运行可以避免资源闲置浪费,在满足业务需求的同时有效降低使用成本,提升集群的弹性能力和资源利用率。

背景信息

对于大多数Kubernetes集群,通常需要同时支撑在线和离线的多种负载,在线负载流量的波动性和离线计算任务的时间不确定性,导致在不同时刻下,负载的资源需求呈波峰波谷状。比如很多企业需要在周末、月中和月末进行大批量的数据计算,在特定的时间点需要大量的计算力,以应对突发的计算资源需求。

目前Kubernetes通常的方法是通过autoscaler来自动扩容节点,直到Pod被成功调度运行,当Pod执行完成后会自动回收临时节点。使用这种扩容方式,Pod一般需要等待2分钟甚至更多时间才能被调度运行。

针对上述场景,推荐您使用ECI来运行Job任务。ECI通过虚拟节点的方式接入Kubernetes集群,支持秒级启动,按需扩容,能够很好地提升集群的弹性能力。使用ECI来运行Job任务,您无需提前预估业务流量,预留闲置资源,在满足业务需求的同时能够有效降低使用和运维成本。

操作说明

根据您的Kubernetes集群类型,请参考以下文档操作:

  • 如果您使用阿里云ACK集群,需要部署虚拟节点,以便使用ECI来运行Job任务。具体操作,请参见基于ECI运行Job任务

  • 如果您使用阿里云ACK Serverless集群,可以直接使用ECI来运行Job任务。具体操作,请参见通过ACK Serverless集群运行Job任务

  • 如果你在云上或者线下IDC自建了Kubernetes集群,可以通过部署虚拟节点的方式接入ECI,然后将Job任务调度到ECI来运行。关于自建集群如何使用ECI,请参见对接概述

相关文档

您也可以结合使用抢占式ECI实例来节约实例使用成本。更多信息,请参见使用抢占式实例运行Job任务