腾讯云Terraform应用指南(四)

2019-08-15 15:36:12 浏览数 (3)

摘要

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

一、Commands Introduction Episode 3


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

1、refresh

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

标准语法:terraform refresh [options] [dir]

  • options用来填写refresh的flags
  • dir用来指定要刷新的目录,默认为当前目录

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

使用terraform refresh命令,刷新已有资源状态

代码语言:txt复制
    // Refresh the resource
    $ terraform refresh
刷新已有资源刷新已有资源

options

  • -backup=path - 设置备份文件的路径,取值-时,不备份
  • -state=path - 设置状态文件的路径

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

2、show

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

标准语法:terraform show [options] [path]

  • options用来填写show的flags
  • path用来指定要查看的目录,默认为当前目录

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

代码语言:txt复制
    // Show the resource
    $ terraform show
查看当前目录下部署的资源信息查看当前目录下部署的资源信息

options

  • -json - 显示状态的JSON表示,有关JSON的输出格式请点击这里

3、taint

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

标准语法:terraform taint [options] address

  • options用来填写taint的flags
  • address用来指定被标记资源的地址

对已创建的服务器进行标记,使其在下一次应用中销毁并重新创建。注意:这里的address填写的是资源的引用格式,如果资源中有count参数,需要加上索引数

代码语言:txt复制
    // Taint the resource
    $ terraform taint tencentcloud_instance.cvm[0]
标记服务器资源标记服务器资源

再次执行terraform apply时,会提示被标记的资源销毁后,重新创建

提示重新创建被标记资源提示重新创建被标记资源

options

  • -allow-missing - 允许标记丢失的资源

标记不存在的资源

代码语言:txt复制
    // Taint the missing resource
    $ terraform taint -allow-missing tencentcloud_instance.cvm[1]

使用-allow-missing的前后对比

标记不存在资源时不同的提示信息标记不存在资源时不同的提示信息
  • -backup=path - 设置备份文件的路径,取值-时,不备份
  • -state=path - 设置状态文件的路径

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

4、validate

terraform validate 用于验证.tf文件的语法。

标准语法:terraform validate [options] [dir]

  • options用来填写validate的flags
  • dir用来指定要验证的目录,默认为当前目录

默认情况下,validate不需要任何标志,并在当前目录中查找配置

代码语言:txt复制
    // Validate the resource
    $ terraform validate
验证目录下的.tf文件验证目录下的.tf文件

options

  • -check-variables=true - 检查是否制定了所有必需的变量,默认是true

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

5、untaint

terraform untaint 取消对已有资源的标记。

标准语法:terraform untaint [options] name

  • options用来填写untaint的flags
  • name用来指定资源,同taintaddress参数

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的新工作区

代码语言:txt复制
    //Create a new workspace
    $ terraform workspace new test
创建新工作区创建新工作区

terraform workspace list 列出现有的工作区,使用星号*标记指示当前工作区

代码语言:txt复制
    // List the workspace
    $ terraform workspace list
查看所有工作区查看所有工作区

terraform workspace select [NAME] 选择一个进一步操作的工作区,NAME用来指定新工作区的名字

代码语言:txt复制
    // Select the workspace
    $ terraform workspace select

将workspace从test变成default

进入default工作区进入default工作区

terraform workspace delete [NAME] 删除已有的工作区

删除test工作区

代码语言:txt复制
    // Delete the workspace
    $ terraform workspace delete test
删除test工作区删除test工作区

terraform workspace show 输出当前工作区的名字

代码语言:txt复制
    // Show the workspace
    $ terraform workspace show
打印当前工作区打印当前工作区

二、写在最后


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

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

0 人点赞