在 Terraform 中应谨慎使用提供程序,主要在其他声明性选项不足够时使用。它们适用于无法通过 Terraform 的资源配置或数据源完成的任务。常见场景包括在新创建的服务器上运行初始化脚本、安装由特定提供程序资源覆盖的软件,或执行一次性设置任务。提供程序适用于引导配置管理工具或处理 Terraform 无法直接管理的复杂、有状态操作。然而,由于它们可能使 Terraform 运行变得不那么可预测且更难管理,因此应将其视为最后的手段。在可能的情况下,优先使用 cloud-init 脚本、自定义镜像或单独的配置管理工具。当提供程序是必要的时,设计它们以使其幂等且能够恢复失败,以保持 Terraform 所需的状态一致性。
用自己的话写下这一站的结论。