首页 > 其他分享 >Terraform常用命令

Terraform常用命令

时间:2023-03-12 21:31:25浏览次数:65  
标签:terraform Terraform state 资源 当前 常用命令 模板

资源管理常用命令

terraform plan
plan 资源的预览
主要用于以下场景:
a. 预览当前模板中定义的资源是否符合管理预期
b. 如果当前模板已经存在对应的state文件,那么plan命令将会展示模板定义与state文件内容的diff结果,如果有变更,将会展示结果并在下方显示出来。
c. 对DataSource而言,执行plan命令,即可直接获取并输出所要查询的资源及其属性。
terraform apply
apply 资源的新建和变更
为了安全起见,在命令运行过程中增加了人工交互的过程,即需要手动确认是否继续(手动输入yes),当然也可以通过 --auto-approve 参数来跳过人工确认的过程。
主要用于以下场景:
a. 通过修改模板参数来修改资源的属性
b. 如果从当前模板中删除某个资源的定义, apply 命令会将该资源彻底删除。可以理解为“资源的移除也是一种变更”
terraform show
show 资源的展示
用于展示当前state中所有被管理的资源及其所有属性值。
terraform destroy
destroy 资源的释放
为了安全起见,在命令执行过程中,也增加了人工交互的过程,如果想要跳过手动确认操作,可以通过 --force 参数来跳过。
terraform destroy 默认会释放当前模板中定义的所有资源,如果只想释放其中某个特定的资源,可以通过参数 -target=<资源类型>.<资源名称> 来指定。
terraform import
import 资源导入
用于将存量的云资源导入到terraform state中,进而加入到Terraform的管理体系中.
主要适用场景:
a. 从来没有使用Terraform管控过任何资源,当前所有的存量云资源都是通过控制台,阿里云CLI,ROS或者直接调用API创建和管理的,现在想要切换为Terraform管理
b. 在不影响资源正常使用的前提下,重构资源模板中的资源定义

状态管理常用命令

Terraform 对资源状态的管理,实际上是对State文件中数据的管理。
State文件保存了当前Terraform管理的所有资源及其属性,内容都是由Terraform自动存储的,为了保证数据的完整性,不建议手动修改State内容。
对State数据的操作可以通过 terraform state 命令来完成。
terraform state list
state list 列出当前state中的所有资源
按照 <资源类型>.<资源名称> 的格式列出当前state中存在的所有资源(包括datasource)

$ terraform state list
data.alicloud_slbs.default
alicloud_vpc.default
alicloud_vswitch.this
terraform state show
state show 展示某一个资源的属性
该命令按照Key-Value的格式展示出特定资源的所有属性及其值,命令的完整格式为 terraform state show <资源类型>.<资源名称>

$ terraform state show alicloud_vswitch.this
# alicloud_vswitch.this:
resource "alicloud_vswitch" "this" {
availability_zone = "eu-central-1a"
cidr_block = "172.16.0.0/24"
id = "vsw-gw8gl31wz******"
vpc_id = "vpc-gw8calnzt*******"
}
terraform graph -draw-cycles | dot -Tsvg > graph.svg
生成依赖关系图
# 安装dot,graphviz
http://www.graphviz.org/download/
yum install graphviz

标签:terraform,Terraform,state,资源,当前,常用命令,模板
From: https://blog.51cto.com/somethingshare/6116282

相关文章

  • 02-dos常用命令
    dos常用命令:dir查看某个盘符的下面的目录内容cd/dE:\IDE从F盘跨盘符到E盘的IDE文件夹cd..返回上一级清理屏幕:clscalc计算器mspaint画图notepad记事本......
  • 笔记三:git常用命令
    一:学习内容1、设置用户签名:gitconfig--globaluser.name用户名gitconfig--globaluser.email邮箱2、操作本地库:初始化本地库:gi......
  • 【Git】git常用命令集合
    目录​​最常用的git命令​​​​git拉取代码​​​​git本地如何合并分支​​​​上传文件识别大小写​​​​开发分支(dev)上的代码达到上线的标准后,要合并到master分支​​......
  • Redis常用命令
    5种类型操作string类型命令作用stringsetkeyval设置键值对setkeyvalnxextimeout设置键值对,nx代表不存在则设置,ex表示过期时间设置delk......
  • docker常用命令
    docker相关1.重启dockersystemctlrestartdocker文件相关1.文件拷贝dockercp[from_path][name/id]:[to_path]dockercp/root/daemon.json容器相关https://......
  • conda常用命令及配置总结
     一、常用命令 初始化condainit创建环境condacreate-n环境名python=3.x列出所有虚拟环境condaenvlist进入环境condaactivateenv_name退出环......
  • Git 常用命令备忘录
    转载至:Git命令使用Git有很多不同的方法。Git支持许多命令行工具和图形化的用户接口。Git的命令行是唯一可以运行所有Git命令的地方。下面这组命令将帮助你了解如何......
  • Docker常用命令
    docker从入门到实践参考文档https://docker-practice.github.io/zh-cn/dockr练习网站https://labs.play-with-docker.com/查看docker版本dockerversion或docker-v......
  • Linux运行jar包项目常用命令整理
    查询当前在运行的java项目:查询指定java项目ps-ef|grep项目名称(进程名称)或ps-aux|grep项目名称(进程名称),也就是指定项目名。查看所有java项目,如下:杀死java......
  • linux 常用命令
    linux常用命令有:pwd命令使用pwd命令找出您所在的当前工作目录(文件夹)的路径。该命令将返回一个绝对(完整)路径,该路径基本上是所有以/开头的目录的路径。绝对路径的......