首页 > 其他分享 >Terraform - 初解Terraform - 命令

Terraform - 初解Terraform - 命令

时间:2024-08-22 23:04:32浏览次数:11  
标签:选项 文件 命令 terraform Terraform state 初解 格式 资源


调试

terraform fmt

格式化当前目录的tf文件内容格式,并列出已进行格式化的文件列表

-diff选项,显示格式更改的差异
-recursive选项,在所有子目录递归执行

terraform validate

验证配置的语法有效性,检查和定位错误出现的详细位置和原因

-json选项,以json格式显示结果
默认在当前目录中查找配置

terraform console

启用交互控制台,可用于评估和验证表达式


查看

terraform providers

输出关于当前配置中使用的云提供商的信息

terraform graph

输出当前配置定义的资源关系

可以对指定的目录执行
输出为DOT格式,可以通过GraphViz生成图表然后用浏览器打开,terraform graph | dot -Tsvg > graph.svg
-draw-cycles选项,用颜色标亮依赖中循环的部分,有助于分析循环出现的问题
-module-depth选项,设置输出中模块的深度,默认情况下这是-1,显示所有
-type选项,输出依赖图内容的类型

terraform show

资源的展示,查看当前状态或者检查计划内容

展示当前state中所有被管理的资源及其所有属性值
-json选项,以json格式显示结果

terraform output

用于从状态文件中查看输出变量的值

配置output.tf文件后,执行terraform apply命令,output的内容自动显示出来
可以指定提取指定变量的值
-json选项,输出的格式为JSON对象

关键操作

terraform init

初始化包含terraform配置文件的工作目录

如果不指定目录,默认为当前目录
在空目录下,因为找不到任何配置信息,执行terraform init时会报错
可以对空目录使用-from-module=MODULE-SOURCE选项运行init,在这种情况下,指定的模块将被复制到目标目录中
-plugin-dir选项,跳过安装插件的步骤,从指定的PATH目录下加载插件   
执行时依照 *.tf文件中的配置下载相应的插件,存放在新生成的 .terraform 目录

terraform plan

对配置中所定义资源的预览,不对实际资源或状态进行更改

- 默认为当前目录执行,可以指定目录
- 预览的最后部分会输出资源变化add、change和destory的统计数目
- 预览信息前的+代表新添加的资源,当销毁资源时对应的符号会变为-;
- 更改一些参数需要重新部署资源时,该资源前面的符号为-/+;
- 在旧参数和新参数内容之间有→符号标识。
- -target选项,可用来将Terraform的注意力集中在资源的一个子集上

主要用于以下几个场景:
- 预览当前配置中定义的资源是否符合管理预期
- 如果当前配置已经存在对应的state文件,将会展示配置定义与state文件内容的diff结果,如果有变更,会将结果在下方显示出来
- 对DataSource而言,执行plan命令可直接获取并输出所要查询的资源及其属性。

terraform apply

用于实际资源的新建和变更操作

在命令运行过程中需要手动确认是否继续
可以通过--auto-approve参数来跳过人工确认的过程
创建资源的同时会在当前目录中生成一个状态文件 terraform.tfstate, 执行结果会保存这个标准的JSON 文件中。

适用于以下几种场景:
- 创建新的资源
- 通过修改模板参数来修改资源的属性
- 如果从当前模板中删除某个资源的定义,会将该资源彻底删除。可以理解为“资源的移除也是一种变更”

terraform state

用来操作状态文件

terraform state list  按照 <资源类型>.<资源名称> 的格式列出当前state中存在的所有资源
terraform state show  按照Key-Value的格式展示出特定资源的所有属性及其值,格式为 terraformstate show <资源类型>.<资源名称>
terraform state pull  获取当前state内容并展示
terraform state rm  将state中的某个资源移除,但实际上并不真正删除这个资源

terraform refresh

刷新当前State的内容,用于检测不一致的内容并更新状态文件,也就是再次拉取最新的数据写入到state文件中。

terraform import

用于将资源导入到terraform state中,进而加入到Terraform的管理中

terraform destroy

用于对资源的释放操作,谨慎使用!!!

在命令执行过程中需要手动确认的过程
可以通过--force参数来跳过手动确认过程
默认会释放当前配置中定义的所有资源
可以通过选项-target=<资源类型>.<资源名称>来指定释放特定的资源

工作区

terraform workspace

用于管理工作区

terraform workspace new [NAME]   创建一个新的工作区
terraform workspace list   列出现有的工作区,使用星号*标记指示当前工作区
terraform workspace select [NAME]   选择一个要操作的工作区
terraform workspace delete [NAME]   删除已有的工作区
terraform workspace show   输出当前工作区的名字

标签:选项,文件,命令,terraform,Terraform,state,初解,格式,资源
From: https://www.cnblogs.com/anliven/p/18374922

相关文章

  • Terraform - 初解Terraform - 安装
    开发环境配置Note:安装环境为windows系统64位笔记本电脑1.安装适用于Windows的Terraform:https://developer.hashicorp.com/terraform/install2.下载Terraform:https://releases.hashicorp.com/terraform/1.9.4/terraform_1.9.4_windows_amd64.zip3.从下载中,将可执行文件......
  • docker常用命令
    文章目录docker使用基本方式查看镜像获取镜像删除镜像导出镜像加载镜像创建容器删除容器查看所有容器关闭容器创建docker网络查看docekr网络查看镜像拉取镜像启动容器docker使用基本方式查看镜像dockerimages获取镜像dockerpull删除镜像docekrrmi镜像i......
  • Terraform - 初解Terraform - 简介
    前言云计算主要提供计算服务,例如服务器、存储、数据库、网络等等;对于云服务,通常只需使用多少支付多少,从而帮助降低运营成本,使基础设施更有效地运行,并能根据业务需求的变化调整对服务的使用。公有云:多租户面向个人或企业由第三方云服务商托管和运营。私有云:专供一个企业......
  • 压力测试Monkey命令参数和报告分析
    在移动应用的开发过程中,确保APP在高负载下依然能够稳定运行,是保证用户体验的重要一环。为了测试应用的稳定性和性能,压力测试变得至关重要。而其中,Monkey工具以其随机生成事件的方式,成为了开发者进行压力测试的利器。在使用Monkey进行压力测试时,我们应该如何设置合适的命令参数?测......
  • Terraform中的for_each和count
    通过Terraform创建云主机时,在某些业务场景下,一个机器需要挂载多个云盘,一般云厂商都是单独创建云主机和云硬盘然后通过attachment的资源去挂载,因此我们的模板大致如下:resource"tencentcloud_instance""basic"{instance_name=var.instance_namepassword="xxx"}......
  • Git 全套流程命令Command
    Git全套流程命令Command假设你已经在本地初始化了一个Git仓库,并且已经添加了远程仓库地址。1.初始化本地仓库如果你还没有初始化本地仓库,可以使用以下命令:gitinit2.添加远程仓库地址gitremoteaddorigin<remote-repository-url>例如:gitremoteaddorigi......
  • Linux常用命令
    首先登陆linux系统,输入账号xxxx回车,再输入密码:xxxxLinux常用命令如下:[root@localhost~]# cd ..  --- 返回上一级目录[root@localhost/]#ls     ---查看目录信息(有很多目录)[root@localhost/]#cd-  --返回上次所在的目录  [root@localhost/]#cdhom......
  • Linux top 命令详解
            top命令是Linux和Unix系统中一个非常强大的实时系统监控工具,它可以显示系统中各个进程的实时动态管理视图,类似于Windows的任务管理器。在需要诊断系统性能问题或监控资源使用情况时是非常有用的。使用top命令        在命令行中输入top并回车,即可启......
  • Linux timedatectl 命令
            timedatectl 是Linux系统中用于查询和更改系统日期、时间和时区的工具,它特别适用于那些使用systemd作为系统和服务管理器的系统。语法格式为“timedatectl[参数]”。        发现电脑时间跟实际时间不符?如果只差几分钟的话,我们可以直接调整。但......
  • 在 Windows 10 上解包使用 tar -cf 命令创建的 tar 文件
    方法一:使用第三方工具7-Zip7-Zip是一个免费和开源的文件归档程序,支持解包tar文件。下载和安装7-Zip:从 7-Zip官网 下载适用于Windows的7-Zip安装程序并安装。使用7-Zip解包tar文件:右键点击tar文件。选择7-Zip>ExtractHere或者7-Zip>Extract......