植树节快来InfoQ技术大会认领你的专属果树吧>> 了解详情
写点什么

HashiCorp 发布了 Terraform 0.8,包括交互式控制台、Vault 和 Nomad 供应器

  • 2017 年 1 月 11 日
  • 本文字数:1775 字

    阅读完需:约 6 分钟

HashiCorp 发布了 0.8 版的 Terraform 。Terraform 是一个开源工具,它能通过亚马逊网页服务、VMware vSphere 和 UltraDNS 等基础设施供应商构建、组合和发布可编程基础设施。主要的新功能包括交互式控制台条件值、HashiCorp Vault Nomad 供应器等。

Terraform 0.8 版除原有的 terraform 控制台之外,还新增加了一个交互式控制台,它可以用于尝试插值,以及检查基础设施。HashiCorp 的博客表示,对于不熟悉Terraform 的开发者来说,控制台是一个非常棒的附加学习资源,因为插值(任何你想放入TerraForm 配置属性的东西)可以被输入控制台,然后就可以看到它产生的输出了。控制台目前只读,这是为了防止任何对基础设施或状态的不小心误改。

插值现在支持基本的条件判断,它支持对值进行条件赋值,比如在一个资源的元参数里。当与资源的“count”参数结合起来时,这样就可以支持对资源的条件性包含,比如 ‘count = “${var.env == “production” ? 1 : 0}”。这个例子的意思是,通过将变量“env”设置成非“production”的某个值,那么相关的资源数量就会是0,因此它不会被创建。Terraform 支持以下逻辑运算符: 相等判断== 和!=,数字比较>、<、>= 和<=,还有布尔运算符&&、||和!(一元运算)。

在Terraform0.8 版本里,现在也可以指定对Terraform版本的限制了,方法是使用 Terraform 配置元参数“required_version”,比如“required_version >=0.8,<0.9”。HashiCorp 的博客指出,添加这个功能的目的在于避免 Terraform 程序版本和 Terraform 配置之间的不一致,并且可以被用于某些场景,举例来说,某些缺陷已经在较新的版本中修复了,但是却有可能对现有的基础设施造成问题,那么加上这个参数就可以限制对版本的要求,从而避免意外的损坏。如果Terraform 版本不能与要求的版本相匹配,Terraform 将在很早的阶段就输出错误,通知用户他们必须改变他们的Terraform 版本,才能够与配置一起正常工作。

创建和更改基础设施通常需要若干不同的凭据,例如API 访问令牌和数据库管理密码等,而且存储这些凭据的最好的地方就是一个安全的秘密管理工具。Terraform Vault 供应器允许 Terraform 去读取 Vault、写入 Vault 和配置 Vault ,Vault 就是 HashiCorp 的管理秘密的工具。

Terraform 的文档中声明,Vault 供应器目前只支持一般性的秘密的后台,但这已经可以满足两种常见的初级用例了:(1)配置和填充Vault:Vault 管理员可以使用Terraform 去配置Vault,再用秘密填充它;(2)在Terraform 配置中使用Vault 凭证:凭证可以从Vault 中获取,这意味着为了获得访问其他供应商的临时租约,运维人员或者运行Terraform 的系统只需要访问一个赋予了适当权限的Vault 令牌即可。

还有一点需要特别注意的是,Terraform 的 Vault 供应器文档中提到,在 Terraform 中与 Vault 交互时,任何你读或写的秘密都会被保存在 Terraform 的状态文件中,同时还会保存在任意生成的计划文件中。所以对于任意读写Vault 秘密的Terraform 模块来说,这些文件都应被视为非常敏感的文件,因此需要被保护起来。此外,对于通过配置文件提供的秘密来说,目前Terraform 没有提供任何编辑或保护它们的机制,因此相应地,对于选择使用Terraform 去填充Vault 秘密的团队来说,他们应该仔细阅读每个资源的文档的相关章节,了解这些秘密是如何被保存到状态中的,并且仔细考虑这样的做法是否满足他们公司的安全策略要求。

新的 Nomad 供应器允许 Terraform 为 HashiCorp Nomad 分布式调度器创建作业,它必须作为基础设施创建过程的一部分运行。这里的用例主要是系统作业或者批量初始化作业。HashiCorp 博客表示,这一新功能并不是在试图完全取代 Nomad 的运行,但 Terraform 可以用来引导一个集群以及相关的应用。

Terraform 0.8 版本也有几点与 Terraform 0.7 不能向后兼容的地方,HashiCorp 团队建议开发者们认真查看升级指南。升级指南详细描述了版本之间不兼容的细节,以及在升级到0.8 版本时所需要考虑的细节。

要了解更多关于HashiCorp Terraform v0.8 发布的细节,可以查看HashiCorp 的博客。在HashiCorp 网站上可以下载Terraform二进制文件,并且在项目的 GitHub 库可以找到 Terraform 的代码(主要用 Golang 写成)。

阅读英文原文 HashiCorp Release Terraform 0.8, Including an Interactive Console, and Vault and Nomad Providers

2017 年 1 月 11 日 18:001992
用户头像

发布了 152 篇内容, 共 61.6 次阅读, 收获喜欢 61 次。

关注

评论

发布
暂无评论
发现更多内容

DataPipeline亮相“2021科技助力湾区数字金融发展峰会”,解锁“实时数据管理”密码

DataPipeline数见科技

高质量、高并发的实时通信架构设计与探索

融云 RongCloud

架构 通信

​Web攻击怎么办?安全防护有方案

浪潮云

安全

什么样的技术能进入一线大厂?这份阿里、百度、腾讯等 20家Java岗招聘要求梳理报告,会给你答案;

Java架构师迁哥

飞行汽车到底能不能普及?

石云升

思维方式 科技革命 28天写作 3月日更

互联网信贷风险与大数据 存量管理

张老蔫

28天写作

Lex Fridman: How to learn and master a new skill 简评

teoking

基于SparkMLlib智能课堂教学评价系统的设计与实现(一)

大数据技术指南

大数据 spark 智能时代 28天写作 3月日更

「Linux」网络配置大揭秘

我是程序员小贱

3月日更

跳表

一个大红包

3月日更

原来我还有网络天赋

叫练

网络 交换机

Linux 高并发服务器 select/poll实现

赖猫

Linux linux编程 linux开发 Linux服务器开发

San CLI 的实现原理

百度Geek说

cli service san command

网易游戏基于 Flink 的流式 ETL 建设

Apache Flink

flink

嵌入式技术与人工智能有什么关系?

cdhqyj

人工智能 嵌入式 系统 科技

粉丝福利 | 秒 get 支付宝同款扫码组件

蚂蚁集团移动开发平台 mPaaS

支付宝 二维码 mPaaS 扫码 QRCODE

读书笔记:我的安全世界观

架构精进之路

安全 #读书 3月日更

啥?用了并行流还更慢了

L

Java

并发编程-原子操作CAS

赖猫

c++ 高并发 并发 CAS Linux服务器开发

浅谈:国内低代码开发平台能搭建哪些企业管理系统?

优秀

低代码开发平台

Oracle中我们什么时候需要用到定时任务?

xiezhr

oracle 定时任务 存储过程

(28DW-S8-Day21) 《流程型组织》学习笔记:「客户第一」还是「老板第一」

mtfelix

28天写作 流程型组织

打卡第一次

容光

办公自动化

Elasticsearch Document 写入原理

escray

elastic 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

Redis和Memcached的区别

赖猫

redis memcached 服务器开发 Linux服务器开发

CodeHub#4 前情预告|H5 容器在技术实践中的应用

蚂蚁集团移动开发平台 mPaaS

html5 移动开发 codehub 教育科技

十四五重头戏的工业互联网,为什么需要IP化先行

脑极体

优化自动化测试流程,使用 flask 开发一个 toy jenkins工具

和牛

Python 软件测试

一名MindSpore新手的爬坑记录~~

依旧廖凯

28天写作 3月日更

Python DataTime 日期处理

HoneyMoose

Wireshark数据包分析学习笔记Day9

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

HashiCorp发布了Terraform 0.8,包括交互式控制台、Vault和Nomad供应器_云计算_Daniel Bryant_InfoQ精选文章