使用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搭建和管理企业级网站应用
相关文章
|
9月前
|
Java 调度 Maven
Elastic-job分布式调度系统
Elastic-job分布式调度系统
|
8天前
|
Java 关系型数据库 MySQL
新一代 Cron-Job分布式任务调度平台 部署指南
简单易用、超低延迟,支持用户权限管理、多语言客户端和多租户接入的分布式任务调度平台。 支持任何Cron表达式的任务调度,支持常用的分片和随机策略;支持失败丢弃、失败重试的失败策略;支持动态任务参数。
56 10
|
2月前
|
弹性计算 Serverless 调度
面向Workload级别的灵活可配置Serverless弹性解决方案
Serverless作为云计算的延伸,能提供按需弹性伸缩的能力,让开发者无需关心具体资源部署,优化资源使用,因而被众多云厂商采用本文将介绍四种资源可配置插件,探讨它们的核心能力、技术原理,以及在实际应用中的优劣势。
|
3月前
|
存储 关系型数据库 MySQL
智能调度、秒级弹性|一文带你探索Compaction Service的进化之路
ADB MySQL的Compaction Service功能通过将Compaction任务从存储节点解耦至独立的弹性资源池执行,解决了资源隔离性弱、并发度低等问题,实现了资源消耗降低50%,任务执行时间平均减少40%,并支持按量付费,提升了系统的稳定性和成本效益。
|
4月前
|
Kubernetes Cloud Native Serverless
批处理系统:Batch批量计算与云原生Serverless Argo Workflows
本文对比了Batch批量计算与Serverless Argo Workflows在容器化批处理任务中的应用,分析了两者在任务定义、依赖关系、规模并发、高级编排、可移植性等方面的异同,帮助技术决策者根据自身需求选择合适的平台。
|
4月前
|
资源调度 监控 调度
HPC高性能计算场景中如何实现“运行时调度”
在HPC高性能计算中,使用LSF或Slurm提交作业虽方便,但过程往往不可控,作业运行如同黑盒,失败后才能排查问题。为此,MMCloud提出“运行时调度”理念,实现在任务运行过程中进行智能资源调度,最大化资源利用并优化成本效益。与传统工具不同,MMCloud能够实时监控任务状态,并根据算力需求动态调整资源分配。
95 0
|
6月前
|
容器
Job类日志采集问题之ECI产品采集方式对于弹性扩缩容是如何支持的
Job类日志采集问题之ECI产品采集方式对于弹性扩缩容是如何支持的
|
9月前
|
运维 Serverless API
Serverless 应用引擎产品使用之在阿里云函数计算中,容器运行过程中的最大内存使用量获取如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
9月前
|
运维 Java 物联网
Serverless 应用引擎产品使用之阿里函数计算中使用custom container,如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
监控 数据可视化 关系型数据库
分布式调度XXL-JOB急速入门
分布式调度XXL-JOB急速入门
分布式调度XXL-JOB急速入门

热门文章

最新文章