我一直在尝试寻找有关 Pulumi 中 Terraform 模块的等效项的问题的答案,最接近的答案是此博客的链接。请记住,我也是使用 Pulumi 的初学者。
使用 Terraform,您可以创建一个包含所有模块的 git 存储库,对其进行版本控制并使用source = "git@github.com:xyz". Terraform 还允许您根据条件(例如区域、帐号或环境)打开和关闭资源(使用count模块和资源的方法)。
显然 Pulumi 没有这个概念,看起来您需要在每个存储库中复制代码或创建一个包含所有代码的巨型整体存储库。我还想知道功能标志的最佳实践是什么,为每个特定堆栈打开和关闭资源,您将为此使用什么样的条件。
再次感谢您的亮点!
一般来说,您应该用您选择的语言创建库,并在其中放置可重用的函数、类和组件。例如,如果您使用 TypeScript,则可以使用您想要在项目和团队之间重用的任何代码创建一个 NPM 模块(公共或私有)。
更具体地说,如果您正在寻找一种将多个资源组合成可重用的高级抽象的方法,您可以将其实现为Component Resource。组件将接受输入,在其构造函数中实例化一些资源,并返回输出值。您仍然可以将一个组件(或多个组件)打包为可重用库。
Pulumi 还允许您创建多语言组件,您可以用一种语言实现它,然后以所有支持的语言发布它以供每个人使用。您可以将多语言组件作为包发送到 Pulumi 注册表中,以简化发现和安装。请阅读Pulumi 包和多语言组件中的更多内容,并查看注册表中的其他组件。
| 归档时间: |
|
| 查看次数: |
911 次 |
| 最近记录: |