pulumi

2025-12-11 0 780

基础架构作为任何编程语言中的代码

pulumi基础架构作为代码使用您已经知道和喜欢的编程语言,在任何体系结构和任何云上建立和部署基础架构的最简单方法。用您喜欢的语言和工具更快地代码和运输基础架构,并在任何地方嵌入IAC,并使用自动化API嵌入。

只需使用您喜欢的语言编写代码,并使用基础架构AS-CODE方法在AWS,Azure,Google Cloud Platform,Kubernetes和120多个提供商上pulumi准备并管理您的资源。跳过YAML,并使用您已经知道和喜欢的循环,功能,课程和包装管理等标准语言功能。

例如,创建三个Web服务器:

pulumi/aws\”);
const 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\”,
vpcSecurityGroupIds: [sg.id],
userData: `#!/bin/bash
echo \”Hello, World!\” > index.html
nohup python -m SimpleHTTPServer 80 &`,
});
}\”>

 const aws = require ( \"@ pulumi /aws\" ) ;
const 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\" ,
        vpcSecurityGroupIds : [ sg . id ] ,
        userData : `#!/bin/bash
            echo \"Hello, World!\" > index.html
            nohup python -m SimpleHTTPServer 80 &` ,
    } ) ;
}

或一个简单的无服务器计时器,该计时器每天上午8:30存档黑客新闻:

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.ycom*bina**tor.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();
});\”>

 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.ycom*bina**tor.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 /示例中的跨越容器,无服务器和基础架构。

pulumi是Apache 2.0许可证下的开源,支持许多语言和云,并且易于扩展。该仓库包含pulumi CLI,语言SDK和Core pulumi Engine,并且单个库中都有自己的存储库。

欢迎

  • 使用pulumi开始使用Pulumi :使用pulumi中的AWS,Azure,Google Cloud或Kubernetes中部署一个简单的应用程序。

  • 学习:遵循pulumi学习途径,通过真实的例子来学习最佳实践和建筑模式。

  • 示例:浏览许多语言,云和场景(包括容器,无服务器和基础架构)的几个示例。

  • 文档:了解pulumi概念,遵循用户指南,然后咨询参考文档。

  • 注册表:找到带有所需资源的pulumi软件包。将软件包直接安装到您的项目中,浏览API文档,然后开始构建。

  • 秘密管理:Tame Secrets在所有云基础架构以及pulumi Esc的应用程序中牢固地蔓延和配置复杂性。

  • pulumi路线图:审查即将到来的季度的计划工作,以及我们想到但尚未安排的问题的选择。

  • 社区懈怠:加入我们参加pulumi Community Slack。欢迎所有对话和问题。

  • Github讨论:提出问题或与pulumi分享您的建设。

入门

请参阅“启动指南”,以快速从您的平台和选择的云上开始使用pulumi 。

否则,以下步骤在几分钟内使用AWS无服务器lambdas演示了如何部署第一个pulumi程序:

  1. 安装

    要安装最新的pulumi版本,请运行以下内容(有关其他安装选项,请参见完整的安装说明):

    $ curl -fsSL https://get.pu***lumi.com/ | sh
  2. 创建一个项目

    安装后,您可以开始使用pulumi new命令:

    pulumi -demo
    $ pulumi new hello-aws-javascript\”>

    $ mkdir pulumi -demo && cd pulumi -demo
    $ pulumi new hello-aws-javascript

    new命令提供所有语言和云的模板。在没有参数的情况下运行它,它将提示您进行可用的项目。该命令创建了一个用JavaScript编写的AWS无服务器Lambda项目。

  3. 部署到云

    运行pulumi up以使您的代码进入云:

    $ pulumi up

    这使得运行代码所需的所有云资源。只需对您的项目进行编辑,然后随后的pulumi up S将计算最小的差异以部署更改。

  4. 使用您的程序

    现在,您的代码已部署,您可以与之进行交互。在上面的示例中,我们可以卷曲端点:

    $ curl $( pulumi stack output url )
  5. 访问日志

    如果您使用的是容器或功能, pulumi的统一记录命令将显示您的所有日志:

    $ pulumi logs -f
  6. 破坏您的资源

    完成后,您可以删除程序创建的所有资源:

    $ pulumi destroy -y

要了解更多信息,请前往pulumi .com获取更多信息,包括教程,示例以及核心pulumi CLI和编程模型概念的详细信息。

平台

语言

语言 地位 运行时 版本
JavaScript 稳定的 node.js 当前,主动和维护LTS版本
打字稿 稳定的 node.js 当前,主动和维护LTS版本
Python 稳定的 Python 支持版本
稳定的 支持版本
.net(c#/f#/vb.net) 稳定的 。网 支持版本
爪哇 稳定的 JDK 11+
yaml 稳定的 N/A。 N/A。

EOL发布

不再支持pulumi CLI V1和V2。如果您尚未运行V3,请考虑迁移到V3,以继续获得最新,最出色的pulumi提供! ?

  • 要从V2迁移到V3,请参阅我们的V3迁移指南。

请访问注册表以获取支持的云和基础架构提供商的完整列表。

贡献

访问pulumi 。

下载源码

通过命令行克隆项目:

git clone https://github.com/pulumi/pulumi.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 pulumi https://www.zuozi.net/34318.html

WaveFunctionCollapse
上一篇: WaveFunctionCollapse
SteamTools
下一篇: SteamTools
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务