什么是Spot VM?
Spot VM(以下简称Spot VM)是指在谷歌云中过剩的便宜的虚拟机将作为服务提供,这个在国外大型基础云中都有类似的实施案例。所以本篇内容,不仅仅适用于Google Cloud,其他如AWS,Alibaba Cloud,概念上是相通的
。
虽然Spot VM可以以大幅优惠的价格使用,但当谷歌云中的虚拟机资源即将用完时,它会终止Spot VM,将资源优先分配给使用正常价格的用户,所以如果你发现你所使用的Spot VM突然停止,不要惊讶。还有一个术语,叫做抢占式虚拟机,这个意思不是说你可以抢占别人,而是以正价付费使用的用户,可以抢占你的虚拟机资源,即Spot VM 是可被抢占的 VM。
另外,Spot 抢占式 VM 在创建后最多只能持续 24 小时。但这并不排除你创建了没多久,可能还不到 12 小时,虚拟机资源就被回收的情况发生,那么Spot VM这种运作模式,为什么还会被这么多人推崇和使用呢?它的优缺点是什么?这里简单总结一下。
优点
- 与普通正价购买的 VM 相比,折扣范围从 60% 到 91%不等,具体取决于机器类型和 GPU
- GPU、本地 SSD 和连接到 Spot VM 的外部弹性 IP 地址也适用此折扣
- 在意外停止的情况下,可以通过使用关闭脚本来避免数据丢失
- 没有最小或最大运行时间,除非你限制了运行时间
缺点
- 与正价购买的 VM 相比,需要根据当下GCE可用资源池的余量决定是否有Spot VM可供使用
- 由于本身是抢占式VM,因此可能会突然停止,没有征兆
- 更不存在 SLA 保证,不受 GCE SLA 的约束
- GCE的特性Live Migration在Spot VM上是没有的
- 在有提供免费套餐的可用区,不能免费使用
一些技巧
虽然 Spot VM 是抢占式VM,会有运行时间的限制,也会被其他正价购买 VM 的用户所抢占资源,但它并不是像强制按电源按钮那样关机,而是由控制台向虚拟机发送停止指令,那么我们是可以在这段停止指令生效期间,利用关机脚本编写一些脚本,去进行备份或清理等操作。
适用场景
Spot VM 尽管会面临随时被停止的情况发生,但是它仍然有非常积极的一面,最大的优点就是它的价格会非常低,如果你使用的场景里,有CI/CD 流水线编译的流程,因为这个大多数编译工作都不会特别长,而且对SLA没有硬性要求,即便失败了重新开启就好。如果是这种场景的,那么使用Spot VM就可以显著降低你的成本。
如果是普通项目,需要稳定长时间运行的,建议正价购买VM,不要尝试Spot 抢占式 VM,即便你使用K8S集群,也不要把节点放置在Spot VM(除非是临时的非重要的工作流程)
您也可以联系文章作者本人进行修改,若内容侵权或非法,可以联系我们进行处理。
任何个人或组织,转载、发布本站文章到任何网站、书籍等各类媒体平台,必须在文末署名文章出处并链接到本站相应文章的URL地址。
本站文章如转载自其他网站,会在文末署名原文出处及原文URL的跳转链接,如有遗漏,烦请告知修正。
如若本站文章侵犯了原著者的合法权益,亦可联系我们进行处理。