Pulumi 架构即是代码开源项目

我要开发同款
匿名用户2019年08月09日
19阅读
所属分类Google Go、Serverless系统、云计算、Serverless 系统
授权协议Apache

作品详情

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

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

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

letaws=require("@pulumi/aws");letsg=newaws.ec2.SecurityGroup("web-sg",{ingress:[{protocol:"tcp",fromPort:80,toPort:80,cidrBlocks:["0.0.0.0/0"]}],});for(leti=0;i<3;i++){newaws.ec2.Instance(`web-${i}`,{ami:"ami-7172b611",instanceType:"t2.micro",securityGroups:[sg.name],userData:`#!/bin/bashecho"Hello,World!">index.htmlnohuppython-mSimpleHTTPServer80&`,});}

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

constaws=require("@pulumi/aws");constsnapshots=newaws.dynamodb.Table("snapshots",{attributes:[{name:"id",type:"S",}],hashKey:"id",billingMode:"PAY_PER_REQUEST",});aws.cloudwatch.onSchedule("daily-yc-snapshot","cron(308**?*)",()=>{require("https").get("https://news.ycombinator.com",res=>{letcontent="";res.setEncoding("utf8");res.on("data",chunk=>content+=chunk);res.on("end",()=>newaws.sdk.DynamoDB.DocumentClient().put({TableName:snapshots.name.get(),Item:{date:Date.now(),content},}).promise());}).end();});

更多的例子请看 pulumi/examples.

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

查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论