开发者学堂课程【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 为按量小时费用
成本:使用多种计费类型
ECI 实例:通过购买R实例,支撑 7×24 的负载
spot 实例:通过对小于 1 小时的任务和 job 申请竞价型实例(最低1折)
按量实例:通过对于弹性突发流量部分,使用按量实例
Saving Plan: 最低消费(包年包月)+超出部分按量计费(coming soon)
二、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 方式一样。