gpt4 book ai didi

google-cloud-platform - 将静态 IP 永久绑定(bind)到抢占式谷歌云虚拟机

转载 作者:行者123 更新时间:2023-12-04 02:27:03 60 4
gpt4 key购买 nike

对于我们的项目,由于 IP 白名单,我们需要一个静态 IP 绑定(bind)到我们的 Google Cloud VM 实例。
由于它是一个可抢占的托管组,VM 将偶尔终止。

但是,当它终止时,我在操作日志中看到 compute.instances.preempted直接跟compute.instances.repair.recreateInstance附注:

Instance Group Manager 'xxx' initiated recreateInstance on instance 'xxx'. Reason: instance's intent is RUNNING but instance's status is STOPPING.



之后是 deleteinsert操作以恢复实例。

文档 states :

You can simulate an instance preemption by stopping the instance.



在这种情况下,当 VM 再次启动时,IP 地址将保持连接状态。

A)所以我的问题是,如果发生抢占,是否可以让实例组管理器停止并启动 VM,而不是重新创建?由于重新创建意味着静态IP将被分离,并且每次都需要手动附加。

B) 如果选项 A 不可行,如何自动附加静态 IP 地址,以便在重新创建 VM 时不必手动附加它?我宁愿没有额外的 NAT VM 实例来解决这个问题。

提前致谢!

最佳答案

我想出了一个解决方法(特别是,在重新创建之间保持分配给可抢占 VM 实例的静态 IP 地址),但需要注意的是您的托管实例组具有以下属性:

  • 不是自动缩放。
  • 最大组大小为 1(即,该组中只能有一个 VM)
  • 自动修复是默认设置(即仅在虚拟机终止后重新创建虚拟机)。

  • 您需要遵循的步骤是:
  • 预留静态IP。
  • 创建实例模板,配置为抢占式。
  • 创建您的托管组,将您的模板分配给该组。
  • 等待组启动您的虚拟机。
  • VM 启动后,将您在步骤 1 中保留的静态 IP 分配给 VM。
  • 通过 gcloud 创建从 VM 实例派生的新实例模板(见 https://cloud.google.com/compute/docs/instance-templates/create-instance-templates#gcloud_1)。
  • 在控制台中查看新创建的实例模板,并注意您会看到分配给模板的外部 IP。
  • 更新 MiG(托管实例组)以使用在步骤 6 中创建的新模板。
  • 使用 Replace 方法在 MiG 上执行主动滚动更新。
  • 确认您的 VM 已使用相同的名称重新创建,磁盘已保留(或未保留,取决于您在原始模板中配置磁盘的方式),并且 VM 已保留其 IP 地址。

  • 关于第 6 步,我的 gcloud命令看起来像这样:
    gcloud compute instance-templates create vm-template-with-static-ip \
    --source-instance=source-vm-id \
    --source-instance-zone=us-east4-c

    几乎不用说,这种设置仅在您想要时才有用:
  • 使用单个抢占式 VM 将成本降至最低。
  • 无需在虚拟机被抢占后再次打开虚拟机的麻烦,确保尽可能多的正常运行时间。

  • 如果您不介意在虚拟机被抢占后手动重新打开虚拟机(并且可能不知道它已经关闭了多久),那么请帮自己一个忙,不要打扰 MiG,只需站起来单数虚拟机。

    关于google-cloud-platform - 将静态 IP 永久绑定(bind)到抢占式谷歌云虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46805838/

    60 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com