前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Terraform Cloud免费开放

Terraform Cloud免费开放

原创
作者头像
刘宇雷
修改2019-09-16 14:43:02
4.4K8
修改2019-09-16 14:43:02
举报
文章被收录于专栏:生态产品生态产品

Terraform Cloud正式GA

为了方便广大开源客户,Hashicorp在2019年5月决定将Terraform Cloud的远程状态管理功能免费开放给开源版用户。而上周在西雅图的Hashiconf上,为了满足中小企业的需求,Hashicorp正式推出了Terraform Cloud,这个版本也同时开放了更多的免费功能给不超过5人的团队使用。Terraform Cloud的功能分成免费版、团队版以及集中控制功能,本文主要对免费版功能进行介绍。

免费版功能

免费版功能包括版本控制集成、远程计划和实施远程计划和实施通知及webhook全http API驱动状态管理模拟计划私有化模块注册器以及全HTTP界面。

版本控制集成

其中版本控制集成提供了对GitHub,GitLab,Bitbucket的支持。Terraform的源代码可以存储在以上三种版本控制软件中,在源文件出现变化的情况下,Terraform Cloud会自动同步源代码并进行计划和实施。除此之外,用户也可以通过命令行、图形界面或者API来进行计划和是实施。

对远程状态管理进行增强

除了之前开放的远程状态管理功能,Terraform Cloud的workspace中,还包括了保存敏感信息、提供terraform变量环境变量的功能。

团队协作

免费版用户也可以创建团队,并且邀请不超过5名其它terraform 用户一起对组织里的Terraform workspace进行管理。

下面我们看一看具体怎样使用Terraform Cloud。

具体怎样使用Terraform Cloud

创建一个新的组织

首先需要创建一个新的组织,只有新创建的组织才会获得新功能。

Greenshot 2019-09-14 20.01.09.png
Greenshot 2019-09-14 20.01.09.png

与GitHub进行集成

创建新组织以后,会有自动向导引导用户集成版本控制,本文以GitHub为例。

首先选择GitHub,向导会要求用户授权:

Connecting-Github1.png
Connecting-Github1.png
connecting-github-2.png
connecting-github-2.png
connecting-github-3.png
connecting-github-3.png
connecting-github-4.png
connecting-github-4.png

经过这几个步骤以后,跟GitHub的集成就完成了,下面是向导自动创建一个新的workspace,将workspace与给定的repo连接。

connecting-github-6.png
connecting-github-6.png
connecting-github-7.png
connecting-github-7.png

下一步对workspace的变量进行配置。这里的变量包括以前在单机版上的环境变量,以及源代码tfvars文件中的terraform变量:

variables-secrets.png
variables-secrets.png

注意这里可以有选择的将一些变量标记成敏感,这样该变量的具体数值就不会在界面上显示,而其它用户甚至管理员也不能看到这个值。

变量配置完成以后,就可以通过图形界面驱动计划和实施了:

queue-plan.png
queue-plan.png

一个简单的图形界面人工驱动流程就完成了。下面看一下gitops的流程:

做一个pull request

pullrequest.png
pullrequest.png

Terraform Cloud会做一个模拟计划

Pull Request生成后,github会通知Terrform Cloud做检查,大约几秒钟以后,terraform cloud的检查结果就会反映到github界面上:

pullrequest-check.png
pullrequest-check.png

这个pull request的检查结果是正常的,用户也可以点击“details”,直接到Terraform Cloud中去查看具体的计划结果。

这个功能不但可以让用户看到代码的改变,而且可以看到这些代码改变对云资源的影响。

批准pull request

用户根据模拟计划的结果,决定批准还是拒绝这一个pull request。也可以拷贝粘贴terraform cloud的计划输出到github里来。

add-comment-to-pr.png
add-comment-to-pr.png
merged.png
merged.png

成功实施

PR通过以后,terraform cloud就会进行实施。

needs-confirmation.png
needs-confirmation.png

注意缺省设置下,这个实施需要批准,用户也可以在workspace通用设置里,设置成自动实施。

set-auto-apply.png
set-auto-apply.png

邀请其它用户一起管理workspace

有了这个基础以后,你可以开始邀请其他人加入你的团队(team),整个团队可以通过统一的流程来管理云资源了。

结语

本文用到的腾讯云例子可以在这里找到。可以看到这个目录中的源代码跟[腾讯云第一个例子](https://github.com/ausmartway/tencent-cloud-simple-example/tree/master/first-example)有所不同,原先用来保存腾讯云密钥的文件已经不再使用了,现在使用了环境变量进行存储。

Terraform Cloud本身就是一个pipeline,可以直接与版本控制集成,并通过gitops来进行整个云资源环境的规划和实施。如果你已经有了现成的pipeline,Terraform Cloud还可以通过HTTP API来驱动, 能够很简单的集成到pipeline里。各位还在等什么呢?

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Terraform Cloud正式GA
  • 免费版功能
    • 版本控制集成
      • 对远程状态管理进行增强
        • 团队协作
        • 具体怎样使用Terraform Cloud
          • 创建一个新的组织
            • 与GitHub进行集成
              • 做一个pull request
              • Terraform Cloud会做一个模拟计划
              • 批准pull request
              • 成功实施
            • 邀请其它用户一起管理workspace
              • 结语
              相关产品与服务
              云服务器
              云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档