【问题标题】:Google Compute Engine: How to change instance templateGoogle Compute Engine:如何更改实例模板
【发布时间】:2017-01-13 11:24:53
【问题描述】:

我有一个 Google Compute Engine 组,Group。我已经更改了组重复使用的模板,现在在 Template5 上。该组有一个实例,Instance,它使用以前的模板 (Template4)。 Template4 已被删除,不再存在。我没有看到强制实例更改模板的方法。我尝试过/被阻止尝试的事情:

  • 编辑模板而不是删除和创建新模板。模板似乎不可编辑。
  • 更改实例组模板。 我已经这样做了,它没有影响实例模板。
  • 在组内创建一个新实例并希望它选择新的 模板。显然有一种方法可以做到这一点,但是 create-instance screen 不允许我设置组,并且组 屏幕没有“创建新实例”按钮。它也会 失败,因为 Template5 包括使用外部磁盘,并且可以 一次只能由一个实例使用,但如果创建工作我 可以删除旧实例。
  • 正在重新启动实例。
  • 编辑实例。模板在编辑屏幕中不可更改。

【问题讨论】:

    标签: templates google-compute-engine


    【解决方案1】:

    实例模板资源在 GCP 中是不可变的。您只能通过创建新的实例模板来编辑/更改托管实例组。

    将新模板添加到托管实例组后,您可以使用控制台或在 gcloud 中执行以下命令:

    gcloud compute instance-groups managed set-instance-template \
    <name-of-managed-instance-group> --template=<new-template-name> \
    [--region=REGION | --zone=ZONE] [GLOBAL-FLAG …]
    

    现在,添加此模板后要创建的所有实例都将遵循实例模板中的规则。但是,添加实例模板不会影响组中的现有实例,即使用旧实例模板的实例。您需要通过在 gcloud 中键入以下命令来重新创建这些实例:

    gcloud compute instance-groups managed recreate-instances \
    <name-of-managed-instance-group> --instances \
    <name-of-the-existing-instances-separated-by-comma>
    [--region=REGION | --zone=ZONE] [GLOBAL-FLAG …]
    

    【讨论】:

    • 执行上述2个命令的第一个时出现以下错误:ERROR: (gcloud.compute.instance-groups.managed.set-instance-template) Could not fetch resource: - Invalid resource usage: 'Secondary ranges specified in InstanceTemplate must be the same as already set on Instance Group Manager. Expected: my-cluster-range Actual: '.
    • @pkaramol 我能够创建新实例模板并使用这个新创建的实例模板更新托管实例组,没有任何错误。没有看到命令错误。
    猜你喜欢
    • 2021-05-15
    • 2019-07-05
    • 1970-01-01
    • 2014-11-22
    • 2014-11-12
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 2015-11-05
    相关资源
    最近更新 更多