terraform 计划 - 轻量

主要观点:提出添加terraform plan -light标志,仅针对代码中修改的资源进行规划,以减少计划持续时间和预计划刷新范围,同时避免状态拆分带来的复杂性和一致性风险。
关键信息:

  • 计划持续时间问题:管理大量资源时,计划可能耗时数小时,原因是预计划刷新,而非规划本身。
  • 实际问题:刷新持续时间长,尤其是资源较多或提供程序较慢时,可能等待数小时。
  • 部分解决方案:

    • 增加并行度:但可能受提供程序限制。
    • 禁用预计划刷新:有一致性风险,需通过工具定期刷新状态。
    • 分解状态:可将大状态拆分为小状态,但可能导致依赖资源断开,增加复杂性。
  • 提议的解决方案:terraform plan -light标志基于代码变化确定可能更改的资源作为-target,每次应用时将应用代码存储在状态中,下次计划时比较当前代码和上次应用的代码,仅规划差异资源,减少刷新时间,保持所有资源在同一依赖图中。
    重要细节:
  • 预计划刷新可缩小状态与实际情况的差距,但不能保证一致性。
  • 禁用预计划刷新有风险,需定期刷新状态。
  • 分解状态可降低计划时间,但可能导致依赖资源断开。
  • -target标志可用于过滤计划的资源范围,但每次更改都指定不方便。
  • terraform plan -light通过比较当前和上次应用的代码确定-target,减少刷新时间和复杂性。
阅读 11
0 条评论