dayeye2006199
2022-08-16 00:39:45 +08:00
> 首先云平台不一定所有 console 网页操作一定对应 cli 命令,连 cli 都没有就更提不上什么 terraform 的支持了
需要云平台暴露 API 。但是话说回来,如果某个云平台没有 API 或者 API 功能不全,完全依赖 console UI 来完成配置,估计这个也不是什么正经的云平台。依赖于 API 的脚本化和批量化是很常见的需求,这个和 IaC 没啥太多的关系,在远古时代就是这么弄的了。
> 状态管理
首先状态不要储存在本地,可以使用对象存储或者数据库之类的远程存储,保证大家读到的状态是一份。再者,IaC 不光是技术,也是一种管理方法,理论上所有对 infrastructure 的修改都应该通过 code 的来完成。不同的人需要同时进行修改,这时和使用 git 提交代码一样,大家同时提交 PR ,如果修改之间有冲突,那也和解决代码冲突一样,不同分支进行合并或者 rebase 之后再往主分支上合并。主分支合并之后触发 terraform 的状态调整,根据修改增删查改资源。