软件简介

Pulumi 是一个架构即是代码的开源项目,可在任何云上创建和部署使用容器,无服务器功能,托管服务和基础架构的云软件的最简单方法。

只需用您喜欢的语言编写代码,Pulumi就可以使用基础架构即代码方法自动配置和管理您的AWS,Azure,Google Cloud Platform和/或Kubernetes资源。 跳过YAML,使用您已经熟悉和喜爱的标准语言功能,如循环,函数,类和包管理。

如下代码可创建三个 Web 服务器:

let aws = require("@pulumi/aws");
let sg = new aws.ec2.SecurityGroup("web-sg", {
    ingress: [{ protocol: "tcp", fromPort: 80, toPort: 80, cidrBlocks: ["0.0.0.0/0"]}],
});
for (let i = 0; i < 3; i++) {
    new aws.ec2.Instance(`web-${i}`, {
        ami: "ami-7172b611",
        instanceType: "t2.micro",
        securityGroups: [ sg.name ],
        userData: `#!/bin/bash
            echo "Hello, World!" > index.html
            nohup python -m SimpleHTTPServer 80 &`,
    });
}

或者一个简单的无服务器定时器,在每天早上八点半抓取 Hacker News 的信息:

const aws = require("@pulumi/aws");

const snapshots = new aws.dynamodb.Table("snapshots", {
    attributes: [{ name: "id", type: "S", }],
    hashKey: "id", billingMode: "PAY_PER_REQUEST",
});

aws.cloudwatch.onSchedule("daily-yc-snapshot", "cron(30 8 * * ? *)", () => {
    require("https").get("https://news.ycombinator.com", res => {
        let content = "";
        res.setEncoding("utf8");
        res.on("data", chunk => content += chunk);
        res.on("end", () => new aws.sdk.DynamoDB.DocumentClient().put({
            TableName: snapshots.name.get(),
            Item: { date: Date.now(), content },
        }).promise());
    }).end();
});

更多的例子请看 pulumi/examples.

该项目包含 Pulumi 的命令行工具、语言 SDK 和核心引擎。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (1)

加载中
这个牛逼
2019/08/23 11:21
回复
举报
更多评论
暂无内容
发表了博客
2020/12/14 07:02

IaC之Terraform 与Pulumi使用对比

一 简介 在iac(Infarftruce As Code)方面,老将Terraform已经利用yaml独领风骚很长时间,新军pulumi以其独到的代码实现资源编排一出场就光芒四射,对于不同场景,不同公司组织架构,以及不同的厂商范围,可以参考以下内容进行查看其区别。 二 功能 2.1 terraform 概念:Terraform 是 Hashicorp 公司开源的一种多云资源编排工具。使用者通过一种特定的配置语言(HCL, Hashicorp Configuration Language)来描述基础设施,由 Terr...

0
0
发表了博客
2020/11/28 08:51

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

用 Node.js 或其他编程语言为你提供启动基础设施所需的一切服务。 当你在 IT 和技术的世界里遨游时,你会反复遇到一些术语。其中有些术语很难量化,随着时间的推移,可能会有不同的含义。“DevOps” 就是一个例子,这个词似乎(在我看来)会根据使用它的人而改变;最初的 DevOps 先驱者可能甚至不认识我们今天所说的 DevOps。 如果你是一个软件开发者,“基础架构即代码Infrastructure as Code”(IaC)可能是其中一个术语。IaC...

0
0
发表了博客
2020/11/30 08:47

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

用 Node.js 或其他编程语言为你提供启动基础设施所需的一切服务。 当你在 IT 和技术的世界里遨游时,你会反复遇到一些术语。其中有些术语很难量化,随着时间的推移,可能会有不同的含义。“DevOps” 就是一个例子,这个词似乎(在我看来)会根据使用它的人而改变;最初的 DevOps 先驱者可能甚至不认识我们今天所说的 DevOps。 如果你是一个软件开发者,“基础架构即代码Infrastructure as Code”(IaC)可能是其中一个术语。IaC...

0
0
发表了博客
2020/07/27 21:23

Web3极客日报 #220

微信不支持外部链接,可以点击文章底部的阅读原文 ,方便阅读文中的链接,也可通过 http://daily.rebase.network/ 浏览每期日报内容。 1. Pulumi: 一款中立的开源云开发平台 @Shooter http://joeduffyblog.com/2019/09/05/journey-to-pulumi-1-0/ Pulumi ,一款中立的开源云开发平台,Pulumi 支持多语言、混合云环境、完全可扩展。初期支持 JavaScript、TypeScript、Python 和 Go 语言,支持 AWS、Azure、GCP 云平台,另外还支持...

0
0
2019/10/24 14:38

Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24

![file](https://oscimg.oschina.net/oscnet/c17fd2893040db35f234ab583f74a559f8a.jpg) 作者 | 木苏、进超、冬岛、元毅、心水、衷源 ## 业界要闻 1.[云原生编程语言 Pulumi 1.0](http://joeduffyblog.com/2019/09/05/journey-to-pulumi-1-0/) pulumi ,一款中立的开源云开发平台,Pulumi 支持多语言、混合云环境、完全可扩展。初期支持 JavaScript、TypeScript、Python 和 Go 语言,支持 AWS、Azure、GCP 云平台,另外还支持所...

0
0
发表了博客
2019/06/16 23:01

F#周报2019年第24期

新闻 ML.NET 1.1发布与模型构建器升级 .NET Core 3.0预览版6发布 尝试新的System.Text.Json API F#调用Infer.NET 匿名记录类型文档 了解FableConf的日程 Fabulous:添加Fabimals示例及手表上的Fabulous Websharper:MVU井字棋教程 追踪Linux上的.NET Core应用 Mac上的Visual Studio 2019 8.1版本 视频及幻灯片 事件溯源——介绍领域驱动设计 F#与Xamarin.Forms,与主要维护者之一的Tim Lariviere谈论Fabulous 尝试新的System.Te...

0
0
发表了博客
2019/04/10 10:10

Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24

作者 | 木苏、进超、冬岛、元毅、心水、衷源 业界要闻 1.云原生编程语言 Pulumi 1.0 pulumi ,一款中立的开源云开发平台,Pulumi 支持多语言、混合云环境、完全可扩展。初期支持 JavaScript、TypeScript、Python 和 Go 语言,支持 AWS、Azure、GCP 云平台,另外还支持所有兼容 Kubernetes 的公有云、私有云和混合云。Pulumi 实现了一种单一、一致的编程模型,一组编程工具,可管理所有以上环境,丰富的生态系统支持大量可复用的...

0
0
发表了博客
2019/04/14 23:06

F#周报2019年第15期

新闻 Hedgehog新站点 Bolero 0.4发布,增加远程认证 FsToolkit.ErrorHandling与Cvdm.ErrorHandling合并了 F#里的3D图形编程与游戏开发 有趣的3D——浏览器里F# 3D绘制 F# CNTK:变分自动编码器例子——从2D隐空间生成MNIST数字 在最近两个月中ASP.NET Core 3.0有着30%的性能提升 Rider 2019.1中的单元测试改进 Rider 2019.1中macOS与Linux的代码覆盖率 耳目一新的VS Code产品图标 视频及幻灯片 走向F# 5.0 由Don Syme组织的Par...

0
0
发表了博客
2020/07/29 13:56

(译)Kubespy:实时查看 Kubernetes 资源

一个 Pod 启动时会发生些什么?一个 Service 拿到公共 IP 之前又会干点啥?Deployment 的状态是怎么切换的? kubespy 是个小工具,能够轻松的实时查看 Kubernetes 集群里的资源变化。这一工具源自于 Pulumi CLI ,其中对 Kubernetes Deployment 的预测做出了一些常识。可以在任何时机运行 kubespy,它会持续对 Kubernetes 资源进行监控和报告,直到杀掉进程为止。 例如 kubespy trace deployment nginx 会对集群中名为 nginx 的...

0
0
2020/12/07 23:18

开源增长基准及增长速度最快的20个开源软件初创公司

作者:[Konstantin Vinogradov](https://runacap.com/people/konstantin-vinogradov/ "Konstantin Vinogradov") (Runa Capital | 符文资本) 译者:曹菁 原文链接:https://medium.com/runacapital/open-source-growth-benchmarks-and-the-20-fastest-growing-oss-startups-d3556a669fe6 以下为译文: 众所周知,风险投资人一般倾向于投资那些快速发展的初创公司,并且经常使用基准按照创业公司的成长情况对其进行分类。软件即服...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
1 评论
90 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部