[GCP工具集] 省钱小工具:自动启动抢占型机器

前言

GCP的抢占型(preemptible)机器就类似与AWS的Spot Instance(竞价型机器)。同样的配置,抢占型机器机器能便宜差不多1/3!

但是有一个物理限制:每次开机最长24小时就会被关机。

因此,如果我们有一个小工具能监控这些机器,并且自动启动,岂不美哉?

方式1:使用实例组( Instance Group Manager )

原理:在创建实例组的时候设置实例数下限。比如可以设置成1. 当这个实例被关闭之后,实例组会将其删除并重新创建

操作步骤:(因为不是重点, 在此简单写写)

  1. 创建实例模板 . 这一步就按照正常的要求创建就好了。

    补充: 如何使用当前实例作为模板?

    回答:先把当前实例做成一个快照(snapshot), 在创建模板的时候, 设置使用相应的快照来创建即可

  2. 创建实例组

    看了一下相关设定, 正常设置即可。

方式2:自建监控+启动的Python脚本

  1. 安装相应的类库

    pip install -U google-api-python-client

  2. 准备credentials文件

    《[GCP工具集] 省钱小工具:自动启动抢占型机器》

  3. 在你的定时调度任务调用下面的python script

    注意:在GCP之中, 没有直接列出所有Zone的instance的方法。 zone必须指定。因此如果你的机器在多个zone, 要么简单粗暴直接hardcode, 要么通过下面的参考脚本列出所有的zone

    参考:https://cloud.google.com/compute/docs/reference/rest/v1/zones/list

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注