本文主要介绍了在批量计算环境中,如何通过预加载镜像缓存的方式,优化任务的启动时间和提高集群的资源利用率。
背景信息 在大规模数据处理和计算的场景中,批量计算是一种常见的解决方案。它可以将多个任务(Job)批量提交到计算集群中,统一调度和管理资源,提高计算效率。然而,任务的启动时间往往是影响整体性能的一个关键因素。为了解决这一问题,批量计算套件集成弹性容器实例(VCI)镜像缓存能力,在队列维度为批量计算任务所使用的高频镜像提前创建镜像缓存,使得后续 VCI Pod 可以快速命中镜像缓存,提高 VCI Pod 的拉起速度。
使用限制 该能力仅当批量计算任务在 VCI 中运行时生效。 已创建的镜像缓存若在 2 天内未被任何任务使用,则系统会清理该镜像缓存。 预加载镜像缓存策略 分析阶段
触发时机:为 batch-queue-controller 组件使能预加载镜像缓存能力后,组件根据内部预置算法定时触发分析。 分析范围:根据内部预置算法,自动选取部分任务。 选择范围:在“分析范围”选取的任务中,根据任务镜像出现的频率选取部分任务镜像。 创建阶段
触发时机:“分析阶段”已选出需要进行镜像缓存的任务镜像时,触发创建镜像缓存。 存储策略:每个火山引擎账号最多支持存在 20 个镜像缓存,且 2 天内未被任何任务使用的镜像缓存会被系统清理。 实现预加载镜像缓存的步骤 为 batch-queue-controller 组件使能预加载镜像缓存能力。
登录 容器服务控制台 。 左侧导航栏单击 集群 ,找到批量计算业务相关集群,然后单击集群名称。 在集群管理页面左侧导航栏选择 批量计算 > 套件运维 。并选择 组件运维 页签。 在 batch-queue-controller 组件卡片中,单击 配置 。在组件参数配置对话框中开启 支持镜像缓存 功能。 单击 确定 ,完成配置。参数配置更新后,batch-queue-controller 组件会滚动更新并按照本文上方 预加载镜像缓存策略 定时分析。 准备任务镜像。
需要准备批量计算任务需要使用的镜像。批量计算套件支持使用火山引擎镜像仓库(CR)中的镜像,也支持使用第三方镜像仓库中的镜像。说明
使用 CR 中的镜像时,上传镜像操作,请参见 推送和拉取镜像 。 使用第三方镜像仓库中的镜像时,请确保对该镜像仓库及其下命名空间等拥有读写权限。 配置镜像访问凭证。
从批量计算套件维度,配置目标镜像仓库的访问凭证。详细操作,请参见 预加载镜像缓存配置 。 开启 预加载镜像缓存 功能。
配置批量计算队列时开启 预加载镜像缓存 功能。该队列下的任务,均可以按照预加载镜像策略创建镜像缓存。详细操作,请参见 队列 。 使用预加载镜像。
批量计算套件根据策略创建了镜像缓存后,在后续创建使用相同镜像的任务时,将加速镜像的拉取,减少任务的启动时间。详细操作,请参见 任务管理 。