对于短时间运行的Job任务,使用ECI来运行可以避免资源闲置浪费,降低计算成本。本文介绍如何使用ECI来运行Job任务。
对于很多Kubernetes集群,通常需要同时支撑在线和离线的多种负载,在线负载流量的波动性和离线计算任务的时间不确定性,导致在不同时刻下,负载的资源需求呈波峰波谷状,比如很多企业需要在周末、月中和月末进行大批量的数据计算,在特定的时间点需要大量的计算力,以应对突发的计算资源需求。
目前Kubernetes通常的方法是通过autoscaler来自动扩容节点(约2分钟启动一个新节点),直到Pod被成功调度运行,当Pod执行完成后会自动回收临时节点。使用这种扩容方式,Pod一般需要等待2分钟甚至更多时间才能被调度运行。
针对上述场景,推荐您使用ECI来运行Job任务。ECI通过虚拟节点的方式接入Kubernetes集群,支持秒级启动,按需扩容,能够很好地提升集群的弹性能力。使用ECI来运行Job任务,您无需提前预估业务流量,预留闲置资源,在满足业务需求的同时能够有效降低使用和运维成本。
如果您使用阿里云ACK集群,需要部署虚拟节点,以便使用ECI来运行Job任务。
具体操作,请参见基于ECI运行Job任务。
如果您使用阿里云ASK集群,可以直接使用ECI来运行Job任务。
具体操作,请参见通过ASK运行Job任务。
如果你在云上或者线下IDC自建了Kubernetes集群,可以通过部署虚拟节点的方式接入ECI,然后将Job任务调度到ECI来运行。关于自建集群如何使用ECI,请参见自建Kubernetes集群使用ECI或线下Kubernetes集群使用ECI。
您也可以结合使用抢占式ECI实例来节约实例使用成本。更多信息,请参见抢占式实例运行Job任务。