首页 >互联网 > 内容

Pulumi发布新版本本新策略作为代码工具

互联网 2020-05-29 11:31:30

Pulumi发布了他们的开源基础架构2.0版本作为代码平台。该版本包括一个名为CrossGuard的新策略代码系统。还包括将现有系统迁移到Pulumi的改进。

策略即代码系统CrossGuard允许在提供基础设施时声明护栏来强制遵从性。这有助于坚持基础设施的声明和创建中的最佳实践。这些规则可以用TypeScript、JavaScript、Node编写。可以应用于由Pulumi支持的任何语言编写的堆栈。

可以将策略分组到策略包中。策略包中的每个策略必须具有唯一的名称。在编写断言时,建议使用完整的句子来编写断言,同时指定违反的资源。例如,一个禁止S3 bucket进行公共读取的策略可能是这样的:

该版本还包括一组AWS的预先编码的实践。AWSGuard是一个可配置的库,可以在策略包中采用和使用。还有AWS、Azure、谷歌云和Kubernetes的示例策略包。更多关于CrossGuard的细节可以在FAQ中找到。

在这个更新中还包括了在现有基础设施中采用Pulumi的三种方法。它们是共存、导入和转换。当已经提供了基础设施,但不希望完全转换为Pulumi时,将使用共存。通过共存,由Pulumi提供的新基础设施可以与原始基础设施共存。每个资源上都有资源获取器,允许使用它的ID从云提供商那里读取资源的所有细节。堆栈引用允许引用另一个Pulumi堆栈的输出,作为一个堆栈的输入。作为一个类似的工具,外部堆栈引用允许将非Pulumi堆栈的输出作为输入引用到Pulumi堆栈。

例如,可以从terraform读取数据。tfstate文件。在这段代码中,AWS EC2 VPC和子网id从terraform中读取。tfstate文件,用于提供新的EC2实例:

也可以进口现有的基础设施,使其处于Pulumi的控制之下。这不同于共存,因为通过导入,Pulumi将能够修改和删除基础设施。Pulumi可以从CLI或Terraform导入基础设施,无论它是如何创建的,例如通过云提供商的控制台。

最后,通过转换,可以将现有的基础设施作为代码转换为等效的Pulumi程序结构。目前可用的主要转换工具是tf2pulumi,它将Terraform HCL转换为Pulumi代码。默认情况下,这将转换为TypeScript。要转换成Python,使用tf2pulumi——目标语言Python。

更多关于Pulumi的细节可以在官方博客中找到。可以获得从1.0版本迁移的迁移指南。Pulumi开源可以从GitHub下载。Community Edition也可以免费下载并在个人基础上使用。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢。