ASK 运行Job 任务| 学习笔记

简介: 快速学习 ASK 运行Job 任务

开发者学堂课程【5分钟玩转阿里云容器服务ASK 运行Job 任务】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1038/detail/17352


ASK 运行 Job 任务

 

今天我们带大家玩转的是 ASK 运行 Job 任务

image.png

现实中有很多短暂的一次性任务的场景,如CI/CD任务、数据计算任务、视频转码、发送邮件、定时任务等。因为有一次运行,运完即停的特点.非常适合使用ASK,无需预留资源,按需使用,避免闲置进而降低成本。

下面我们就来演示一下在ASK上运行Job任务。

首先创建1个ASK集群,和上节课程一样,创建1个使用企业安全组的Pro版ASK集群,并确保vSwitch有足够的IP容量,具体创建过程这里不再赘述。

大家如果有疑问可以回看上一节。现在集群已经准备好,首先依然是配置kubectl,因为这节课程示例有服务访问,先安装coreDNS,进入运维管理->组件管理->网络->CoreDNS->安装,等待安装完成。演示之前,我们先介绍演示程序。

image.png

以上实例模拟一个数据计算任务。我们通过1个Job并行运行500Pod,从中心服务获取任务并执行,执行完成后将结果返回给中心服务。先观察中心服务程序的代码,v~/Downloads/core$ vi main.go,实现了一个计数器类型。

有3个方法,Get()获取当前值,Inc()计入器+1,Swap()设置为指定值。接下来定义2个计数器,分别用于给任务和任务完成计数。

500Pod运行完成时,2个计数器应该都是500。

下面主流程main函数中定义了4个接口,第1个-创建任务,用于模拟给调用者分发任务,即为简单的返回任务ID。第2个-完成任务,用于模拟保存任务执行结果,每调用1次完成计数器就会+1。第3个-获取任务完成数,返回任务完成数计数器当前值。

第4个-重置,用于给2个计数器清零。程序启动后在8080端口监听。接着部署这个服务,这个服务本身有2个调用方,一个是集群内Job任务对应的Pod,另一个是在主机上运行一个脚本程序,来实时查看任务完成情况。所以需要给中心服务部署2个Service,1个ClusterIP型,1个LoadBalance型。

接着复制,工作负载->无状态->创建 接下来,我们再看Job任务的manifest。

注意3点

1、同上节课程一样开启 lmageCache。

2、ASK有针对Job任务专门优化,可以通过 Pod Annotation,ECI网络配置来启用,配置为“nat_vpc”,表明Pod不能访问公网,只能访问VPC网络。

3、这里我们设置500并行运行。500次完成数,查看 Worker 的工作内容,先获取task执行,最后将结果发送到 server 端,将 Job 内容保存为 Worker 的 yaml。

为了能看到整个任务完成过程,写了一段 Shell 脚本,首先提交 Job 任务,然后记录时间,后面每隔1s,查询打印当前计数及经过的时间,这里访问的IP地址,换成前面创建的 LoadBalancer 型,Service 的公网访问地址。

接着运行,复制->粘贴->运行 接着看到Job任务很快完成。通过这节课程,我们了解到如何在 ASK 上优雅的运行Job任务。

如果大家对 Job 任务,还有更复杂的编排需求,可以使用 Argo、Tekton等开源工具。

今天的课程就到这里,如果您有什么问题请在评论区留言,下期课程,我们将用5分钟带你玩转 ASK 的成本优势,记得收看。

相关文章
|
2天前
|
数据采集 人工智能 安全
|
11天前
|
云安全 监控 安全
|
3天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1020 151
|
3天前
|
编解码 人工智能 机器人
通义万相2.6,模型使用指南
智能分镜 | 多镜头叙事 | 支持15秒视频生成 | 高品质声音生成 | 多人稳定对话
|
16天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1716 9
|
8天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
660 152
|
10天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
623 13
|
10天前
|
人工智能 自然语言处理 API
Next AI Draw.io:当AI遇见Draw.io图表绘制
Next AI Draw.io 是一款融合AI与图表绘制的开源工具,基于Next.js实现,支持自然语言生成架构图、流程图等专业图表。集成多款主流大模型,提供智能绘图、图像识别优化、版本管理等功能,部署简单,安全可控,助力技术文档与系统设计高效创作。
695 151