云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

虚拟主机_阿里云计算_排行榜

小七 141 0

HashiCorp地形0.11

我们很高兴地宣布发布HashiCorp terraform0.11。Terraform使您能够通过声明性代码安全、可预测地创建、更改和改进基础设施。立即下载Terraform 0.11的亮点包括:改进了Terraform注册表集成,模块版本控制和私有注册表支持每个模块提供程序配置使用"terraform apply"命令优化CLI工作流有关terraform0.11版本的详细信息,请参阅Terraform核心变更日志和0.11升级指南。除了TerraForm0.11的开发之外,自0.10发布之日起,许多Terraform提供商看到了改进,包括:亚马逊网络服务提供商Microsoft Azure提供程序谷歌云提供商VMware vSphere提供程序HashiCorp保管库提供程序同样在0.11开发期间,通过提供程序开发程序添加了两个新的提供程序:Terraform现在可以用于管理LogicMonitor(一个性能监视平台)和cloudscale.ch(云计算提供商)。»改进的Terraform注册表集成Terraform注册表于2017年HashiConf发布,在Terraform 0.10.6中添加了初始支持,以配合其发布。terraform0.11完全支持模块版本约束和私有注册中心,从而完成了这一集成。»模块版本约束在terraform0.11之前,Terraform总是在特定的源代码上安装最新的模块版本,这给跨潜在的多种配置的新模块版本的逐步推出带来了挑战。与Terraform Registry结合使用,Terraform现在对模块上的版本约束提供了一流的支持,与Terraform 0.10中添加的provider插件类似:"示例"模块{source="hashicorp/consur/azurerm"版本="0.0.4"}使用上述配置,Terraform将始终安装适用于microsoftazure的consur模块0.0.4版本,而不管发布了什么新版本。然后,此配置的作者可以选择在方便的时候升级,而不必受系统的强迫。虽然这对于公共Terraform注册中心来说尤其重要,因为公共模块的新版本随时可能到达,但是对于那些维护内部私有模块的人来说,这也是一个非常需要的特性,这些模块在许多环境配置中使用。与provider插件不同,可以在给定的配置中混合同一模块的不同版本,从而允许使用诸如blue/green部署这样的用例,其中一个模块的实例被升级,而另一个实例保持不变。每个模块块独立于所有其他模块块解决其约束,使操作员能够完全控制升级。对模块和提供程序插件的版本约束的更改由terraforminit处理。更改配置中的版本约束后,运行terraform init-upgrade以安装在给定约束内允许的每个模块和每个提供程序插件的最新版本:$terraform init-升级正在升级模块。。。- module.consur_服务器正在更新源"./modules/consur cluster"- module.consur_客户端正在更新源"./modules/consur cluster"- module.consur_服务器安全组规则正在更新源"../conver security group rules"- module.consur_服务器.iam_政策正在更新源"../consur iam policies"- module.consur_客户端安全组规则正在更新源"../conver security group rules"- module.consur_客户端.iam_政策正在更新源"../consur iam policies"正在初始化提供程序插件。。。-正在检查上的可用提供程序插件https://releases.hashicorp.com。。。-正在下载提供程序"aws"(1.2.0)的插件。。。-正在下载提供程序"模板"(1.0.0)的插件。。。地形已成功初始化!...»私有注册支持面向公共的Terraform模块注册中心只能承载公共模块,并且面向可在许多组织中用作构建块的可重用开放源代码模块。terraform0.11引入了对私有模块注册的支持,作为Terraform Enterprise的一部分提供,以简化组织内可重用模块的分布和使用。私有注册中心使用注册表源语法的扩展版本,其中包括注册表的主机名,或提供注册表的Terraform企业实例的主机名:"示例"模块{源="app.terraform.io/engineering/nomad/aws"版本="1.2.0"}私有注册中心与公共注册中心共享所有相同的功能,但需要身份验证凭据。当作为Terraform Enterprise Premium专用安装的一部分使用时,私有注册中心也会部署在组织的本地网络中,以允许在不访问Internet的情况下使用。Terraform开源项目不包括私有注册服务器实现,但我们已经记录了模块注册API,并欢迎社区创建此协议的其他实现来满足特殊需求。»每个模块提供程序配置Terraform Core当前的一大投资领域是改进Terraform配置格式。我们收集了关于常见痛点的反馈,并试图全面解决这些问题,同时也要谨慎对待现有的使用方法。本地值是我们在这个领域的第一个变化,在terraform0.10.3中发布,terraform0.11通过解决模块的限制和可用性问题以及它们与提供者配置的交互来继续这项工作。在许多Terraform配置中,提供者在根模块中只声明一次,然后由任何子模块中的资源自动继承。但是,还有更复杂的情况,配置中的每个模块需要不同的提供程序配置组合,例如配置跨多个区域管理资源。Terraform 0.11引入了一种新机制,允许使用providers参数将提供程序配置显式地传递到子模块中:提供商"谷歌"{region="美国中央1"alias="usc1"}提供商"谷歌"{region="欧洲-西方2"alias="euw2"}"网络-usc1"模块{source="塔斯迪克拉曼/网络/谷歌"提供程序={"谷歌"="谷歌.usc1"}}"网络-euw2"模块{source="塔斯迪克拉曼/网络/谷歌"提供程序={"谷歌"="谷歌.euw2"}}providers映射允许每个模块拥有自己的提供者配置"视图"。在上面的示例中,中的任何资源模块.网络-使用google provider的usc1将使用此父模块中别名为usc1的配置,而模块.网络-euw1使用别名为euw2的配置管理一组等效的资源。此机制还允许更复杂的场景,例如将同一提供程序的多个别名提供程序配置传递给子模块。有关更多信息,请参阅模块用法文档。由于模块是Terraform的一个核心特性,在以后的版本中,模块的进一步更改将随着语言中其他地方的不断改进而进行,包括对复杂类型变量的支持。»简化的CLI工作流terraform计划命令是terraform的一个重要特性,它允许用户在进行任何更改之前查看terraform将执行哪些操作,从而增加了对更改一旦应用将产生所需效果的信心。然而,传统上,安全地使用计划需要将计划作为文件写入磁盘,然后将该文件单独提供给terraform apply命令。从Terraform 0.11开始,这两个命令的功能都被合并到Terraform apply命令中,并通过交互式审批步骤来查看生成的计划:$terraform应用已生成执行计划,如下所示。资源操作用以下符号表示:+创建Terraform将执行以下操作:+美国焊接学会_实例.示例id:ami:"ami-2757f631"员工公共ip地址:可用性区:ebs_块_设备。#:临时块设备实例状态:实例类型:"t2.micro"ipv6地址计数:ipv6地址。#:密钥名称:网络接口:网络接口标识:放置组:主网络接口id:私有域名:私有ip:公共域名:公共ip:根块设备。\:安全组:source\u dest_check:"真"子网标识:租赁:体积标记。%:专有网络安全组标识:计划:1表示添加,0表示更改,0表示销毁。是否要执行这些操作?Terraform将执行上述操作。只接受"是"进行批准。输入值:通过生成计划并将其应用到同一个命令中,Terraform可以保证执行计划不会更改,而无需将其写入磁盘。这样可以降低潜在敏感数据被遗留或意外签入版本控制的风险。如果当前配置使用支持状态锁定的远程后端,Terraform还将在整个操作过程中保留状态锁,从而防止并发创建其他计划。建议将此新用法作为交互使用的主要工作流。以前使用terraform plan生成计划文件的工作流仍然支持