【Terraform命令一】


一、常用命令

1.1 Backend

团队合作:后端可以远程存储其状态,并使用锁保护该状态以防止损坏。某些后端(例如 Terraform Cloud)甚至会自动存储所有状态修订的历史记录。将重要文件置于安全位置:根据需要从后端检索状态,并且仅将其存储在内存中。如果您使用的是后端(例如 Amazon S3),则状态一直保持不变的唯一位置是S3。

远程操作:对于较大的基础架构或某些更改, terraform apply 可能需要很长时间。一些后端支持远程操作,这些操作使该操作可以远程执行。然后,您可以关闭计算机,然后操作仍将完成。配合远程状态存储和上方锁定,这也有助于团队环境。

简单理解:就是在团队协助时,Backdend可以通过远程存储和管理状态文件,可以提高团队协作效率。把之前的tfstate文件放到远程供团队使用。

terraform {
    required_version =>= 0.12”
    backend “s3” {
        bucket = “” //S3 桶用于存储状态文件
        dynamodb_table = “” //用于状态锁定和一致性的DynamoDB表的名称。该表必须有一个名为一个主键LockID与类型string。如果未配置,则将禁用状态锁定。
        key = “” // state 文件key路径和名称,包含后缀名
        encrypt = true
    }
}

1.2 Terraform init

  1. 初始化工作目录:terraform init 命令用于初始化 Terraform 的工作目录。它会查找当前目录下的 .tf
    配置文件,并根据这些配置文件中的配置来初始化工作环境。
  2. 安装依赖:
   Provider 插件安装:Terraform需要与各种云服务和基础设施提供商进行交互,这些交互是通过所谓的“Provider”插件来实现的。terraform init会自动下载和安装配置文件中声明的所有 Provider 插件。
Module 安装:如果配置文件中有 module 块配置,terraform init 也会将这些模块及其依赖项安装到本地。
  1. 初始化 Backend:如果配置文件中定义了 Backend(远程状态存储),terraform init 还会进行 Backend的初始化,建立与远程存储的连接,并可能迁移本地状态到远程存储

1.3 Terraform plan

它主要负责生成一个执行计划,该计划描述了如何将当前的基础设施状态转变为用户所期望的状态。

  • 读取配置:Terraform 读取 Terraform 配置文件和任何相关的状态文件(如果已存在)。
  • 生成计划:基于配置和当前状态,Terraform 生成一个执行计划,该计划详细说明了将进行的更改。
  • 预览输出:Terraform 将执行计划的详细信息输出到控制台,以便用户预览

1.4 Terraform apply

用于将 Terraform 配置文件中定义的基础设施更改应用到实际环境中。当你运行 terraform plan 并确认计划中的更改是你所期望的之后,你可以使用 terraform apply 命令来实际执行这些更改。

工作流程:

  1. 读取配置:Terraform 首先读取 .tf 配置文件和任何相关的状态文件(如果已存在)。
  2. 生成计划(如果尚未生成):如果尚未运行 terraform plan,Terraform 会根据配置文件和当前状态生成一个执行计划。
  3. 用户确认:在显示计划之前,Terraform 会提示用户确认是否要应用更改。这通常包括一个简短的摘要和提示,询问用户是否要继续。
  4. 应用更改:一旦用户确认,Terraform 就会开始应用计划中的更改。这可能包括创建新资源、更新现有资源或销毁不再需要的资源。

1.5 Terraform destroy

用于销毁通过 Terraform 创建的基础设施资源。

销毁资源:Terraform destroy 命令会根据 Terraform 配置文件中的定义,销毁所有或指定的基础设施资源。

1.6 Terraform taint

用于给已存在的资源实例标记为“污点”(tainted)。当一个资源被标记为污点后,Terraform 会在下一次 terraform apply 命令执行时,销毁该资源并重新创建它。这个命令在需要强制重新创建资源时非常有用,比如当资源的状态与配置文件不一致,或者资源无法被正常更新时。

使用场景:

  • 资源状态不一致:当资源的状态与 Terraform 配置文件中的定义不一致时,可以使用 terraform taint
    命令来强制重新创建该资源。
  • 资源更新失败:有时,由于某些原因(如依赖关系问题、权限问题等),Terraform 无法正常更新资源。在这种情况下,可以使用terraform taint 命令来销毁并重新创建资源。

1.7 terraform force-unlock

手动解锁已定义的配置文件状态,这个只有在定义backend时,才可使用。

总结

主要对Terraform的各种命令进行解释

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值