Pulumi 中的 Terraform 模块相当于什么



我一直在努力寻找这个问题的答案,关于Pulumi中Terraform模块的等价物,最接近的答案是这个博客的链接。请记住,我也是使用Pulumi的初学者。

使用Terraform,您可以创建一个包含所有模块的git存储库,对其进行版本设置,并使用source = "git@github.com:xyz"将其拉入其他各种git存储库中。Terraform还允许您根据地区、帐号或环境等条件打开和关闭资源(对于模块和资源,使用count方法(。

显然,Pulumi没有这个概念,看起来你需要在每个存储库中复制你的代码,或者创建一个包含所有代码的巨型存储库。我还想知道功能标志的最佳实践是什么,为每个特定堆栈打开和关闭资源,你将使用什么样的条件。

再次感谢您的精彩表演!

一般来说,您应该用您选择的语言创建库,并在其中放置可重用的函数、类和组件。例如,如果您使用TypeScript,您可以创建一个NPM模块(公共或私有(,其中包含您希望在项目和团队中重用的任何代码。

更具体地说,如果您正在寻找一种将多个资源组合成可重用的更高级别抽象的方法,您可以将其实现为组件资源。组件将接受输入,在其构造函数中实例化一些资源,并返回输出值。您仍然可以将一个组件(或多个组件(打包为可重用库。

Pulumi还允许您创建多语言组件,您可以用一种语言实现它,然后用所有支持的语言发布它,供每个人使用。您可以在Pulumi注册表中以包的形式提供多语言组件,以简化查找和安装。在Pulumi软件包和多语言组件中阅读更多信息,并查看注册表中的其他组件。

我在这里写了一篇关于用pulumi实现特性标志的文章。总之,您应该使用Pulumi配置系统。您可以将配置值存储在堆栈设置文件中,该文件将自动命名为Pulumi。。yaml。您应该将资源拆分为自己的python模块,然后可以根据配置文件中的设置选择性地导入这些模块。

最新更新