使用你经常用的编程语言,将基础设施作为代码进行配置

Pulumi 将其状态存储在后端。默认的后端是 Pulumi 的软件即服务(它有一个针对个人用户的免费计划),但在这个例子中,我使用替代的文件后端。文件后端将在你的本地文件系统上创建一个文件来存储状态:


  1. pulumi login --local

如果你打算和别人分享这个项目,文件后台可能不是一个好的起点。Pulumi 还可以将其状态存储在 AWS S3 等云对象存储中。要使用它,请创建一个 S3 bucket 并登录:


  1. pulumi login --cloud-url s3://my-pulumi-state-bucket

现在你已经登录到了状态后端,你可以创建一个项目和一个堆栈了!

在你开始创建 Pulumi 项目之前,请先了解以下 Pulumi 术语,你将在本教程中看到这些术语。

项目

是一个包含 Pulumi.yaml 文件的目录。这个文件包含了 Pulumi 需要知道的元数据,以便进行它的工作。在 Pulumi.yaml 文件中可以找到的示例字段有:

  • 运行时(例如,Python、Node、Go、.Net)
  • 项目说明(如“我的第一个 Pulumi 项目”)
  • 项目名称

项目是一个松散的概念,可以满足你的需求。一般来说,一个项目包含了一系列的资源,这些资源是你想要提供和控制的东西。你可以选择拥有资源很少的小型 Pulumi 项目,也可以选择包含所有你需要的资源的大型项目。随着你对 Pulumi 越来越熟悉,你想如何布局你的项目会变得更加清晰。

堆栈

Pulumi 允许你根据可配置的值来区分你的 Pulumi 项目。一个常见的用途是将一个项目部署到不同的环境,如开发或生产环境,或不同的地区,如欧洲、中东和非洲以及美国。

在入门时,你不大需要一个复杂的堆栈设置,所以本演练使用默认的堆栈名称 dev

在 IaC 中使用 TypeScript

你可以使用方便的 pulumi new 命令来初建bootstrap一个 Pulumi 项目。new 命令有一大堆标志和选项,可以帮助你入门 Pulumi,所以请继续创建你的第一个项目:


  1. $ pulumi new typescript
  2. This command will walk you through creating a new Pulumi project.
  3.  
  4. Enter a value or leave blank to accept the (default), and press <ENTER>.
  5. Press ^C at any time to quit.
  6.  
  7. project name: (pulumi) my-first-project
  8. project description: (A minimal TypeScript Pulumi program) My very first Pulumi program
  9. Created project 'my-first-project'
  10.  
  11. Please enter your desired stack name.
  12. To create a stack in an organization, use the format <org-name>/<stack-name> (e.g. `acmecorp/dev`).
  13. stack name: (dev) dev
  14. Created stack 'dev'
  15.  
  16. Installing dependencies...
  17.  
  18.  
  19. > node scripts/postinstall
  20.  
  21. added 82 packages from 126 contributors and audited 82 packages in 2.84s
  22.  
  23. 13 packages are looking for funding
  24. run `npm fund` for details
  25.  
  26. found 0 vulnerabilities
  27.  
  28. Finished installing dependencies
  29.  
  30. Your new project is ready to go! ✨
  31.  
  32. To perform an initial deployment, run 'pulumi up'

这里发生了很多事情,我将其展开来说:

第一部分是为你的 Pulumi 项目确定一个模板。我选择了通用的 typescript 选项

【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章