【问题标题】:How do I automatically restart a GCE preemptible instance?如何自动重启 GCE 抢占式实例?
【发布时间】:2015-09-29 08:44:08
【问题描述】:

如何自动重启抢占式 Google Compute Engine 实例?我只有一个不需要 100% 正常运行时间的实例,但我想在数据中心再次卸载后重新启动。我尝试自动重启的实例/服务器有自己的启动磁盘,我希望每次重启时都使用它。

【问题讨论】:

    标签: google-compute-engine


    【解决方案1】:

    您可以尝试使用Instance Group Manager 设置大小为 1 的池。然后它将尝试在实例被抢占后重新创建。

    您应该知道,不能保证您的实例有足够的容量。正如docs 所说:

    可从有限数量的 Compute Engine 资源中获得抢占式实例,但可能并不总是可用。

    【讨论】:

    • 发生了一件很奇怪的事情。我能够设置实例组管理器以使用我想要的永久磁盘,并且我能够让 GCE 自动启动实例。但是,一夜之间,机器变得无法访问,即使通过 SSH,即使生成的实例仍然可以停止并消耗 6% 的 CPU。
    • 更新:它似乎在过去 12 小时内工作正常。鉴于失败的奥秘,我倾向于相信这只是 GCE 的一个短暂问题。那,或者它只在它必须重新启动实例时发生。
    • 关于“可抢占式实例可从有限数量的 Compute Engine 资源中获得,并且可能并不总是可用。”在过去的两周里,有好几天没有可以在 us-central1-c 区域中启动任何大小的抢占式实例。这只是我个人的经验。应该非常认真地对待文档中的警告。
    • 这现在大部分都在工作,但是大约每周一次,即使 GCE GUI 显示它已经启动,实例也无法通过 web 甚至 Google ssh 密钥访问。其他人有这个问题吗?我的印象是,当资源实际上不可用时,实例应该显示为关闭,而不是启动。重置实例可以解决问题,但我试图避免这样的手动步骤。
    • 在这个答案中再详细一点会很好,例如应该创建什么类型的实例组。
    【解决方案2】:

    您可以创建一个 f1-micro 实例,每月在多个数据中心免费使用一个实例并创建一个 cron 作业

    */10 * * * * /snap/bin/gcloud beta compute instances start --zone "yourzone" "yourinstance" --project "yourproject"
    

    在您运行gcloud auth login 一次之后。

    这将每 10 分钟重新启动一次您的实例。当然,您也可以将其设置为一个小时或更长时间。通过更多的脚本,也可以完成指数回退之类的事情。

    【讨论】:

      猜你喜欢
      • 2020-01-30
      • 2023-03-15
      • 1970-01-01
      • 2016-01-02
      • 2020-01-22
      • 2018-09-16
      • 2013-06-26
      • 1970-01-01
      • 2022-06-18
      相关资源
      最近更新 更多