使用Spot低成本运行Job任务|学习笔记

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: 快速学习 使用 Spot 低成本运行 Job 任务

开发者学堂课程【Serverless 容器从入门到精通: Serverless Kubernetes:使用 Spot 低成本运行 Job 任务】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/646/detail/10735


使用 Spot 低成本运行 Job 任务


目录:

一、成本优化

二、Spot 实例概述

三、创建 Spot 实例

 

一、成本优化

成本 :E(pod) 按量 Vs ECS 包月

节点每日平均负载<10 小时用 EC更便宜!

以 2C4G 容器为例进行成本对比,包月为每天费用, EC 为按量小时费用

图片50.png

成本:使用多种计费类型

ECI 实例:通过购买R实例,支撑 7×24 的负载

spot 实例:通过对小于 1 小时的任务和 job 申请竞价型实例(最低1折)

按量实例:通过对于弹性突发流量部分,使用按量实例

Saving Plan: 最低消费(包年包月)+超出部分按量计费(coming soon)

图片51.png


二、Spot 实例概述

Spot 实例

Spot 实例又称为:抢占式实例,是一种低成本竞价型实例,具有如下特点:

1.极大降低按量计算成本(最低1折)

2.最低一小时运行时长保障

3.适用场景:大数据、媒体处理、科学计算、压力测试

通过  Annotation 创建 spot 实例

您可以在创建 pod 时,在 pod 声明时设置  Annotation 来指定创建抢占式实例:

SpotwithPriceLimit: 设置抢占实例价格上限

1.用户价格并给出错误:  RecommendEmpty. PriceNotSatisfied.

2.用户价格 pt 市场价格,如果库存充足则自动创建实例,按成功创建实例时的市场价格来计价,默认市场价格为小时价,将小时价除以 3600 即可得到每秒的价格抢占式实例按秒计费

3.用户价格 =EC 按量实例价格,使用EC按量实例价格来创建实例


三、创建 Spot 实例

查询不同规格实例按量价格

根据规格查看实例按量价格

https://www.aliyun.com/price/product#/ecs/detail

不同地域价格不同

CronJob with Spot

SpotWithPriceLimit

apiVersion: batch/v1beta1

kind: CronJob

metadata:

name: hello-SpotWithPriceLimit

spec:

schedule: /1'* jobTemplate:

spec:

template:

metadata:

annotations:

kBs.aliyun. com/eci-use-specs: "ecs.c5.large"

ks s. aliyun.com/eci-spot--strategy:SpotWithPriceL

k8s. aliyun. com/eci-spot-price-limit: "0.300"

spec:

containers:

name: hello

image: busybox

args:

-/bin/sh

.C

-date; echo Hello from the Alibaba Serverless Kubernetes cluster.

restartPolicy: OnFailure

规格

最高价限定策略

小时最高单价

SpotAsPriceGo

apiVersion: batch/v1beta1

kind: CronJob

metadata:

name: hello-SpotAsPriceGo

spec:

schedule:"/1.."

jobTemplate:

spec:

template:

metadata:

annotations:

k8s. aliyun. com/eci-use-specs: 2-4Gi

k8s. k8s. aliyun.com/eci-spot-strategy: "spotaspricego'#.omeci-spot-strategy:spotasprceo

spec:

containers:

-name: hello

image: busybox

args:

-/bin/sh

.-C

date; echo Hello from the Alibaba Serverless Kubernetes cluster

restartPolicy: OnFailure

规格

#自动随市场价格

Spot 实例到期释放

创建的抢占式 Pod 实例运行超过 1 小时保护期后,当用户设置价格小于市场价格或者资源库存不足时,会触发实例被释放,释放有两种通知方式:

1.释放前事件通知

2.释放后状态展示

应用场景

您可以在抢占式实例上部署以下业务:

实时分析业务

大数据计算业务

可弹性伸缩的业务站点

图像和媒体编码业务

科学计算业务

地理空间勘测分析业务

网络爬虫业务

测试业务

注意事项

1、如何避免出价过低导致实例抢占失败?

需要结合自身业务特征,并充分考虑到市场价格的波动的情况下选择合理的出价。

2、系统自动出价,1 小时到期后是否会被释放?

1小时到期时,系统会尝试再次出价,如库存充足则不会被释放

3、系统自动出价上限是多少?

不超过相同规格按量最高价(原价)

4、是否仅支持 ECS InstanceType 形式?

抢占式EC实例依然支持 ECS InstanceType、CPU 内存形式两种创建方式。

5、是否支持 GPU 实例?

支持,跟非 GPU 方式一样。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
8月前
|
Java 调度 Maven
Elastic-job分布式调度系统
Elastic-job分布式调度系统
|
2月前
|
存储 关系型数据库 MySQL
智能调度、秒级弹性|一文带你探索Compaction Service的进化之路
ADB MySQL的Compaction Service功能通过将Compaction任务从存储节点解耦至独立的弹性资源池执行,解决了资源隔离性弱、并发度低等问题,实现了资源消耗降低50%,任务执行时间平均减少40%,并支持按量付费,提升了系统的稳定性和成本效益。
|
3月前
|
Kubernetes Cloud Native Serverless
批处理系统:Batch批量计算与云原生Serverless Argo Workflows
本文对比了Batch批量计算与Serverless Argo Workflows在容器化批处理任务中的应用,分析了两者在任务定义、依赖关系、规模并发、高级编排、可移植性等方面的异同,帮助技术决策者根据自身需求选择合适的平台。
|
3月前
|
资源调度 监控 调度
HPC高性能计算场景中如何实现“运行时调度”
在HPC高性能计算中,使用LSF或Slurm提交作业虽方便,但过程往往不可控,作业运行如同黑盒,失败后才能排查问题。为此,MMCloud提出“运行时调度”理念,实现在任务运行过程中进行智能资源调度,最大化资源利用并优化成本效益。与传统工具不同,MMCloud能够实时监控任务状态,并根据算力需求动态调整资源分配。
74 0
|
5月前
|
容器
Job类日志采集问题之ECI产品采集方式对于弹性扩缩容是如何支持的
Job类日志采集问题之ECI产品采集方式对于弹性扩缩容是如何支持的
|
监控 数据可视化 关系型数据库
分布式调度XXL-JOB急速入门
分布式调度XXL-JOB急速入门
分布式调度XXL-JOB急速入门
|
分布式计算 大数据 Java
Apache Spark + 海豚调度:PB 级数据调度挑战,教你如何构建高效离线工作流
Apache Spark Meetup | 1 月线上直播报名通道已开启,赶快报名预约吧!
563 0
Apache Spark + 海豚调度:PB 级数据调度挑战,教你如何构建高效离线工作流
|
资源调度 大数据 调度
【大数据技术干货】阿里云伏羲(fuxi)调度器FuxiMaster功能简介(三) 针对在线服务的资源强稳定
转载自xingbao各位好,这是介绍阿里云伏羲(fuxi)调度器系列文章的第三篇,今天主要介绍针对在线服务的资源强稳定 一、FuxiMaster简介 FuxiMaster和Yarn非常相似,定位于分布式系统中资源管理与分配的角色:一个典型的资源分配流程图如下所示: 作为调度器,目前FuxiMas
4670 0
|
存储 消息中间件 监控
详解异步任务 | 看 Serverless Task 如何解决任务调度&可观测性中的问题
本篇我们将会进一步走进函数计算异步任务,介绍异步任务的调度方案以及系统在可观测性方面所支持的各项功能。
|
Java Shell 调度
【非广告】分布式调度框架 elastic-job 实践详解(超详细)(二)
在前几篇文章中,我们详细的介绍了 Quartz 的架构原理以及应用实践,虽然 Quartz 也可以通过集群方式来保证服务高可用,但是它也有一个的弊端,那就是服务节点数量的增加,并不能提升任务的执行效率,即不能实现水平扩展!
【非广告】分布式调度框架 elastic-job 实践详解(超详细)(二)