GMTC全球大前端技术大会(北京站)门票9折特惠截至本周五,点击立减¥480 了解详情
写点什么

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

2017 年 1 月 11 日

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:001871
用户头像

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

关注

评论

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

迎接物联网时代,区块链大有可为

CECBC区块链专委会

云计算 大数据 区块链技术

爱技术爱折腾,想要编程到60岁--我的十年

盛安德软件

易观方舟Argo+CRM | 让企业数据发挥更大价值

易观大数据

科普小知识:区块链与分布式系统

CECBC区块链专委会

区块链 分布式

月度工作汇报,为什么要全球直播?

赵新龙

TGO鲲鹏会 技术社区 开源社区

区块链钱包应用开发,数字货币钱包源码

13530558032

为什么中国出了这么多厉害的互联网公司,但没有自己设计过编程语言?

代码制造者

编程语言 低代码 企业信息化 零代码 编程开发

前端智能化的加速时刻:华为机器视觉的创新方程式

脑极体

甲方日常2

句子

工作 随笔杂谈 日常

架构重构之禅

ninetyhe

Java 架构设计 代码重构

LeetCode题解:20. 有效的括号,栈,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

背景自由替换,远程办公好助手

华宇法律科技

《搞定1》读书笔记

超超不会飞

Woman、man、camera、TV:如何做一个完整的深度学习应用

LeanCloud

学习 程序员 互联网 云容器引擎 LeanCloud

Apache Pulsar 2.6.1 版本正式发布:2.6.0 功能增强版,新增 OAuth2 支持

Apache Pulsar

消息队列 Apache Pulsar 消息系统 消息中间件

JAVA,.NET项目开发难上手?Learun敏捷开发框架解君愁

Learun

XSKY星辰天合助力中国五矿打造政企办公新标杆

XSKY融合存储

合约跟单交易系统开发,交易所一键跟单模式搭建

13530558032

温故知新——Spring AOP

牛初九

spring aop ioc

有选择才会有困惑

escray

学习 面试 面试现场

区块链承兑支付系统开发,USDT入金支付系统

13530558032

司法视频行为分析引擎

华宇法律科技

永续合约交易系统开发方案,合约交易所源码搭建

13530558032

OPPO互联网DevSecOps实践

OPPO安全

DevOps 安全

区块链是一个有去无返的奇幻旅程

CECBC区块链专委会

区块链

第 0 期架构师训练营第 4 周作业 1

傅晶

聊聊微服务

炜娓道来程序人生

架构 微服务 SOA

解决数据指数级增长挑战,英特尔如何又快又好提供领导力产品?

最新动态

面试官再问你Http请求过程,怼回去!

架构师修行之路

HTTP TCP/IP

【Elasticsearch 技术分享】—— ES 查询检索数据的过程,是什么样子的?

程序员小航

Java elasticsearch 搜索 ES Lucene Elastic Search

第 0 期架构师训练营第 4周作业 2--- 总结

傅晶

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