云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

数据库_网站建设和优化_精选特惠

小七 141 0

地形资源定位

HashiCorp Terraform是一个使用代码来定义、提供和管理基础设施的工具。在上一篇文章中,我们介绍了如何在不引起停机的情况下无缝地更新Terraform配置中的虚拟机。在本文中,我们将讨论Terraform的另一个特性,它可以帮助您进行细粒度的更改,以避免停机或从配置资源目标的错误中恢复。考虑以下示例;您对配置进行了两个更改:改变液滴的基本图像修改负载平衡器的运行状况检查如果第一步失败,那么在不首先纠正配置的任何问题之前,您就不能执行第二次更改。通常,这是正确和推荐的方法。但是,可能存在需要快速更改的情况。另一种情况可能是,一个重大的变更被合并到您的配置中,但是目前推出完整的变更可能并不可取。在这两种情况下,Terraform都有一种能力,允许您通过利用资源目标功能来管理此异常。资源定位允许您在运行terraform plan时指定-target选项。操作员可以指定一个或多个目标选项,这些选项包含对配置中资源的引用。当计划运行时,Terraform生成一个只包含这些资源的计划。Terraform对与目标选项一起传递的资源地址的解释如下:如果给定的地址具有资源规范,则只将指定的资源作为目标。如果命名资源使用count并且地址中没有指定显式索引,则共享给定资源名称的所有实例都是目标。给定地址没有资源规范,而是指定模块路径,目标应用于指定模块中的所有资源以及指定模块的所有子模块。例如,我们是否应该对digitalocean进行更改_水滴网还有数字海洋_loadbalancer.public但只想对负载平衡器执行更改,我们可以编写计划命令,如下所示:$地形图-目标数字海洋_loadbalancer.public-出去运行计划正在刷新计划前内存中的地形状态。。。刷新的状态将用于计算此计划,但不会保存到本地或远程状态存储。数字海洋_loadbalancer.public:正在刷新状态。。。(编号:37548666-99f6-4619-ad18-f53d42385064)------------------------------------------------------------------------已生成执行计划,如下所示。资源操作用以下符号表示:~更新到位Terraform将执行以下操作:~数字海洋_loadbalancer.public端口">.80 U"转发规则计划:0添加,1更改,0销毁。------------------------------------------------------------------------此计划已保存到:运行计划要准确执行这些操作,请运行以下命令以应用:地形应用"运行计划"Terraform现在已经生成了一个只包含目标资源的计划。我们可以在正常情况下使用地形应用计划。$terraform应用运行计划数字海洋_loadbalancer.public:正在修改。。。(编号:37548666-99f6-4619-ad18-f53d42385064)转发规则0.target_端口:"80"=>"8080"数字海洋_loadbalancer.public:2s后完成修改(ID:37548666-99f6-4619-ad18-f53d42385064)申请完成!资源:0已添加,1已更改,0已销毁。输出:磅/平方英寸=159.65.211.49使用目标资源就是这样,我们可以处理任何紧急更改,而不必执行整个计划或修改配置。»摘要目标定位能力是为特殊情况提供的,例如从错误中恢复或在地形限制下工作。不建议在常规操作中使用-target,因为这会导致未检测到的配置偏移,以及资源的实际状态如何与配置相关联的混乱。然而,目标定位是Terraform的一个特性,在您的基础设施管理工作流的某个时刻,它可能非常有用,因为您永远不知道什么时候需要它。