【问题标题】:GCP deployment manager same resource name in different deploymentGCP 部署管理器在不同部署中具有相同的资源名称
【发布时间】:2018-04-24 06:51:54
【问题描述】:

为了弄清楚部署管理器在不同部署中具有相同资源名称时的行为方式,我执行了以下步骤:

  1. 我创建了一个名为 dep-1 的部署,其中包含一个名为 vm1 的 VM。
  2. 然后,我创建了一个名为 dep-2 的部署,其中包含名为 vm1 的同一虚拟机。

我在想 dep-2 会失败,说已经存在同名的资源,但它成功了,没有任何警告/错误。

后来当我删除 dep-2 时,它删除了名为 vm-1 的 vm 资源。

现在我想知道如何处理这种行为。假设我想为 dev、qa 和 prod 部署我的环境。在 GCP 部署管理器中执行此操作的最佳做​​法是什么?

【问题讨论】:

    标签: google-cloud-platform google-deployment-manager


    【解决方案1】:

    我假设您对两个部署使用了相同的 yaml 文件(相同的实例名称和相同的区域)。

    • 第一次部署按预期创建了实例,没有问题。
    • 第二个部署没有创建另一个实例,只是将同一个实例分配给这个部署。这就是您在删除部署 dep-2 时看到实例被删除的原因。

    要查看错误,您可以为您的项目转到Stackdriver Logging page。并过滤 instances creation 的日志。

    【讨论】:

    • 是的,我使用了相同的 yaml 文件。谢谢。
    【解决方案2】:

    此链接记录了部署管理器更新策略。上述有问题的行为是预期的。

    https://cloud.google.com/deployment-manager/docs/deployments/updating-deployments#prepare_your_update

    https://cloud.google.com/deployment-manager/docs/deployments/updating-deployments#optional_determine_the_policies_to_use_for_the_update

    (可选)确定用于更新的政策

    • 添加资源的默认策略是 CREATE_OR_ACQUIRE。
    • 删除资源的默认策略是 DELETE。
    • 更新资源的默认策略是 UPDATE。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      • 1970-01-01
      • 2018-01-29
      • 2015-11-20
      • 1970-01-01
      相关资源
      最近更新 更多