天天看点

腾讯云Terraform应用指南(四)摘要一、Commands Introduction Episode 3二、写在最后

摘要

本文将衔接《腾讯云Terraform应用指南(三)》,将继续向大家介绍Terraform CLI中最后几个常用命令,助力腾讯云Terraform应用。

一、Commands Introduction Episode 3

回顾之前的命令使用指南请点击这里

1、refresh

terraform refresh

通过状态文件协调当前状态与实际的基础设施状态, 用于检测不一致的内容,并更新状态文件。

标准语法:

terraform refresh [options] [dir]

  • options

    用来填写

    refresh

    的flags
  • dir

    用来指定要刷新的目录,默认为当前目录

默认情况下

refresh

不需要任何标志,并在当前目录中查找要刷新的配置和状态文件

使用

terraform refresh

命令,刷新已有资源状态

// Refresh the resource
    $ terraform refresh           

复制

腾讯云Terraform应用指南(四)摘要一、Commands Introduction Episode 3二、写在最后

刷新已有资源

options

  • -backup=path

    - 设置备份文件的路径,取值

    -

    时,不备份
  • -state=path

    - 设置状态文件的路径

有关

refresh

指令的更多信息,请点击这里

2、show

terraform show

用于查看已经部署的资源。

标准语法:

terraform show [options] [path]

  • options

    用来填写

    show

    的flags
  • path

    用来指定要查看的目录,默认为当前目录

查看当前目录下部署的资源信息

// Show the resource
    $ terraform show           

复制

腾讯云Terraform应用指南(四)摘要一、Commands Introduction Episode 3二、写在最后

查看当前目录下部署的资源信息

options

  • -json

    - 显示状态的

    JSON

    表示,有关

    JSON

    的输出格式请点击这里

3、taint

terraform taint

用于对资源进行标记,强制被标记的资源在下一次应用中被销毁并重新创建。

标准语法:

terraform taint [options] address

  • options

    用来填写

    taint

    的flags
  • address

    用来指定被标记资源的地址

对已创建的服务器进行标记,使其在下一次应用中销毁并重新创建。注意:这里的

address

填写的是资源的引用格式,如果资源中有

count

参数,需要加上索引数

// Taint the resource
    $ terraform taint tencentcloud_instance.cvm[0]           

复制

腾讯云Terraform应用指南(四)摘要一、Commands Introduction Episode 3二、写在最后

标记服务器资源

再次执行

terraform apply

时,会提示被标记的资源销毁后,重新创建

腾讯云Terraform应用指南(四)摘要一、Commands Introduction Episode 3二、写在最后

提示重新创建被标记资源

options

  • -allow-missing

    - 允许标记丢失的资源

标记不存在的资源

// Taint the missing resource
    $ terraform taint -allow-missing tencentcloud_instance.cvm[1]           

复制

使用

-allow-missing

的前后对比

腾讯云Terraform应用指南(四)摘要一、Commands Introduction Episode 3二、写在最后

标记不存在资源时不同的提示信息

  • -backup=path

    - 设置备份文件的路径,取值

    -

    时,不备份
  • -state=path

    - 设置状态文件的路径

有关

taint

指令的更多信息,请点击这里

4、validate

terraform validate

用于验证

.tf

文件的语法。

标准语法:

terraform validate [options] [dir]

  • options

    用来填写

    validate

    的flags
  • dir

    用来指定要验证的目录,默认为当前目录

默认情况下,

validate

不需要任何标志,并在当前目录中查找配置

// Validate the resource
    $ terraform validate           

复制

腾讯云Terraform应用指南(四)摘要一、Commands Introduction Episode 3二、写在最后

验证目录下的.tf文件

options

  • -check-variables=true

    - 检查是否制定了所有必需的变量,默认是

    true

有关

validate

指令的更多信息,请点击这里

5、untaint

terraform untaint

取消对已有资源的标记。

标准语法:

terraform untaint [options] name

  • options

    用来填写

    untaint

    的flags
  • name

    用来指定资源,同

    taint

    address

    参数

options

  • -backup=path

    - 设置备份文件的路径,取值

    -

    时,不备份
  • -state=path

    - 设置状态文件的路径

有关

untaint

指令的更多信息,请点击这里

6、workspace

terraform workspace

用于管理工作区,包含一些子命令。

标准语法:

terraform workspace <subcommand> [options] [args]

  • subcommand

    用来填写

    workspace

    的子命令
  • options

    用来填写

    workspace

    的flags
  • args

    用来填写参数

terraform workspace new [NAME]

创建一个新的工作区,

NAME

用来指定新工作区的名字

创建命名为

test

的新工作区

//Create a new workspace
    $ terraform workspace new test           

复制

腾讯云Terraform应用指南(四)摘要一、Commands Introduction Episode 3二、写在最后

创建新工作区

terraform workspace list

列出现有的工作区,使用星号

*

标记指示当前工作区

// List the workspace
    $ terraform workspace list           

复制

腾讯云Terraform应用指南(四)摘要一、Commands Introduction Episode 3二、写在最后

查看所有工作区

terraform workspace select [NAME]

选择一个进一步操作的工作区,

NAME

用来指定新工作区的名字

// Select the workspace
    $ terraform workspace select           

复制

将workspace从

test

变成

default

腾讯云Terraform应用指南(四)摘要一、Commands Introduction Episode 3二、写在最后

进入default工作区

terraform workspace delete [NAME]

删除已有的工作区

删除

test

工作区

// Delete the workspace
    $ terraform workspace delete test           

复制

腾讯云Terraform应用指南(四)摘要一、Commands Introduction Episode 3二、写在最后

删除test工作区

terraform workspace show

输出当前工作区的名字

// Show the workspace
    $ terraform workspace show           

复制

腾讯云Terraform应用指南(四)摘要一、Commands Introduction Episode 3二、写在最后

打印当前工作区

二、写在最后

至此,Terraform可用的指令已经全部介绍完,更多的应用情景还需要用户在实践中体验,后续我们将介绍一些Terraform的高阶应用指南,如模块化等,帮助用户掌握更高级的应用手段。请持续关注腾讯云+社区,生态产品专栏《腾讯云Terraform应用指南》系列,生态产品团队将持续帮助用户快速入门,熟练掌握Terraform应用技巧。

“Write, Plan, and create Infrastructure as Code" 让每一个腾讯云用户高效、快捷的部署资源。