硬盘如何被Terraform玩坏

项目中早期创建了虚机,后期需求上需要增加硬盘,最初采用了google_compute_attached_disk 类型

resource "google_compute_attached_disk" "default" {
  disk     = google_compute_disk.default.id
  instance = google_compute_instance.default.id
}

结果出现了比较奇怪的现象,你会发现Terraform会把这个硬盘detached掉, 再跑一次又会attach 回去。原因是因为Terraform会为早期创建的虚机维护一个state, 为attached disk也维护一个state。 原则是这两个state是冲突的。。。

也就是说在disk attach在机器的情况下, 虚机对应的resource会把硬盘拉下来, 原因是它就是这么定义的。
在disk detached的情况下, resource
google_compute_attached_disk 又回把硬盘放回去。 这样不断进行循环。

正确的做法当然是把紧密结合的资源整合在一起 在
google_compute_instance 增加 attached_disk属性





原文地址:https://www.cnblogs.com/move-on/p/13894454.html