摘要:
本文为HashiCorp公司亚太区架构师Liu Yulei先生原创。在阅读完专栏文章《如何高效的进行腾讯云上的资源编排,一起来聊一聊Terraform》后,Liu Yulei根据客户实践案例,对文中一些遗漏之处进行了补充说明,原文发表于github上,现转载过来供大家参考。
另外,本专栏不仅会有腾讯云内部的研发专家、产品经理参与互动,同时我们还会邀请业界大牛一起来参与相关的技术讨论,比如Liu Yulei先生等,欢迎大家长期关注~~
创建API密钥
脚本中Provider的SecretID和Secretkey可以在腾讯云的控制台“访问密钥”创建,如下图所示:
密钥管理
基于安全的原因,尤其是多人共同管理同一群资源的时候,不建议把腾讯云API Key写到源代码里,以免一不小心上传到公开的版本控制里。一般建议把这类信息放在环境变量里边。比如:
代码语言:txt复制$ export TENCENTCLOUD_SECRET_ID="your_fancy_accesskey"
$ export TENCENTCLOUD_SECRET_KEY="your_fancy_secretkey"
$ export TENCENTCLOUD_REGION="ap-guangzhou"
这样的话provider部分就可以是全空的了, 比如:
代码语言:txt复制provider "tencentcloud" {}
详细使用,可以参考文档TencentCloud Provider
PS:腾讯云目前支持Terraform的两种密钥配置方式:1、静态密钥,即在HCL脚本中明确配置。该方式最简单,但也是最不灵活、最不安全的方式;2、环境变量的方式。Terraform默认先在HCL脚本中读取密钥信息,如果没有配置,Terraform则会尝试从环境变量中读取。
初始化
对于初次使用Terraform的用户,Terraform安装完成后首先需要初始化。
补充说明一下:Terraform的执行过程是通过读取当前目录下的所有“.tf”格式文件来进行的。每次初始化的过程,Terraform都会下载代码中使用到的provider,包括腾讯云provider相关代码至当前目录下的“.terraform/”文件夹内。
自定义镜像
创建CVM时,腾讯云支持使用自定义镜像文件,也可以使用公共镜像。镜像ID可以在腾讯云控制台查询。
案例
Liu Yulei在GitHub上分享了一个更加简洁的案例,使用了公共镜像创建CVM,可以参考链接。
感谢
最后,我们非常感谢Liu Yulei一直以来对我们产品的关注和支持!也期待在未来腾讯云和我们的生态伙伴一起为腾讯云用户提供更大的价值~~