0

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

  1. 我使用名为 vm1 的单个 VM 创建了一个名为 dep-1 的部署。
  2. 然后我创建了一个名为 dep-2 的部署,其中包含名为 vm1 的相同 VM。

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

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

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

4

2 回答 2

0

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

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。
于 2018-05-07T02:23:14.500 回答
0

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

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

要查看错误,您可以转到项目的Stackdriver Logging 页面。并过滤日志以创建实例

于 2018-04-25T08:20:44.720 回答